summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-09-30 10:58:18 +0200
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-09-30 10:58:18 +0200
commit7386dc8189c25ee3654b9b3c41981c768c8eac5b (patch)
tree14d11585365e84c6c04588e7592cc36b1af708e5
parentb20552c417eaa99c3ae9a13460cb6b629c628d81 (diff)
downloadlasso-7386dc8189c25ee3654b9b3c41981c768c8eac5b.tar.gz
lasso-7386dc8189c25ee3654b9b3c41981c768c8eac5b.tar.xz
lasso-7386dc8189c25ee3654b9b3c41981c768c8eac5b.zip
[SAMLv2] when NidPolicy->Format is NULL or unspecified, return transient
Add more default cases.
-rw-r--r--lasso/saml-2.0/login.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lasso/saml-2.0/login.c b/lasso/saml-2.0/login.c
index 38209005..8ca47e7f 100644
--- a/lasso/saml-2.0/login.c
+++ b/lasso/saml-2.0/login.c
@@ -781,7 +781,10 @@ lasso_saml20_login_build_assertion(LassoLogin *login,
name_id_policy = authn_request->NameIDPolicy;
}
/* TRANSIENT */
- if (!name_id_policy || g_strcmp0(name_id_policy->Format,
+ if (!name_id_policy || name_id_policy->Format == NULL ||
+ g_strcmp0(name_id_policy->Format,
+ LASSO_SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED) ||
+ g_strcmp0(name_id_policy->Format,
LASSO_SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT) == 0) {
char *id = lasso_build_unique_id(32);