summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-27 16:36:27 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-27 16:36:27 +0000
commita646c1bddb05e14a723ba352dc293ba6e9af1aff (patch)
tree605fd0b360b570999165b3d5d4545aa01e05e904
parent27d48289411090096aff5ffe117c8d212402b1c7 (diff)
*** empty log message ***
-rw-r--r--lasso/id-ff/logout.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index cbbdb4b8..139c844b 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -274,7 +274,18 @@ lasso_logout_build_response_msg(LassoLogout *logout)
profile->msg_body = lasso_node_export_to_soap(profile->response);
break;
case lassoHttpMethodRedirect:
- url = lasso_provider_get_singleLogoutServiceReturnURL(provider, profile->provider_type, NULL);
+ if (profile->provider_type == lassoProviderTypeSp) {
+ url = lasso_provider_get_singleLogoutServiceReturnURL(provider, lassoProviderTypeIdp, NULL);
+ }
+ else if (profile->provider_type == lassoProviderTypeIdp) {
+ url = lasso_provider_get_singleLogoutServiceReturnURL(provider, lassoProviderTypeSp, NULL);
+ }
+ else {
+ message(G_LOG_LEVEL_CRITICAL, "Invalid provider type\n");
+ ret = -1;
+ goto done;
+ }
+
if (url == NULL) {
message(G_LOG_LEVEL_CRITICAL, "Single logout service return url not found\n");
ret = -1;