summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-15 10:37:43 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-02-15 10:37:43 +0000
commit3791c7d2ae0def0b758bb88835e3c49c078297f2 (patch)
treea469972da1a9233bc1ac287480d309b46ac467f0
parent7041018303beb78b570e4b920349a159d04af596 (diff)
ID-WSF 2.0: in lasso_login_idwsf2_add_discovery_bootstrap_epr, initialize ID and Issuer property on bootstrap assertion.
* lasso/id-wsf-2.0/saml2_login.c: initialization of ID and Issuer properties was missing.
-rw-r--r--lasso/id-wsf-2.0/saml2_login.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lasso/id-wsf-2.0/saml2_login.c b/lasso/id-wsf-2.0/saml2_login.c
index d236916b..541abff8 100644
--- a/lasso/id-wsf-2.0/saml2_login.c
+++ b/lasso/id-wsf-2.0/saml2_login.c
@@ -43,6 +43,7 @@
#include "../xml/saml-2.0/saml2_attribute_value.h"
#include "../xml/saml-2.0/samlp2_response.h"
#include "./idwsf2_helper.h"
+#include "../xml/private.h"
/**
@@ -96,6 +97,8 @@ lasso_login_idwsf2_add_discovery_bootstrap_epr(LassoLogin *login, const char *ur
/* Security/Identity token */
assertion_identity_token = LASSO_SAML2_ASSERTION(lasso_saml2_assertion_new());
+ assertion_identity_token->ID = lasso_build_unique_id(32);
+ assertion_identity_token->Issuer = (LassoSaml2NameID*)lasso_saml2_name_id_new_with_string(server->parent.ProviderID);
lasso_assign_gobject(assertion_identity_token->Subject,
assertion->Subject);
lasso_saml2_assertion_set_basic_conditions(assertion_identity_token,
@@ -103,9 +106,8 @@ lasso_login_idwsf2_add_discovery_bootstrap_epr(LassoLogin *login, const char *ur
/* Do we sign the assertion ? */
if (lasso_security_mech_id_is_saml_authentication(security_mech_id) || lasso_security_mech_id_is_bearer_authentication(security_mech_id)) {
- rc = lasso_server_saml2_assertion_setup_signature(login->parent.server,
- assertion_identity_token);
- goto_cleanup_if_fail_with_rc(rc != 0, rc);
+ lasso_check_good_rc(lasso_server_saml2_assertion_setup_signature(login->parent.server,
+ assertion_identity_token));
}
rc = lasso_wsa_endpoint_reference_add_security_token(epr, (LassoNode*)assertion_identity_token, security_mechanisms);