summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-09-03 16:28:56 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-09-03 16:28:56 +0000
commit7e03fa2ebacf0040ea8d53a8c0e1406c38abdc3d (patch)
tree25989cb9da102834f4632f1a60bc71083031c821
parent595d9b2987127e19256446b211e581818d61cd09 (diff)
downloadlasso-7e03fa2ebacf0040ea8d53a8c0e1406c38abdc3d.tar.gz
lasso-7e03fa2ebacf0040ea8d53a8c0e1406c38abdc3d.tar.xz
lasso-7e03fa2ebacf0040ea8d53a8c0e1406c38abdc3d.zip
Fixed problem when checking all remote SP from IDP in lasso_logout_validate_request() : replaced lasso_provider_get_singleLogoutProtocolProfile(provider, lassoProviderTypeIdp, NULL) with lasso_provider_get_singleLogoutProtocolProfile(provider, lassoProviderTypeSp, NULL)
-rw-r--r--lasso/id-ff/logout.c3
-rw-r--r--lasso/id-ff/name_registration.c5
-rw-r--r--lasso/id-ff/session.c4
3 files changed, 7 insertions, 5 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index 483d8fee..18c6b6dc 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -966,7 +966,8 @@ lasso_logout_validate_request(LassoLogout *logout)
}
/* if protocolProfile is SOAP continue else break */
- protocolProfile = lasso_provider_get_singleLogoutProtocolProfile(provider, lassoProviderTypeIdp, NULL);
+ protocolProfile = lasso_provider_get_singleLogoutProtocolProfile(provider, lassoProviderTypeSp, NULL);
+ printf("protocol profile : %s\n", protocolProfile);
if (protocolProfile == NULL || !xmlStrEqual(protocolProfile, lassoLibProtocolProfileSloSpSoap)) {
all_http_soap = FALSE;
break;
diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c
index 79a56cc3..dd8b5b58 100644
--- a/lasso/id-ff/name_registration.c
+++ b/lasso/id-ff/name_registration.c
@@ -127,8 +127,11 @@ lasso_name_registration_build_request_msg(LassoNameRegistration *name_registrati
query = lasso_node_export_to_query(profile->request,
profile->server->signature_method,
profile->server->private_key);
- profile->msg_url = g_strjoin(separator, url, query);
+
+ profile->msg_url = g_new(gchar, strlen(url)+strlen(query)+1+1);
+ g_sprintf(profile->msg_url, "%s?%s", url, query);
profile->msg_body = NULL;
+
xmlFree(url);
xmlFree(query);
}
diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c
index b952e760..e92cf3bc 100644
--- a/lasso/id-ff/session.c
+++ b/lasso/id-ff/session.c
@@ -288,12 +288,11 @@ lasso_session_remove_assertion(LassoSession *session,
int i;
g_return_val_if_fail(session != NULL, -1);
- g_return_val_if_fail(providerID != NULL, -2);
+ g_return_val_if_fail(providerID != NULL, -1);
/* remove the assertion */
assertion = lasso_session_get_assertion(session, providerID);
if (assertion != NULL) {
- debug("Remove assertion of remote provider id %s\n", providerID);
g_hash_table_remove(session->assertions, providerID);
lasso_node_destroy(assertion);
}
@@ -301,7 +300,6 @@ lasso_session_remove_assertion(LassoSession *session,
/* remove the remote provider id */
for(i = 0; i<session->providerIDs->len; i++) {
if(xmlStrEqual(providerID, g_ptr_array_index(session->providerIDs, i))) {
- debug("Remove remote provider id %s\n", providerID);
g_ptr_array_remove_index(session->providerIDs, i);
break;
}