summaryrefslogtreecommitdiffstats
path: root/lasso
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-23 15:55:02 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-23 15:55:02 +0000
commit784ae391d001f4173f33bd7200112c23794fe468 (patch)
tree84bd5f981d0847f119477bf5d9d0eacefa3ea615 /lasso
parent88e1e0fffb46ee9d05979291974e122d808b0b97 (diff)
downloadlasso-784ae391d001f4173f33bd7200112c23794fe468.tar.gz
lasso-784ae391d001f4173f33bd7200112c23794fe468.tar.xz
lasso-784ae391d001f4173f33bd7200112c23794fe468.zip
*** empty log message ***
Diffstat (limited to 'lasso')
-rw-r--r--lasso/id-ff/logout.c44
1 files changed, 23 insertions, 21 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index 87751ba1..f4333a5d 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -87,7 +87,7 @@ lasso_logout_build_request_msg(LassoLogout *logout)
{
LassoProfile *profile;
LassoProvider *provider;
- xmlChar *protocolProfile;
+ xmlChar *protocolProfile = NULL;
gint ret = 0;
g_return_val_if_fail(LASSO_IS_LOGOUT(logout), -1);
@@ -314,12 +314,12 @@ gint
lasso_logout_init_request(LassoLogout *logout,
gchar *remote_providerID)
{
- LassoProfile *profile;
- LassoProvider *provider;
- LassoNode *nameIdentifier;
- LassoFederation *federation;
- xmlChar *content, *nameQualifier, *format;
- xmlChar *singleLogoutProtocolProfile;
+ LassoProfile *profile = NULL;
+ LassoProvider *provider = NULL;
+ LassoNode *nameIdentifier = NULL;
+ LassoFederation *federation = NULL;
+ xmlChar *content = NULL, *nameQualifier = NULL, *format = NULL;
+ xmlChar *singleLogoutProtocolProfile = NULL;
lassoSignatureType signature_type = lassoSignatureTypeNone;
gint ret = 0;
@@ -327,6 +327,20 @@ lasso_logout_init_request(LassoLogout *logout,
profile = LASSO_PROFILE(logout);
+ /* verify if the identity and session exist */
+ if (profile->identity == NULL) {
+ message(G_LOG_LEVEL_CRITICAL, "Identity not found\n");
+ ret = -1;
+ goto done;
+ }
+
+ if (profile->session == NULL) {
+ message(G_LOG_LEVEL_CRITICAL, "Session not found\n");
+ ret = -1;
+ goto done;
+ }
+
+ /* get the remote provider id */
if (remote_providerID == NULL) {
debug("No remote provider id, get the next assertion peer provider id\n");
profile->remote_providerID = lasso_session_get_next_assertion_remote_providerID(profile->session);
@@ -342,19 +356,6 @@ lasso_logout_init_request(LassoLogout *logout,
goto done;
}
- /* verify the identity and session exists */
- if (profile->identity == NULL) {
- message(G_LOG_LEVEL_CRITICAL, "Identity not found\n");
- ret = -1;
- goto done;
- }
-
- if (profile->session != NULL) {
- message(G_LOG_LEVEL_CRITICAL, "Session not found\n");
- ret = -1;
- goto done;
- }
-
/* get federation */
federation = lasso_identity_get_federation(profile->identity, profile->remote_providerID);
if (federation == NULL) {
@@ -451,6 +452,7 @@ lasso_logout_init_request(LassoLogout *logout,
}
done:
+ printf("lasso_logout_init_request() done\n");
if (federation != NULL) {
lasso_federation_destroy(federation);
}
@@ -494,7 +496,7 @@ gint lasso_logout_process_request_msg(LassoLogout *logout,
{
LassoProfile *profile;
LassoProvider *provider;
- gchar *remote_providerID;
+ gchar *remote_providerID = NULL;
gint ret = 0;
GError *err = NULL;