summaryrefslogtreecommitdiffstats
path: root/lasso
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2008-09-23 15:15:39 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2008-09-23 15:15:39 +0000
commitd8f2c4f31e1dd4ab7c9d79d81ce163ed832ee5ff (patch)
treebe002f0e99638b91e0a9694c432393e222e129d7 /lasso
parent152ec6d42e639266000c9a4ea2da1cc920f7df78 (diff)
downloadlasso-d8f2c4f31e1dd4ab7c9d79d81ce163ed832ee5ff.tar.gz
lasso-d8f2c4f31e1dd4ab7c9d79d81ce163ed832ee5ff.tar.xz
lasso-d8f2c4f31e1dd4ab7c9d79d81ce163ed832ee5ff.zip
If ProviderID isn't found in an AuthnResponse, immediately return a critical error
Diffstat (limited to 'lasso')
-rw-r--r--lasso/id-ff/login.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index 09570790..44f2048e 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -1782,7 +1782,6 @@ lasso_login_process_authn_request_msg(LassoLogin *login, const char *authn_reque
gint
lasso_login_process_authn_response_msg(LassoLogin *login, gchar *authn_response_msg)
{
- gint ret1 = 0, ret2 = 0;
LassoMessageFormat format;
LassoProvider *remote_provider;
LassoProfile *profile;
@@ -1813,7 +1812,7 @@ lasso_login_process_authn_response_msg(LassoLogin *login, gchar *authn_response_
LASSO_LIB_AUTHN_RESPONSE(profile->response)->ProviderID);
if (profile->remote_providerID == NULL) {
- ret1 = critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND);
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND);
}
remote_provider = g_hash_table_lookup(profile->server->providers,
@@ -1826,11 +1825,11 @@ lasso_login_process_authn_response_msg(LassoLogin *login, gchar *authn_response_
profile->signature_status = lasso_provider_verify_signature(
remote_provider, authn_response_msg, "ResponseID", format);
- ret2 = lasso_login_process_response_status_and_assertion(login);
+
+ return lasso_login_process_response_status_and_assertion(login);
/* XXX: and what about signature_status ? Shouldn't it return error on
* failure ? */
- return ret2 == 0 ? ret1 : ret2;
}