summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-03-27 15:06:08 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-03-27 15:06:08 +0000
commit1b550a860624e3374948cc21e5d7a761619cb537 (patch)
tree4aec3626722bfe3e6892a8bfcced43e6fb7dbf72
parent8100385979f3fe64531c35b52d5aa37b8ec0cb7e (diff)
downloadlasso-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.c13
-rw-r--r--lasso/xml/saml-2.0/samlp2_authn_request.c16
-rw-r--r--lasso/xml/saml-2.0/samlp2_logout_request.c15
-rw-r--r--lasso/xml/saml-2.0/samlp2_logout_response.c14
-rw-r--r--lasso/xml/saml-2.0/samlp2_manage_name_id_request.c15
-rw-r--r--lasso/xml/saml-2.0/samlp2_manage_name_id_response.c15
-rw-r--r--lasso/xml/saml-2.0/samlp2_name_id_mapping_request.c15
-rw-r--r--lasso/xml/saml-2.0/samlp2_name_id_mapping_response.c15
-rw-r--r--lasso/xml/saml-2.0/samlp2_request_abstract.c7
-rw-r--r--lasso/xml/saml-2.0/samlp2_response.c13
-rw-r--r--lasso/xml/saml-2.0/samlp2_status_response.c10
-rw-r--r--lasso/xml/saml-2.0/samlp2_subject_query_abstract.c15
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);