diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-27 16:43:31 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-27 16:43:31 +0000 |
| commit | 0791ef056f421368f4a8079d17ccf96cbbfbd8d5 (patch) | |
| tree | ea7ff6b66e7e90d09199f9a77e3e08566ca80c48 | |
| parent | a646c1bddb05e14a723ba352dc293ba6e9af1aff (diff) | |
| download | lasso-0791ef056f421368f4a8079d17ccf96cbbfbd8d5.tar.gz lasso-0791ef056f421368f4a8079d17ccf96cbbfbd8d5.tar.xz lasso-0791ef056f421368f4a8079d17ccf96cbbfbd8d5.zip | |
*** empty log message ***
| -rw-r--r-- | lasso/id-ff/logout.c | 24 |
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; |
