diff options
author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-31 16:20:41 +0000 |
---|---|---|
committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-31 16:20:41 +0000 |
commit | 202ff8f70746fe3c95b2b946771a7120caacd6c1 (patch) | |
tree | 88a638646dd2071f7e164978ce0a4fa6770eaf34 /lasso/Attic | |
parent | 5ce17cc47026ffa2b878709830f72d3bd1e6e55c (diff) | |
download | lasso-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.c | 28 |
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; } |