summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2006-11-15 18:58:26 +0000
committerFrederic Peters <fpeters@entrouvert.com>2006-11-15 18:58:26 +0000
commitda904e0bb3e7ffb9c4ca04008d4decc10c3d8a0e (patch)
treedfe2f12304feccd9e3b909f2fb3ebf2a8df40c9b
parent8a331ac747c43560857a8c918682b5650e4e1a1f (diff)
downloadlasso-da904e0bb3e7ffb9c4ca04008d4decc10c3d8a0e.tar.gz
lasso-da904e0bb3e7ffb9c4ca04008d4decc10c3d8a0e.tar.xz
lasso-da904e0bb3e7ffb9c4ca04008d4decc10c3d8a0e.zip
binding for SAML2 binding uri; and fixed SAML20 to SAML2 for coherence
-rw-r--r--lasso/id-ff/provider.c2
-rw-r--r--lasso/saml-2.0/login.c6
-rw-r--r--lasso/saml-2.0/provider.c10
-rw-r--r--lasso/xml/strings.h12
-rw-r--r--swig/Lasso-saml2.i15
-rw-r--r--swig/saml-2.0/samlp2_authn_request.i3
6 files changed, 33 insertions, 15 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c
index bbe9693d..aab568ea 100644
--- a/lasso/id-ff/provider.c
+++ b/lasso/id-ff/provider.c
@@ -618,7 +618,7 @@ lasso_provider_load_metadata(LassoProvider *provider, const gchar *metadata)
provider->metadata_filename = g_strdup(metadata);
- if (strcmp((char*)node->ns->href, LASSO_SAML20_METADATA_HREF) == 0) {
+ if (strcmp((char*)node->ns->href, LASSO_SAML2_METADATA_HREF) == 0) {
provider->private_data->conformance = LASSO_PROTOCOL_SAML_2_0;
return lasso_saml20_provider_load_metadata(provider, node);
}
diff --git a/lasso/saml-2.0/login.c b/lasso/saml-2.0/login.c
index f6f212c7..806332bb 100644
--- a/lasso/saml-2.0/login.c
+++ b/lasso/saml-2.0/login.c
@@ -245,11 +245,11 @@ lasso_saml20_login_process_authn_request_msg(LassoLogin *login, const char *auth
} else if (strcmp(binding, "SOAP") == 0) {
login->protocolProfile = LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_LECP;
}
- } else if (strcmp(protocol_binding, LASSO_SAML20_METADATA_BINDING_ARTIFACT) == 0) {
+ } else if (strcmp(protocol_binding, LASSO_SAML2_METADATA_BINDING_ARTIFACT) == 0) {
login->protocolProfile = LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_ART;
- } else if (strcmp(protocol_binding, LASSO_SAML20_METADATA_BINDING_POST) == 0) {
+ } else if (strcmp(protocol_binding, LASSO_SAML2_METADATA_BINDING_POST) == 0) {
login->protocolProfile = LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_POST;
- } else if (strcmp(protocol_binding, LASSO_SAML20_METADATA_BINDING_SOAP) == 0) {
+ } else if (strcmp(protocol_binding, LASSO_SAML2_METADATA_BINDING_SOAP) == 0) {
login->protocolProfile = LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_LECP;
} else {
message(G_LOG_LEVEL_CRITICAL,
diff --git a/lasso/saml-2.0/provider.c b/lasso/saml-2.0/provider.c
index bb702017..ced8a9e2 100644
--- a/lasso/saml-2.0/provider.c
+++ b/lasso/saml-2.0/provider.c
@@ -71,15 +71,15 @@ load_descriptor(xmlNode *xmlnode, GHashTable *descriptor, LassoProvider *provide
if (binding) {
/* Endpoint type */
char *binding_s = NULL;
- if (strcmp(binding, LASSO_SAML20_METADATA_BINDING_SOAP) == 0) {
+ if (strcmp(binding, LASSO_SAML2_METADATA_BINDING_SOAP) == 0) {
binding_s = "SOAP";
- } else if (strcmp(binding, LASSO_SAML20_METADATA_BINDING_REDIRECT) == 0) {
+ } else if (strcmp(binding, LASSO_SAML2_METADATA_BINDING_REDIRECT) == 0) {
binding_s = "HTTP-Redirect";
- } else if (strcmp(binding, LASSO_SAML20_METADATA_BINDING_POST) == 0) {
+ } else if (strcmp(binding, LASSO_SAML2_METADATA_BINDING_POST) == 0) {
binding_s = "HTTP-POST";
- } else if (strcmp(binding, LASSO_SAML20_METADATA_BINDING_ARTIFACT) == 0) {
+ } else if (strcmp(binding, LASSO_SAML2_METADATA_BINDING_ARTIFACT) == 0) {
binding_s = "HTTP-Artifact";
- } else if (strcmp(binding, LASSO_SAML20_METADATA_BINDING_PAOS) == 0) {
+ } else if (strcmp(binding, LASSO_SAML2_METADATA_BINDING_PAOS) == 0) {
binding_s = "PAOS";
} else {
message(G_LOG_LEVEL_CRITICAL, "XXX: unknown binding: %s", binding);
diff --git a/lasso/xml/strings.h b/lasso/xml/strings.h
index 22a4a5cb..39ba162b 100644
--- a/lasso/xml/strings.h
+++ b/lasso/xml/strings.h
@@ -328,13 +328,13 @@
/* SAML 2.0 */
/*****************************************************************************/
-#define LASSO_SAML20_METADATA_HREF "urn:oasis:names:tc:SAML:2.0:metadata"
+#define LASSO_SAML2_METADATA_HREF "urn:oasis:names:tc:SAML:2.0:metadata"
-#define LASSO_SAML20_METADATA_BINDING_SOAP "urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
-#define LASSO_SAML20_METADATA_BINDING_REDIRECT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
-#define LASSO_SAML20_METADATA_BINDING_POST "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
-#define LASSO_SAML20_METADATA_BINDING_ARTIFACT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
-#define LASSO_SAML20_METADATA_BINDING_PAOS "urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
+#define LASSO_SAML2_METADATA_BINDING_SOAP "urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+#define LASSO_SAML2_METADATA_BINDING_REDIRECT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+#define LASSO_SAML2_METADATA_BINDING_POST "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+#define LASSO_SAML2_METADATA_BINDING_ARTIFACT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
+#define LASSO_SAML2_METADATA_BINDING_PAOS "urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
#define LASSO_SAML2_PROTOCOL_HREF "urn:oasis:names:tc:SAML:2.0:protocol"
#define LASSO_SAML2_PROTOCOL_PREFIX "samlp"
diff --git a/swig/Lasso-saml2.i b/swig/Lasso-saml2.i
index e800aaad..517aa05d 100644
--- a/swig/Lasso-saml2.i
+++ b/swig/Lasso-saml2.i
@@ -20,6 +20,21 @@ gboolean lasso_profile_is_saml_query(char *query);
#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT \
"urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
+/* Protocol Bindings */
+#ifndef SWIGPHP4
+%rename(SAML2_METADATA_BINDING_SOAP) LASSO_SAML2_METADATA_BINDING_SOAP;
+%rename(SAML2_METADATA_BINDING_REDIRECT) LASSO_SAML2_METADATA_BINDING_REDIRECT;
+%rename(SAML2_METADATA_BINDING_POST) LASSO_SAML2_METADATA_BINDING_POST;
+%rename(SAML2_METADATA_BINDING_ARTIFACT) LASSO_SAML2_METADATA_BINDING_ARTIFACT;
+%rename(SAML2_METADATA_BINDING_PAOS) LASSO_SAML2_METADATA_BINDING_PAOS;
+#endif
+#define LASSO_SAML2_METADATA_BINDING_SOAP "urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
+#define LASSO_SAML2_METADATA_BINDING_REDIRECT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+#define LASSO_SAML2_METADATA_BINDING_POST "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+#define LASSO_SAML2_METADATA_BINDING_ARTIFACT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
+#define LASSO_SAML2_METADATA_BINDING_PAOS "urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
+
+
/* AuthnClassRef */
#ifndef SWIGPHP4
%rename(SAML2_AUTHN_CONTEXT_AUTHENTICATED_TELEPHONY) \
diff --git a/swig/saml-2.0/samlp2_authn_request.i b/swig/saml-2.0/samlp2_authn_request.i
index a0b4193c..bc2b653a 100644
--- a/swig/saml-2.0/samlp2_authn_request.i
+++ b/swig/saml-2.0/samlp2_authn_request.i
@@ -11,6 +11,9 @@ typedef struct {
%rename(isPassive) IsPassive;
#endif
gboolean IsPassive;
+#ifndef SWIGPHP4
+ %rename(protocolBinding) ProtocolBinding;
+#endif
char *ProtocolBinding;
#ifndef SWIGPHP4
%rename(assertionConsumerServiceIndex) AssertionConsumerServiceIndex;