summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-10-30 14:47:25 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-10-30 14:47:25 +0000
commit5b0f7953b6268bdfed2ec50e01fa57f0c1a5a82a (patch)
treecb6b6087a50954334479fddaa15e6a2224302cb8
parent9eb77cf9fe825b78aee1564cba994b2b4e1196f7 (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.c20
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);