summaryrefslogtreecommitdiffstats
path: root/lasso/id-ff/login.c
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-03-27 16:51:43 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-03-27 16:51:43 +0000
commitf5442dc84bf28314339ed3e511921980bd3545aa (patch)
tree5d23e2a70a1d7cc99cef4cb941d1a68167e36a0f /lasso/id-ff/login.c
parent3b1b382f8cd3a5ffab9c6b0d5a80172af79ee1b9 (diff)
downloadlasso-f5442dc84bf28314339ed3e511921980bd3545aa.tar.gz
lasso-f5442dc84bf28314339ed3e511921980bd3545aa.tar.xz
lasso-f5442dc84bf28314339ed3e511921980bd3545aa.zip
SAML 2.0: add support for attribute, authentication and authorization authorities metadata
* server.c,serverprivate.h: add new private method lasso_server_get_firs_providerID_by_role(server, role)w * defederation.c: use new private method lasso_server_get_first_providerID_by_role for find providerID when the argument remote_providerID is null in lasso_defederation_init_notification. * lasso/id-ff/login.c (lasso_login_init_authn_request): use new private method lasso_server_get_first_providerID_by_role. * provider.h: add thre new provider role (authn,pdp,attribute) and four new services (authn,assertionid,attribute,authz) and also a ROLE_ANY value (-1) for catchall purpose and a ROLE_LAST for array sizing. * provider.h: add a LAST member to LassoMdProtocolType enum. * providerprivate.h,provider.c: - removes separate hashtable for descriptors depending on provider role, use only one table named Descriptors. - use the LAST members of enumerations to dimention static string arrays. * provider.h: add a LAST member to the e
Diffstat (limited to 'lasso/id-ff/login.c')
-rw-r--r--lasso/id-ff/login.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index 43f665b1..8940b46b 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -1381,7 +1381,7 @@ lasso_login_init_authn_request(LassoLogin *login, const gchar *remote_providerID
if (remote_providerID != NULL) {
lasso_assign_string(profile->remote_providerID, remote_providerID);
} else {
- lasso_assign_new_string(profile->remote_providerID, lasso_server_get_first_providerID(profile->server));
+ lasso_assign_new_string(profile->remote_providerID, lasso_server_get_first_providerID_by_role(profile->server, LASSO_PROVIDER_ROLE_IDP));
if (profile->remote_providerID == NULL) {
return critical_error(LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID);
}