summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-27 16:43:31 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-27 16:43:31 +0000
commit0791ef056f421368f4a8079d17ccf96cbbfbd8d5 (patch)
treeea7ff6b66e7e90d09199f9a77e3e08566ca80c48
parenta646c1bddb05e14a723ba352dc293ba6e9af1aff (diff)
downloadlasso-0791ef056f421368f4a8079d17ccf96cbbfbd8d5.tar.gz
lasso-0791ef056f421368f4a8079d17ccf96cbbfbd8d5.tar.xz
lasso-0791ef056f421368f4a8079d17ccf96cbbfbd8d5.zip
*** empty log message ***
-rw-r--r--lasso/id-ff/logout.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index 139c844b..9c8542bd 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -851,11 +851,25 @@ lasso_logout_validate_request(LassoLogout *logout)
profile->remote_providerID = remote_providerID;
/* Set LogoutResponse */
- profile->response = lasso_logout_response_new(profile->server->providerID,
- lassoSamlStatusCodeSuccess,
- profile->request,
- lassoSignatureTypeWithX509,
- lassoSignatureMethodRsaSha1);
+ if (profile->http_request_method == lassoHttpMethodSoap) {
+ profile->response = lasso_logout_response_new(profile->server->providerID,
+ lassoSamlStatusCodeSuccess,
+ profile->request,
+ lassoSignatureTypeWithX509,
+ lassoSignatureMethodRsaSha1);
+ }
+ else if (profile->http_request_method == lassoHttpMethodRedirect) {
+ profile->response = lasso_logout_response_new(profile->server->providerID,
+ lassoSamlStatusCodeSuccess,
+ profile->request,
+ lassoSignatureTypeNone,
+ 0);
+ }
+ else {
+ message(G_LOG_LEVEL_CRITICAL, "Invalid HTTP request method\n");
+ ret = -1;
+ goto done;
+ }
if (profile->response == NULL) {
message(G_LOG_LEVEL_CRITICAL, "Error while building response\n");
ret = -1;