diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-10-30 14:47:25 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-10-30 14:47:25 +0000 |
| commit | 5b0f7953b6268bdfed2ec50e01fa57f0c1a5a82a (patch) | |
| tree | cb6b6087a50954334479fddaa15e6a2224302cb8 | |
| parent | 9eb77cf9fe825b78aee1564cba994b2b4e1196f7 (diff) | |
SAML2: use the static get_provider helper method in generic profile methods
* lasso/saml-2.0/profile.c:
instead of accessing directly profile->server use the helper method
get_provider.
| -rw-r--r-- | lasso/saml-2.0/profile.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/lasso/saml-2.0/profile.c b/lasso/saml-2.0/profile.c index c4dbe6be..a6f585a2 100644 --- a/lasso/saml-2.0/profile.c +++ b/lasso/saml-2.0/profile.c @@ -512,7 +512,6 @@ lasso_saml20_profile_process_any_request(LassoProfile *profile, int rc = 0; LassoSaml2NameID *name_id = NULL; LassoProvider *remote_provider = NULL; - LassoServer *server = NULL; LassoSamlp2RequestAbstract *request_abstract = NULL; LassoMessageFormat format; xmlDoc *doc = NULL; @@ -550,17 +549,12 @@ lasso_saml20_profile_process_any_request(LassoProfile *profile, lasso_extract_node_or_fail(request_abstract, profile->request, SAMLP2_REQUEST_ABSTRACT, LASSO_PROFILE_ERROR_INVALID_MSG); - lasso_extract_node_or_fail(server, profile->server, SERVER, - LASSO_PROFILE_ERROR_MISSING_SERVER); lasso_extract_node_or_fail(name_id, request_abstract->Issuer, SAML2_NAME_ID, LASSO_PROFILE_ERROR_MISSING_ISSUER); lasso_assign_string(profile->remote_providerID, request_abstract->Issuer->content); - remote_provider = lasso_server_get_provider(server, profile->remote_providerID); - if (remote_provider == NULL) { - rc = LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND; - goto cleanup; - } + rc = get_provider(profile, &remote_provider); + goto_cleanup_if_fail(rc == 0); /* verify the signature at the request level */ if (content && doc && format != LASSO_MESSAGE_FORMAT_QUERY) { @@ -587,7 +581,6 @@ lasso_saml20_profile_process_soap_request(LassoProfile *profile, int rc = 0; LassoSaml2NameID *issuer = NULL; LassoProvider *remote_provider = NULL; - LassoServer *server = NULL; LassoSamlp2RequestAbstract *request_abstract = NULL; lasso_bad_param(PROFILE, profile); @@ -597,17 +590,12 @@ lasso_saml20_profile_process_soap_request(LassoProfile *profile, profile->http_request_method = LASSO_HTTP_METHOD_SOAP; lasso_extract_node_or_fail(request_abstract, profile->request, SAMLP2_REQUEST_ABSTRACT, LASSO_PROFILE_ERROR_INVALID_MSG); - lasso_extract_node_or_fail(server, profile->server, SERVER, - LASSO_PROFILE_ERROR_MISSING_SERVER); lasso_extract_node_or_fail(issuer, request_abstract->Issuer, SAML2_NAME_ID, LASSO_PROFILE_ERROR_MISSING_ISSUER); lasso_assign_string(profile->remote_providerID, issuer->content); - remote_provider = lasso_server_get_provider(server, profile->remote_providerID); - if (remote_provider == NULL) { - rc = LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND; - goto cleanup; - } + rc = get_provider(profile, &remote_provider); + goto_cleanup_if_fail(rc == 0); rc = profile->signature_status = lasso_provider_verify_signature( remote_provider, request_msg, "ID", LASSO_MESSAGE_FORMAT_SOAP); |
