summaryrefslogtreecommitdiffstats
path: root/lasso/id-ff/logout.c
diff options
context:
space:
mode:
Diffstat (limited to 'lasso/id-ff/logout.c')
-rw-r--r--lasso/id-ff/logout.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index 507a70d3..0d934208 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -88,6 +88,10 @@ lasso_logout_build_request_msg(LassoLogout *logout)
profile = LASSO_PROFILE(logout);
lasso_profile_clean_msg_info(profile);
+ IF_SAML2(profile) {
+ return lasso_saml20_logout_build_request_msg(logout);
+ }
+
if (profile->remote_providerID == NULL) {
/* this means lasso_logout_init_request was not called before */
return critical_error(LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID);
@@ -99,10 +103,6 @@ lasso_logout_build_request_msg(LassoLogout *logout)
return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND);
}
- IF_SAML2(profile) {
- return lasso_saml20_logout_build_request_msg(logout, remote_provider);
- }
-
/* build the logout request message */
if (logout->initial_http_request_method == LASSO_HTTP_METHOD_SOAP) {
/* build the logout request message */
@@ -1100,6 +1100,7 @@ finalize(GObject *object)
static void
instance_init(LassoLogout *logout)
{
+ logout->initial_http_request_method = LASSO_HTTP_METHOD_NONE;
logout->private_data = g_new0(LassoLogoutPrivate, 1);
logout->private_data->dispose_has_run = FALSE;
}