summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2008-12-16 16:40:33 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2008-12-16 16:40:33 +0000
commit9ee9e2b6fd304cf792f30857113e3e8876091a20 (patch)
tree597fc1e2286c31de87842b744c5ae0f3071c1c54
parent5a51211f40dd91872a4096a318fc61660bd21af7 (diff)
check in lasso_name_id_management_init_request if HTTP method is supported
-rw-r--r--lasso/saml-2.0/name_id_management.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/lasso/saml-2.0/name_id_management.c b/lasso/saml-2.0/name_id_management.c
index fe1ad0c0..4158f835 100644
--- a/lasso/saml-2.0/name_id_management.c
+++ b/lasso/saml-2.0/name_id_management.c
@@ -116,8 +116,19 @@ lasso_name_id_management_init_request(LassoNameIdManagement *name_id_management,
if (oldNameIdentifier != NULL)
g_object_unref(oldNameIdentifier);
- /* XXX: check HTTP method is supported */
-
+ /* check HTTP method is supported */
+ if (http_method != LASSO_HTTP_METHOD_ANY &&
+ lasso_saml20_provider_accept_http_method(
+ LASSO_PROVIDER(profile->server),
+ remote_provider,
+ LASSO_MD_PROTOCOL_TYPE_MANAGE_NAME_ID,
+ http_method,
+ TRUE
+ ) == FALSE) {
+ return LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE;
+ }
+
+ /* create request */
profile->request = lasso_samlp2_manage_name_id_request_new();
request = LASSO_SAMLP2_REQUEST_ABSTRACT(profile->request);