summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-01-12 15:40:12 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-01-12 15:40:12 +0000
commit63206b32f27199fd6be41b401dbbc6bcd044e419 (patch)
tree0748d6ef09f2d3b1dce88354ae6dbd11856b1fda
parent39eba085a54a515cdac1c48cabd4138840316d4b (diff)
downloadlasso-63206b32f27199fd6be41b401dbbc6bcd044e419.tar.gz
lasso-63206b32f27199fd6be41b401dbbc6bcd044e419.tar.xz
lasso-63206b32f27199fd6be41b401dbbc6bcd044e419.zip
in saml-2.0/profile.c, in lasso_saml20_build_response_msg, when no url is given, only stop for bindings needing one
-rw-r--r--lasso/saml-2.0/profile.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/lasso/saml-2.0/profile.c b/lasso/saml-2.0/profile.c
index 7bf91da0..55406b30 100644
--- a/lasso/saml-2.0/profile.c
+++ b/lasso/saml-2.0/profile.c
@@ -1137,14 +1137,19 @@ lasso_saml20_profile_build_response_msg(LassoProfile *profile, char *service,
made_url = url = get_response_url(provider, service, http_method_to_binding(method));
}
- switch (method) {
- case LASSO_HTTP_METHOD_POST:
- case LASSO_HTTP_METHOD_REDIRECT:
- case LASSO_HTTP_METHOD_ARTIFACT_GET:
- case LASSO_HTTP_METHOD_ARTIFACT_POST:
- goto_cleanup_with_rc(critical_error(LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL));
- default:
- break;
+ /* only asynchronous bindings needs an URL for the response, SOAP does not need it, and PAOS
+ * is special (response is a SOAP request !?! ) */
+ if (! url) {
+ switch (method) {
+ case LASSO_HTTP_METHOD_POST:
+ case LASSO_HTTP_METHOD_REDIRECT:
+ case LASSO_HTTP_METHOD_ARTIFACT_GET:
+ case LASSO_HTTP_METHOD_ARTIFACT_POST:
+ case LASSO_HTTP_METHOD_PAOS:
+ goto_cleanup_with_rc(critical_error(LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL));
+ default:
+ break;
+ }
}
switch (method) {