summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2008-06-16 16:54:47 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2008-06-16 16:54:47 +0000
commit9d99fe7a9c3dd831045bd9f3cba6067d672c129c (patch)
tree3db91934938ff4f536c47299cac39e85a64111a0
parent36919bdf64672376ad308aaadb0531caaf163aa9 (diff)
set an accurate error code on IdP if session wasn't reloaded
-rw-r--r--lasso/id-ff/login.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index fd37069b..e429f126 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -1276,6 +1276,11 @@ lasso_login_build_response_msg(LassoLogin *login, gchar *remote_providerID)
g_free(login->private_data->soap_request_msg);
login->private_data->soap_request_msg = NULL;
+ /* lasso_profile_set_session_from_dump has not been called */
+ if (profile->session == NULL) {
+ ret = LASSO_PROFILE_ERROR_SESSION_NOT_FOUND;
+ }
+
/* change status code into RequestDenied if signature is
* invalid or not found or if an error occurs during
* verification */
@@ -1284,7 +1289,7 @@ lasso_login_build_response_msg(LassoLogin *login, gchar *remote_providerID)
LASSO_SAML_STATUS_CODE_REQUEST_DENIED);
}
- if (profile->session && ret == 0) {
+ if (ret == 0) {
/* get assertion in session and add it in response */
LassoSamlAssertion *assertion;
LassoSamlpStatus *status;