summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-03-07 15:59:27 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-03-07 15:59:27 +0000
commitc40e823deca6ecf89062df4a6de6183eb722af83 (patch)
tree83cb8ab5c8d3013e80aae4318899d05247171e2b
parent1e26b90df992d2b5c2703442f41c2ec40cc46dd5 (diff)
downloadlasso-c40e823deca6ecf89062df4a6de6183eb722af83.tar.gz
lasso-c40e823deca6ecf89062df4a6de6183eb722af83.tar.xz
lasso-c40e823deca6ecf89062df4a6de6183eb722af83.zip
return LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND in
lasso_login_process_authn_response_msg when liberty status is samlp:Responder/lib:FederationDoesNotExist
-rw-r--r--lasso/id-ff/login.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index b361e735..e91bea4f 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -410,6 +410,17 @@ lasso_login_process_response_status_and_assertion(LassoLogin *login)
if (status_value && strcmp(status_value, LASSO_SAML_STATUS_CODE_SUCCESS) != 0) {
if (strcmp(status_value, LASSO_SAML_STATUS_CODE_REQUEST_DENIED) == 0)
return LASSO_LOGIN_ERROR_REQUEST_DENIED;
+ if (strcmp(status_value, LASSO_SAML_STATUS_CODE_RESPONDER) == 0) {
+ /* samlp:Responder */
+ if (response->Status->StatusCode->StatusCode &&
+ response->Status->StatusCode->StatusCode->Value) {
+ status_value = response->Status->StatusCode->StatusCode->Value;
+ if (strcmp(status_value,
+ LASSO_LIB_STATUS_CODE_FEDERATION_DOES_NOT_EXIST) == 0) {
+ return LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND;
+ }
+ }
+ }
return LASSO_LOGIN_ERROR_STATUS_NOT_SUCCESS;
}