diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-03-27 15:06:08 +0000 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-03-27 15:06:08 +0000 |
commit | 1b550a860624e3374948cc21e5d7a761619cb537 (patch) | |
tree | 4aec3626722bfe3e6892a8bfcced43e6fb7dbf72 | |
parent | 8100385979f3fe64531c35b52d5aa37b8ec0cb7e (diff) | |
download | lasso-1b550a860624e3374948cc21e5d7a761619cb537.tar.gz lasso-1b550a860624e3374948cc21e5d7a761619cb537.tar.xz lasso-1b550a860624e3374948cc21e5d7a761619cb537.zip |
XML SAML 2.0: Clean query string parsing/building
* lasso/xml/saml-2.0/samlp2_status_response.c:
- (init_from_query) remove useless stub code for parsing RelayState
* lasso/xml/saml-2.0/samlp2_response.c,
lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c,
lasso/xml/saml-2.0/samlp2_logout_response.c,
lasso/xml/saml-2.0/samlp2_manage_name_id_response.c, :
- (class_init) remove overloading of init_from_query, use version
from samlp2_status_response instead.
- (init_from_query) Useless so deleted.
* lasso/xml/saml-2.0/samlp2_request_abstract.c:
- (class_init) add overloaded method for init_from_query virtual
method.
- (init_from_query) generic implementation for SAML 2.0 requests
* lasso/xml/saml-2.0/samlp2_subject_query_abstract.c,
lasso/xml/saml-2.0/samlp2_authn_request.c,
lasso/xml/saml-2.0/samlp2_logout_request.c,
lasso/xml/saml-2.0/samlp2_manage_name_id_request.c,
lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c,
lasso/xml/saml-2.0/samlp2_assertion_id_request.c:
- (class_init) remove overloading of init_from_query, use version
from samlp2_request_abstract instead.
- (init_from_query) Useless so deleted.
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_assertion_id_request.c | 13 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_authn_request.c | 16 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_logout_request.c | 15 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_logout_response.c | 14 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_manage_name_id_request.c | 15 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_manage_name_id_response.c | 15 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c | 15 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c | 15 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_request_abstract.c | 7 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_response.c | 13 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_status_response.c | 10 | ||||
-rw-r--r-- | lasso/xml/saml-2.0/samlp2_subject_query_abstract.c | 15 |
12 files changed, 8 insertions, 155 deletions
diff --git a/lasso/xml/saml-2.0/samlp2_assertion_id_request.c b/lasso/xml/saml-2.0/samlp2_assertion_id_request.c index bb15de87..d10904c2 100644 --- a/lasso/xml/saml-2.0/samlp2_assertion_id_request.c +++ b/lasso/xml/saml-2.0/samlp2_assertion_id_request.c @@ -57,18 +57,6 @@ static struct XmlSnippet schema_snippets[] = { static LassoNodeClass *parent_class = NULL; -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -85,7 +73,6 @@ class_init(LassoSamlp2AssertionIDRequestClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "AssertionIDRequest"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_authn_request.c b/lasso/xml/saml-2.0/samlp2_authn_request.c index 4d0ade91..9d477df8 100644 --- a/lasso/xml/saml-2.0/samlp2_authn_request.c +++ b/lasso/xml/saml-2.0/samlp2_authn_request.c @@ -93,21 +93,6 @@ static struct XmlSnippet schema_snippets[] = { static LassoNodeClass *parent_class = NULL; -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - LassoSamlp2AuthnRequest *request = LASSO_SAMLP2_AUTHN_REQUEST(node); - - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - request->relayState = relay_state; - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -136,7 +121,6 @@ class_init(LassoSamlp2AuthnRequestClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "AuthnRequest"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_logout_request.c b/lasso/xml/saml-2.0/samlp2_logout_request.c index 82e15436..88b269c9 100644 --- a/lasso/xml/saml-2.0/samlp2_logout_request.c +++ b/lasso/xml/saml-2.0/samlp2_logout_request.c @@ -76,20 +76,6 @@ static struct XmlSnippet schema_snippets[] = { static LassoNodeClass *parent_class = NULL; -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - LassoSamlp2LogoutRequest *request = LASSO_SAMLP2_LOGOUT_REQUEST(node); - - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - request->relayState = relay_state; - } - return rc; -} - /*****************************************************************************/ /* instance and class init functions */ @@ -113,7 +99,6 @@ class_init(LassoSamlp2LogoutRequestClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "LogoutRequest"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_logout_response.c b/lasso/xml/saml-2.0/samlp2_logout_response.c index 88a72b98..2493c50f 100644 --- a/lasso/xml/saml-2.0/samlp2_logout_response.c +++ b/lasso/xml/saml-2.0/samlp2_logout_response.c @@ -51,19 +51,6 @@ static struct XmlSnippet schema_snippets[] = { static LassoNodeClass *parent_class = NULL; -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -80,7 +67,6 @@ class_init(LassoSamlp2LogoutResponseClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "LogoutResponse"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_manage_name_id_request.c b/lasso/xml/saml-2.0/samlp2_manage_name_id_request.c index 5e5657d3..bce57958 100644 --- a/lasso/xml/saml-2.0/samlp2_manage_name_id_request.c +++ b/lasso/xml/saml-2.0/samlp2_manage_name_id_request.c @@ -75,20 +75,6 @@ static struct XmlSnippet schema_snippets[] = { }; static LassoNodeClass *parent_class = NULL; - -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -109,7 +95,6 @@ class_init(LassoSamlp2ManageNameIDRequestClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "ManageNameIDRequest"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_manage_name_id_response.c b/lasso/xml/saml-2.0/samlp2_manage_name_id_response.c index 6e1c3cc9..0d81d3a7 100644 --- a/lasso/xml/saml-2.0/samlp2_manage_name_id_response.c +++ b/lasso/xml/saml-2.0/samlp2_manage_name_id_response.c @@ -47,20 +47,6 @@ static struct XmlSnippet schema_snippets[] = { }; static LassoNodeClass *parent_class = NULL; - -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -71,7 +57,6 @@ class_init(LassoSamlp2ManageNameIDResponseClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "ManageNameIDResponse"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c b/lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c index 4ea55c69..7024577c 100644 --- a/lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c +++ b/lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c @@ -69,20 +69,6 @@ static struct XmlSnippet schema_snippets[] = { }; static LassoNodeClass *parent_class = NULL; - -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -102,7 +88,6 @@ class_init(LassoSamlp2NameIDMappingRequestClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "NameIDMappingRequest"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c b/lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c index 49a647e4..f9a27723 100644 --- a/lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c +++ b/lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c @@ -61,20 +61,6 @@ static struct XmlSnippet schema_snippets[] = { }; static LassoNodeClass *parent_class = NULL; - -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -92,7 +78,6 @@ class_init(LassoSamlp2NameIDMappingResponseClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "NameIDMappingResponse"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); diff --git a/lasso/xml/saml-2.0/samlp2_request_abstract.c b/lasso/xml/saml-2.0/samlp2_request_abstract.c index e500bbd6..cecb4abb 100644 --- a/lasso/xml/saml-2.0/samlp2_request_abstract.c +++ b/lasso/xml/saml-2.0/samlp2_request_abstract.c @@ -91,6 +91,12 @@ static struct XmlSnippet schema_snippets[] = { static LassoNodeClass *parent_class = NULL; +static gboolean +init_from_query(LassoNode *node, char **query_fields) +{ + return lasso_node_init_from_saml2_query_fields(node, query_fields, NULL); +} + static gchar* build_query(LassoNode *node) { @@ -155,6 +161,7 @@ class_init(LassoSamlp2RequestAbstractClass *klass) parent_class = g_type_class_peek_parent(klass); nclass->build_query = build_query; + nclass->init_from_query = init_from_query; nclass->get_xmlNode = get_xmlNode; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "RequestAbstract"); diff --git a/lasso/xml/saml-2.0/samlp2_response.c b/lasso/xml/saml-2.0/samlp2_response.c index 62b32491..bfb6c997 100644 --- a/lasso/xml/saml-2.0/samlp2_response.c +++ b/lasso/xml/saml-2.0/samlp2_response.c @@ -64,18 +64,6 @@ static struct XmlSnippet schema_snippets[] = { static LassoNodeClass *parent_class = NULL; -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - static xmlNode* get_xmlNode(LassoNode *node, gboolean lasso_dump) { @@ -135,7 +123,6 @@ class_init(LassoSamlp2ResponseClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->get_xmlNode = get_xmlNode; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "Response"); diff --git a/lasso/xml/saml-2.0/samlp2_status_response.c b/lasso/xml/saml-2.0/samlp2_status_response.c index ab30ab68..c06946b9 100644 --- a/lasso/xml/saml-2.0/samlp2_status_response.c +++ b/lasso/xml/saml-2.0/samlp2_status_response.c @@ -116,17 +116,9 @@ build_query(LassoNode *node) static gboolean init_from_query(LassoNode *node, char **query_fields) { - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; + return lasso_node_init_from_saml2_query_fields(node, query_fields, NULL); } - - static xmlNode* get_xmlNode(LassoNode *node, gboolean lasso_dump) { diff --git a/lasso/xml/saml-2.0/samlp2_subject_query_abstract.c b/lasso/xml/saml-2.0/samlp2_subject_query_abstract.c index ef025de2..9c93ea87 100644 --- a/lasso/xml/saml-2.0/samlp2_subject_query_abstract.c +++ b/lasso/xml/saml-2.0/samlp2_subject_query_abstract.c @@ -57,20 +57,6 @@ static struct XmlSnippet schema_snippets[] = { }; static LassoNodeClass *parent_class = NULL; - -static gboolean -init_from_query(LassoNode *node, char **query_fields) -{ - gboolean rc; - char *relay_state = NULL; - rc = lasso_node_init_from_saml2_query_fields(node, query_fields, &relay_state); - if (rc && relay_state != NULL) { - /* XXX: support RelayState? */ - } - return rc; -} - - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -87,7 +73,6 @@ class_init(LassoSamlp2SubjectQueryAbstractClass *klass) LassoNodeClass *nclass = LASSO_NODE_CLASS(klass); parent_class = g_type_class_peek_parent(klass); - nclass->init_from_query = init_from_query; nclass->node_data = g_new0(LassoNodeClassData, 1); lasso_node_class_set_nodename(nclass, "SubjectQueryAbstract"); lasso_node_class_set_ns(nclass, LASSO_SAML2_PROTOCOL_HREF, LASSO_SAML2_PROTOCOL_PREFIX); |