diff options
author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-09-20 14:12:53 +0000 |
---|---|---|
committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-09-20 14:12:53 +0000 |
commit | 38ebd2003d60724abe1923311fc9060d6c56cf27 (patch) | |
tree | 4dd17ecb55162ac108442ad05413eacc499a7787 /lasso/Attic | |
parent | 1af6414dc1225672179959d379818e68cf2187f0 (diff) | |
download | lasso-38ebd2003d60724abe1923311fc9060d6c56cf27.tar.gz lasso-38ebd2003d60724abe1923311fc9060d6c56cf27.tar.xz lasso-38ebd2003d60724abe1923311fc9060d6c56cf27.zip |
Added test lasso_register_name_identifier_request_new_from_query(). Verify if SPProvidedNameIdentifier exists in query (As specified in IDFF 1.2 errata, SPProvidedNameIdentifier is optional)
Diffstat (limited to 'lasso/Attic')
-rw-r--r-- | lasso/Attic/protocols/register_name_identifier_request.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lasso/Attic/protocols/register_name_identifier_request.c b/lasso/Attic/protocols/register_name_identifier_request.c index c48c279d..c87b6692 100644 --- a/lasso/Attic/protocols/register_name_identifier_request.c +++ b/lasso/Attic/protocols/register_name_identifier_request.c @@ -131,6 +131,7 @@ lasso_register_name_identifier_request_new(const xmlChar *providerID, lasso_lib_register_name_identifier_request_set_providerID(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), providerID); + /* idp provided name identifier is required */ idpidentifier = lasso_lib_idp_provided_name_identifier_new(idpProvidedNameIdentifier); lasso_saml_name_identifier_set_nameQualifier(LASSO_SAML_NAME_IDENTIFIER(idpidentifier), idpNameQualifier); lasso_saml_name_identifier_set_format(LASSO_SAML_NAME_IDENTIFIER(idpidentifier), idpFormat); @@ -138,13 +139,7 @@ lasso_register_name_identifier_request_new(const xmlChar *providerID, LASSO_LIB_IDP_PROVIDED_NAME_IDENTIFIER(idpidentifier)); lasso_node_destroy(idpidentifier); - spidentifier = lasso_lib_sp_provided_name_identifier_new(spProvidedNameIdentifier); - lasso_saml_name_identifier_set_nameQualifier(LASSO_SAML_NAME_IDENTIFIER(spidentifier), spNameQualifier); - lasso_saml_name_identifier_set_format(LASSO_SAML_NAME_IDENTIFIER(spidentifier), spFormat); - lasso_lib_register_name_identifier_request_set_spProvidedNameIdentifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), - LASSO_LIB_SP_PROVIDED_NAME_IDENTIFIER(spidentifier)); - lasso_node_destroy(spidentifier); - + /* old provided name identifier is required */ oldidentifier = lasso_lib_old_provided_name_identifier_new(oldProvidedNameIdentifier); lasso_saml_name_identifier_set_nameQualifier(LASSO_SAML_NAME_IDENTIFIER(oldidentifier), oldNameQualifier); lasso_saml_name_identifier_set_format(LASSO_SAML_NAME_IDENTIFIER(oldidentifier), oldFormat); @@ -152,6 +147,16 @@ lasso_register_name_identifier_request_new(const xmlChar *providerID, LASSO_LIB_OLD_PROVIDED_NAME_IDENTIFIER(oldidentifier)); lasso_node_destroy(oldidentifier); + /* sp provided name identifier is optional */ + if (spProvidedNameIdentifier != NULL && spNameQualifier != NULL && spFormat != NULL) { + spidentifier = lasso_lib_sp_provided_name_identifier_new(spProvidedNameIdentifier); + lasso_saml_name_identifier_set_nameQualifier(LASSO_SAML_NAME_IDENTIFIER(spidentifier), spNameQualifier); + lasso_saml_name_identifier_set_format(LASSO_SAML_NAME_IDENTIFIER(spidentifier), spFormat); + lasso_lib_register_name_identifier_request_set_spProvidedNameIdentifier(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(request), + LASSO_LIB_SP_PROVIDED_NAME_IDENTIFIER(spidentifier)); + lasso_node_destroy(spidentifier); + } + return request; } |