summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-07-11 14:44:51 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-07-11 14:44:51 +0000
commit064a0f1543fdbfed7783cbf78383f67d60a5a71e (patch)
tree52430427081d045e611cc67d0c96443c98041f5b
parentdcf7a0ddb5f93ebb845d6a584b322f889b180b74 (diff)
downloadlasso-064a0f1543fdbfed7783cbf78383f67d60a5a71e.tar.gz
lasso-064a0f1543fdbfed7783cbf78383f67d60a5a71e.tar.xz
lasso-064a0f1543fdbfed7783cbf78383f67d60a5a71e.zip
fix
-rw-r--r--lasso/id-ff/logout.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index f363a1d3..60a0b016 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -93,6 +93,7 @@ lasso_logout_build_response_msg(LassoLogout *logout)
profileContext = LASSO_PROFILE_CONTEXT(logout);
+ printf("remote provider id : %s\n", profileContext->remote_providerID);
provider = lasso_server_get_provider(profileContext->server, profileContext->remote_providerID);
if(provider==NULL){
debug(ERROR, "Provider %s not found\n", profileContext->remote_providerID);
@@ -106,7 +107,7 @@ lasso_logout_build_response_msg(LassoLogout *logout)
}
if(xmlStrEqual(protocolProfile, lassoLibProtocolProfileSloSpSoap) || xmlStrEqual(protocolProfile, lassoLibProtocolProfileSloIdpSoap)){
- debug(DEBUG, "building a http get response message\n");
+ debug(DEBUG, "building a soap response message\n");
profileContext->msg_url = lasso_provider_get_singleLogoutServiceURL(provider);
profileContext->msg_body = lasso_node_export_to_soap(profileContext->response);
}
@@ -140,7 +141,6 @@ lasso_logout_init_request(LassoLogout *logout,
profileContext->remote_providerID = remote_providerID;
/* get identity */
- printf("%s\n", profileContext->remote_providerID);
identity = lasso_user_get_identity(profileContext->user, profileContext->remote_providerID);
if(identity==NULL){
debug(ERROR, "error, identity not found\n");
@@ -195,9 +195,11 @@ lasso_logout_handle_request_msg(LassoLogout *logout,
switch(request_method){
case lassoHttpMethodSoap:
+ debug(DEBUG, "build a logout request from soap msg\n");
profileContext->request = lasso_logout_request_new_from_soap(request_msg);
break;
case lassoHttpMethodRedirect:
+ debug(DEBUG, "build a logout request from query msg\n");
profileContext->request = lasso_logout_request_new_from_query(request_msg);
break;
case lassoHttpMethodGet:
@@ -208,6 +210,11 @@ lasso_logout_handle_request_msg(LassoLogout *logout,
return(-1);
}
+ /* set the remote provider id from the request */
+ remote_providerID = lasso_node_get_child_content(profileContext->request, "ProviderID", NULL);
+ profileContext->remote_providerID = remote_providerID;
+ debug(DEBUG, "build a response to %s\n", profileContext->remote_providerID);
+
/* set LogoutResponse */
profileContext->response = lasso_logout_response_new(lasso_provider_get_providerID(LASSO_PROVIDER(profileContext->server)),
lassoSamlStatusCodeSuccess,