diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-30 12:18:52 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-30 12:18:52 +0000 |
| commit | df435e4254dcce573652fc4852bc5f607193a422 (patch) | |
| tree | 54ccfb68510bc4a183c58df14cf46eebf4174350 | |
| parent | d13e4d56ac9fbfd9ee5ab89cbdaab4058c49ab85 (diff) | |
| download | lasso-df435e4254dcce573652fc4852bc5f607193a422.tar.gz lasso-df435e4254dcce573652fc4852bc5f607193a422.tar.xz lasso-df435e4254dcce573652fc4852bc5f607193a422.zip | |
Added parsing of status code value in lasso_logout_response_new_from_query(). Now it sets the Status, StatusCode and his Value attribute in logoutResponse
| -rw-r--r-- | lasso/Attic/protocols/logout_response.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lasso/Attic/protocols/logout_response.c b/lasso/Attic/protocols/logout_response.c index eec8b984..c2ff76bc 100644 --- a/lasso/Attic/protocols/logout_response.c +++ b/lasso/Attic/protocols/logout_response.c @@ -180,8 +180,8 @@ lasso_logout_response_new_from_dump(gchar *buffer) LassoNode * lasso_logout_response_new_from_query(gchar *query) { - LassoNode *response; - xmlChar *relayState; + LassoNode *response, *ss, *ssc; + xmlChar *relayState, *statusCodeValue; GData *gd; response = LASSO_NODE(g_object_new(LASSO_TYPE_LOGOUT_RESPONSE, NULL)); @@ -216,6 +216,20 @@ lasso_logout_response_new_from_query(gchar *query) lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response), lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ProviderID"), 0)); + /* StatusCode */ + statusCodeValue = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "Value"), 0); + ss = lasso_samlp_status_new(); + ssc = lasso_samlp_status_code_new(); + lasso_samlp_status_code_set_value(LASSO_SAMLP_STATUS_CODE(ssc), + statusCodeValue); + lasso_samlp_status_set_statusCode(LASSO_SAMLP_STATUS(ss), + LASSO_SAMLP_STATUS_CODE(ssc)); + lasso_lib_status_response_set_status(LASSO_LIB_STATUS_RESPONSE(response), + LASSO_SAMLP_STATUS(ss)); + lasso_node_destroy(ssc); + lasso_node_destroy(ss); + + /* RelayState */ relayState = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RelayState"), 0); if (relayState != NULL) |
