diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-24 14:25:43 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-24 14:25:43 +0000 |
| commit | 33e3a360b8443d1342e47c2eca4be5ce64dbbc41 (patch) | |
| tree | 67eea84dbc01a7c4ebc7f6c8fe6f1541a5648398 | |
| parent | 3828cdf09cff864c8593ff05721df766adc33dff (diff) | |
| download | lasso-33e3a360b8443d1342e47c2eca4be5ce64dbbc41.tar.gz lasso-33e3a360b8443d1342e47c2eca4be5ce64dbbc41.tar.xz lasso-33e3a360b8443d1342e47c2eca4be5ce64dbbc41.zip | |
update, now use GError object for each lasso_server_get_provider_ref()
| -rw-r--r-- | lasso/id-ff/logout.c | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 80b2914f..2897995a 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -88,6 +88,7 @@ lasso_logout_build_request_msg(LassoLogout *logout) LassoProfile *profile; LassoProvider *provider; xmlChar *protocolProfile = NULL; + GError *err = NULL; lassoProviderType remote_provider_type; gint ret = 0; @@ -107,12 +108,11 @@ lasso_logout_build_request_msg(LassoLogout *logout) ret = -1; goto done; } - provider = lasso_server_get_provider_ref(profile->server, - profile->remote_providerID, - NULL); + provider = lasso_server_get_provider_ref(profile->server, profile->remote_providerID, &err); if (provider == NULL) { - message(G_LOG_LEVEL_CRITICAL, "Provider %s not found\n", profile->remote_providerID); - ret = -1; + message(G_LOG_LEVEL_CRITICAL, err->message); + ret = err->code; + g_error_free(err); goto done; } @@ -210,6 +210,7 @@ lasso_logout_build_response_msg(LassoLogout *logout) LassoProvider *provider; gchar *url, *query; const gchar *separator = "?"; + GError *err = NULL; gint ret = 0; if (LASSO_IS_LOGOUT(logout) == FALSE) { @@ -220,12 +221,11 @@ lasso_logout_build_response_msg(LassoLogout *logout) profile = LASSO_PROFILE(logout); - provider = lasso_server_get_provider_ref(profile->server, - profile->remote_providerID, - NULL); + provider = lasso_server_get_provider_ref(profile->server, profile->remote_providerID, &err); if (provider == NULL) { - message(G_LOG_LEVEL_CRITICAL, "Provider not found %s\n", profile->remote_providerID); - ret = -1; + message(G_LOG_LEVEL_CRITICAL, err->message); + ret = err->code; + g_error_free(err); goto done; } @@ -345,6 +345,7 @@ lasso_logout_init_request(LassoLogout *logout, LassoFederation *federation = NULL; xmlChar *content = NULL, *nameQualifier = NULL, *format = NULL; xmlChar *singleLogoutProtocolProfile = NULL; + GError *err = NULL; lassoSignatureType signature_type = lassoSignatureTypeNone; gint ret = 0; @@ -422,10 +423,11 @@ lasso_logout_init_request(LassoLogout *logout, format = lasso_node_get_attr_value(nameIdentifier, "Format", NULL); /* get the single logout protocol profile and set a new logout request object */ - provider = lasso_server_get_provider_ref(profile->server, profile->remote_providerID, NULL); + provider = lasso_server_get_provider_ref(profile->server, profile->remote_providerID, &err); if (provider == NULL) { - message(G_LOG_LEVEL_CRITICAL, "Provider %s not found\n", profile->remote_providerID); - ret = -1; + message(G_LOG_LEVEL_CRITICAL, err->message); + ret = err->code; + g_error_free(err); goto done; } @@ -546,12 +548,11 @@ gint lasso_logout_process_request_msg(LassoLogout *logout, ret = -1; goto done; } - provider = lasso_server_get_provider_ref(profile->server, - remote_providerID, - NULL); + provider = lasso_server_get_provider_ref(profile->server, remote_providerID, &err); if (provider == NULL) { - message(G_LOG_LEVEL_CRITICAL, "Provider %s not found\n", remote_providerID); - ret = -1; + message(G_LOG_LEVEL_CRITICAL, err->message); + ret = err->code; + g_error_free(err); goto done; } if (provider->ca_certificate != NULL) { @@ -798,6 +799,7 @@ lasso_logout_process_response_msg(LassoLogout *logout, LassoProfile *profile; xmlChar *statusCodeValue; LassoNode *statusCode; + GError *err = NULL; gint ret = 0; g_return_val_if_fail(LASSO_IS_LOGOUT(logout), -1); @@ -841,7 +843,13 @@ lasso_logout_process_response_msg(LassoLogout *logout, LassoProvider *provider; gchar *url, *query; - provider = lasso_server_get_provider_ref(profile->server, profile->remote_providerID, NULL); + provider = lasso_server_get_provider_ref(profile->server, profile->remote_providerID, &err); + if (provider == NULL) { + message(G_LOG_LEVEL_CRITICAL, err->message); + ret = err->code; + g_error_free(err); + goto done; + } /* FIXME : get an HTTP method in metadata */ |
