From 0791ef056f421368f4a8079d17ccf96cbbfbd8d5 Mon Sep 17 00:00:00 2001 From: Nicolas Clapies Date: Fri, 27 Aug 2004 16:43:31 +0000 Subject: *** empty log message *** --- lasso/id-ff/logout.c | 24 +++++++++++++++++++----- 1 file 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; -- cgit