summaryrefslogtreecommitdiffstats
path: root/lasso/Attic
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-31 16:20:41 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-31 16:20:41 +0000
commit202ff8f70746fe3c95b2b946771a7120caacd6c1 (patch)
tree88a638646dd2071f7e164978ce0a4fa6770eaf34 /lasso/Attic
parent5ce17cc47026ffa2b878709830f72d3bd1e6e55c (diff)
downloadlasso-202ff8f70746fe3c95b2b946771a7120caacd6c1.tar.gz
lasso-202ff8f70746fe3c95b2b946771a7120caacd6c1.tar.xz
lasso-202ff8f70746fe3c95b2b946771a7120caacd6c1.zip
fixed bug in lasso_logout_dump() and lasso_logout_new_from_dump()
Diffstat (limited to 'lasso/Attic')
-rw-r--r--lasso/Attic/protocols/logout_request.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/lasso/Attic/protocols/logout_request.c b/lasso/Attic/protocols/logout_request.c
index 8b7a8ffe..0f769107 100644
--- a/lasso/Attic/protocols/logout_request.c
+++ b/lasso/Attic/protocols/logout_request.c
@@ -170,7 +170,6 @@ lasso_logout_request_new_from_query(gchar *query)
/* MajorVersion */
str = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MajorVersion"), 0);
-
lasso_samlp_request_abstract_set_majorVersion(LASSO_SAMLP_REQUEST_ABSTRACT(request), str);
if (str == NULL) {
g_datalist_clear(&gd);
@@ -275,6 +274,29 @@ lasso_logout_request_new_from_soap(gchar *buffer)
return(request);
}
+static LassoNode *
+lasso_logout_request_new_from_xml(gchar *buffer)
+{
+ LassoNode *request;
+ LassoNode *logout_request_node, *lassoNode_request;
+ xmlNodePtr xmlNode_request;
+ LassoNodeClass *class;
+
+ request = LASSO_NODE(g_object_new(LASSO_TYPE_LOGOUT_REQUEST, NULL));
+
+ lassoNode_request = lasso_node_new_from_dump(buffer);
+ class = LASSO_NODE_GET_CLASS(lassoNode_request);
+ xmlNode_request = xmlCopyNode(class->get_xmlNode(LASSO_NODE(lassoNode_request)), 1);
+ lasso_node_destroy(lassoNode_request);
+
+ class = LASSO_NODE_GET_CLASS(request);
+ class->set_xmlNode(LASSO_NODE(request), xmlNode_request);
+
+ lasso_node_destroy(lassoNode_request);
+
+ return(request);
+}
+
LassoNode*
lasso_logout_request_new_from_export(gchar *buffer,
@@ -291,7 +313,11 @@ lasso_logout_request_new_from_export(gchar *buffer,
case lassoNodeExportTypeSoap:
request = lasso_logout_request_new_from_soap(buffer);
break;
+ case lassoNodeExportTypeXml:
+ request = lasso_logout_request_new_from_xml(buffer);
+ break;
default:
+ message(G_LOG_LEVEL_CRITICAL, "Unsupported export type\n");
break;
}