diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-09-01 16:49:17 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-09-01 16:49:17 +0000 |
| commit | b67da551e762b2a161d35f9c67d412505604c598 (patch) | |
| tree | 30da28713bac93d12f8a50d5c69fde35ec72cdc0 | |
| parent | eb9391ec2da2032ed0e169d6badffdfcaf09cb09 (diff) | |
Removed lasso_session_remove_assertion() in lasso_logout_init_request() at IDP with HTTP Redirect method, added remove of assertion if at IDP and HTTP redirect
| -rw-r--r-- | lasso/id-ff/logout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 537d040c..897f25b1 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -527,7 +527,7 @@ lasso_logout_init_request(LassoLogout *logout, profile->nameIdentifier = content; /* if logout request from a SP and if an HTTP Redirect / GET method, then remove assertion */ - if (is_http_redirect_get_method == TRUE) { + if (profile->provider_type == lassoProviderTypeSp && is_http_redirect_get_method == TRUE) { lasso_session_remove_assertion(profile->session, profile->remote_providerID); } @@ -761,7 +761,7 @@ lasso_logout_process_response_msg(LassoLogout *logout, profile->msg_relayState = lasso_node_get_child_content(profile->response, "RelayState", lassoLibHRef, NULL); /* Only if SOAP method, then remove assertion */ - if (response_method == lassoHttpMethodSoap) { + if ( (response_method == lassoHttpMethodSoap) || (profile->provider_type == lassoProviderTypeIdp && response_method == lassoHttpMethodRedirect) ) { lasso_session_remove_assertion(profile->session, profile->remote_providerID); if (profile->provider_type == lassoProviderTypeIdp && logout->providerID_index > 0) { logout->providerID_index--; @@ -805,6 +805,8 @@ lasso_logout_process_response_msg(LassoLogout *logout, **/ gint lasso_logout_reset_providerID_index(LassoLogout *logout) { + g_return_val_if_fail(LASSO_IS_LOGOUT(logout), -1); + logout->providerID_index = 0; return 0; |
