summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-10-02 08:06:10 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-10-02 08:06:10 +0000
commit751b49c858f9ecd919dafc357200d5727a49c4c3 (patch)
treebde52e9239207ec4846d50a5788800c4413c8a9c
parent5e49ab8f717e338c5719bc5803a8e5a306f710b0 (diff)
downloadlasso-751b49c858f9ecd919dafc357200d5727a49c4c3.tar.gz
lasso-751b49c858f9ecd919dafc357200d5727a49c4c3.tar.xz
lasso-751b49c858f9ecd919dafc357200d5727a49c4c3.zip
Corrected handling of NULL remote_providerID in
lasso_login_process_without_authn_request_msg.
-rw-r--r--lasso/id-ff/login.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index 83fb6676..8647a1a2 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -1424,8 +1424,18 @@ lasso_login_process_without_authn_request_msg(LassoLogin *login,
/* if remote_providerID is NULL, get first providerID in session */
/* relayState can be NULL */
+ /* store providerID of the service provider */
+ if (remote_providerID == NULL) {
+ first_providerID = lasso_server_get_first_providerID(LASSO_PROFILE(login)->server);
+ LASSO_PROFILE(login)->remote_providerID = first_providerID;
+ }
+ else {
+ LASSO_PROFILE(login)->remote_providerID = g_strdup(remote_providerID);
+ }
+
/* build a fake/dummy lib:AuthnRequest */
- request = lasso_authn_request_new(remote_providerID, lassoSignatureTypeNone, 0);
+ request = lasso_authn_request_new(LASSO_PROFILE(login)->remote_providerID,
+ lassoSignatureTypeNone, 0);
lasso_lib_authn_request_set_consent(LASSO_LIB_AUTHN_REQUEST(request),
lassoLibConsentObtained);
@@ -1444,15 +1454,6 @@ lasso_login_process_without_authn_request_msg(LassoLogin *login,
LASSO_PROFILE(login)->request = request;
LASSO_PROFILE(login)->request_type = lassoMessageTypeAuthnRequest;
- /* store providerID of the service provider */
- if (remote_providerID == NULL) {
- first_providerID = lasso_session_get_first_providerID(LASSO_PROFILE(login)->session);
- LASSO_PROFILE(login)->remote_providerID = first_providerID;
- }
- else {
- LASSO_PROFILE(login)->remote_providerID = g_strdup(remote_providerID);
- }
-
login->protocolProfile = lassoLoginProtocolProfileBrwsArt;
return ret;