summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2004-12-14 15:46:25 +0000
committerFrederic Peters <fpeters@entrouvert.com>2004-12-14 15:46:25 +0000
commit2bda2b596eaaa5c83aca90ea73b9bbec31985a5b (patch)
tree49d7498931904dcbe8a413f0bb4d7da1de569859
parent18dbcc81631d5439226c6f5e5d166b58045e3e9b (diff)
downloadlasso-2bda2b596eaaa5c83aca90ea73b9bbec31985a5b.tar.gz
lasso-2bda2b596eaaa5c83aca90ea73b9bbec31985a5b.tar.xz
lasso-2bda2b596eaaa5c83aca90ea73b9bbec31985a5b.zip
more error code harmony, now with a new critical_error macro
-rw-r--r--lasso/id-ff/defederation.c17
-rw-r--r--lasso/id-ff/login.c33
-rw-r--r--lasso/id-ff/logout.c20
-rw-r--r--lasso/id-ff/name_identifier_mapping.c19
-rw-r--r--lasso/id-ff/name_registration.c24
-rw-r--r--lasso/id-ff/server.c2
-rw-r--r--lasso/xml/errors.c10
-rw-r--r--lasso/xml/tools.h2
8 files changed, 62 insertions, 65 deletions
diff --git a/lasso/id-ff/defederation.c b/lasso/id-ff/defederation.c
index 8cc48931..70720326 100644
--- a/lasso/id-ff/defederation.c
+++ b/lasso/id-ff/defederation.c
@@ -66,7 +66,7 @@ lasso_defederation_build_notification_msg(LassoDefederation *defederation)
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -106,8 +106,7 @@ lasso_defederation_build_notification_msg(LassoDefederation *defederation)
}
if (profile->msg_url == NULL) {
- message(G_LOG_LEVEL_CRITICAL, "Invalid http method");
- return LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD;
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
return 0;
@@ -164,7 +163,7 @@ lasso_defederation_init_notification(LassoDefederation *defederation, gchar *rem
remote_provider = g_hash_table_lookup(
profile->server->providers, profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -197,8 +196,7 @@ lasso_defederation_init_notification(LassoDefederation *defederation, gchar *rem
LASSO_MD_PROTOCOL_TYPE_FEDERATION_TERMINATION,
http_method,
TRUE) == FALSE) {
- message(G_LOG_LEVEL_CRITICAL, "This provider can't initiate this profile");
- return LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE;
+ return critical_error(LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
}
}
@@ -279,7 +277,7 @@ lasso_defederation_process_notification_msg(LassoDefederation *defederation, cha
profile->request = lasso_lib_federation_termination_notification_new();
format = lasso_node_init_from_message(profile->request, request_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
profile->remote_providerID = g_strdup(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(
@@ -287,7 +285,7 @@ lasso_defederation_process_notification_msg(LassoDefederation *defederation, cha
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -352,8 +350,7 @@ lasso_defederation_validate_notification(LassoDefederation *defederation)
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL,
- LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index d90b187d..c55a62fc 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -263,8 +263,7 @@ lasso_login_process_federation(LassoLogin *login, gboolean is_consent_obtained)
if (strcmp(nameIDPolicy, LASSO_LIB_NAMEID_POLICY_TYPE_FEDERATED) != 0 &&
strcmp(nameIDPolicy, LASSO_LIB_NAMEID_POLICY_TYPE_ANY) != 0) {
- message(G_LOG_LEVEL_CRITICAL, "unknown nameidpolicy");
- return LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY;
+ return critical_error(LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY, nameIDPolicy);
}
/* consent is necessary, it should be obtained via consent attribute
@@ -481,13 +480,12 @@ lasso_login_build_artifact_msg(LassoLogin *login,
g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ);
if (http_method != LASSO_HTTP_METHOD_REDIRECT && http_method != LASSO_HTTP_METHOD_POST) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
/* ProtocolProfile must be BrwsArt */
if (login->protocolProfile != LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_ART) {
- return error_code(G_LOG_LEVEL_CRITICAL,
- LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE);
}
/* process federation and build assertion only if signature is OK */
@@ -582,7 +580,7 @@ lasso_login_build_authn_request_msg(LassoLogin *login)
remote_provider = g_hash_table_lookup(LASSO_PROFILE(login)->server->providers,
LASSO_PROFILE(login)->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
LASSO_PROFILE(login)->remote_providerID);
}
@@ -698,8 +696,7 @@ lasso_login_build_authn_response_msg(LassoLogin *login,
/* ProtocolProfile must be BrwsPost */
if (login->protocolProfile != LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_POST) {
- return error_code(G_LOG_LEVEL_CRITICAL,
- LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE);
}
/* create LibAuthnResponse */
@@ -790,7 +787,7 @@ lasso_login_build_request_msg(LassoLogin *login)
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
profile->msg_url = lasso_provider_get_metadata_one(remote_provider, "SoapEndpoint");
@@ -884,7 +881,7 @@ lasso_login_init_authn_request(LassoLogin *login, const gchar *remote_providerID
g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ);
if (http_method != LASSO_HTTP_METHOD_REDIRECT && http_method != LASSO_HTTP_METHOD_POST) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
if (remote_providerID != NULL) {
@@ -936,7 +933,7 @@ lasso_login_init_request(LassoLogin *login, gchar *response_msg,
if (response_http_method != LASSO_HTTP_METHOD_REDIRECT &&
response_http_method != LASSO_HTTP_METHOD_POST) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
/* rebuild response (artifact) */
@@ -1102,8 +1099,7 @@ lasso_login_process_authn_request_msg(LassoLogin *login, const char *authn_reque
if (authn_request_msg == NULL) {
if (LASSO_PROFILE(login)->request == NULL) {
- return error_code(G_LOG_LEVEL_CRITICAL,
- LASSO_PROFILE_ERROR_MISSING_REQUEST);
+ return critical_error(LASSO_PROFILE_ERROR_MISSING_REQUEST);
}
/* LibAuthnRequest already set by lasso_login_init_idp_initiated_authn_request() */
@@ -1120,7 +1116,7 @@ lasso_login_process_authn_request_msg(LassoLogin *login, const char *authn_reque
format = lasso_node_init_from_message(LASSO_NODE(request), authn_request_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN ||
format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
LASSO_PROFILE(login)->request = LASSO_NODE(request);
@@ -1137,8 +1133,7 @@ lasso_login_process_authn_request_msg(LassoLogin *login, const char *authn_reque
protocolProfile = LASSO_LIB_PROTOCOL_PROFILE_BRWS_POST;
login->protocolProfile = LASSO_LOGIN_PROTOCOL_PROFILE_BRWS_POST;
} else {
- return error_code(G_LOG_LEVEL_CRITICAL,
- LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE);
}
/* check if requested single sign on protocol profile is supported */
@@ -1147,7 +1142,7 @@ lasso_login_process_authn_request_msg(LassoLogin *login, const char *authn_reque
LASSO_PROVIDER(LASSO_PROFILE(login)->server),
LASSO_MD_PROTOCOL_TYPE_SINGLE_SIGN_ON,
protocolProfile) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
+ return critical_error(LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
}
/* get remote ProviderID */
@@ -1200,14 +1195,14 @@ lasso_login_process_authn_response_msg(LassoLogin *login, gchar *authn_response_
LASSO_PROFILE(login)->response = lasso_lib_authn_response_new(NULL, NULL);
format = lasso_node_init_from_message(LASSO_PROFILE(login)->response, authn_response_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
LASSO_PROFILE(login)->remote_providerID = g_strdup(
LASSO_LIB_AUTHN_RESPONSE(LASSO_PROFILE(login)->response)->ProviderID);
if (LASSO_PROFILE(login)->remote_providerID == NULL) {
- ret1 = error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND);
+ ret1 = critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND);
}
remote_provider = g_hash_table_lookup(LASSO_PROFILE(login)->server->providers,
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index c74012d4..d9d62f3f 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -75,7 +75,7 @@ lasso_logout_build_request_msg(LassoLogout *logout)
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -113,8 +113,7 @@ lasso_logout_build_request_msg(LassoLogout *logout)
return 0;
}
- message(G_LOG_LEVEL_CRITICAL, "Invalid http method");
- return LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD;
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
@@ -322,7 +321,7 @@ lasso_logout_init_request(LassoLogout *logout, char *remote_providerID,
remote_provider = g_hash_table_lookup(
profile->server->providers, profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -416,13 +415,13 @@ gint lasso_logout_process_request_msg(LassoLogout *logout, char *request_msg)
profile->request = lasso_lib_logout_request_new();
format = lasso_node_init_from_message(profile->request, request_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
remote_provider = g_hash_table_lookup(profile->server->providers,
LASSO_LIB_LOGOUT_REQUEST(profile->request)->ProviderID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
LASSO_LIB_LOGOUT_REQUEST(profile->request)->ProviderID);
}
@@ -488,7 +487,7 @@ lasso_logout_process_response_msg(LassoLogout *logout, gchar *response_msg)
profile->response = lasso_lib_logout_response_new();
format = lasso_node_init_from_message(profile->response, response_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
if (format == LASSO_MESSAGE_FORMAT_SOAP)
@@ -500,14 +499,13 @@ lasso_logout_process_response_msg(LassoLogout *logout, gchar *response_msg)
profile->remote_providerID = g_strdup(
LASSO_LIB_STATUS_RESPONSE(profile->response)->ProviderID);
if (profile->remote_providerID == NULL) {
- message(G_LOG_LEVEL_CRITICAL, "ProviderID not found");
- return LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID;
+ return critical_error(LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID);
}
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -653,7 +651,7 @@ lasso_logout_validate_request(LassoLogout *logout)
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
diff --git a/lasso/id-ff/name_identifier_mapping.c b/lasso/id-ff/name_identifier_mapping.c
index 580b145c..a0316c93 100644
--- a/lasso/id-ff/name_identifier_mapping.c
+++ b/lasso/id-ff/name_identifier_mapping.c
@@ -43,7 +43,7 @@ lasso_name_identifier_mapping_build_request_msg(LassoNameIdentifierMapping *mapp
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -82,7 +82,7 @@ lasso_name_identifier_mapping_build_response_msg(LassoNameIdentifierMapping *map
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -141,7 +141,7 @@ lasso_name_identifier_mapping_init_request(LassoNameIdentifierMapping *mapping,
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
if (remote_provider->role != LASSO_PROVIDER_ROLE_IDP) {
@@ -172,8 +172,7 @@ lasso_name_identifier_mapping_init_request(LassoNameIdentifierMapping *mapping,
remote_provider,
LASSO_MD_PROTOCOL_TYPE_NAME_IDENTIFIER_MAPPING,
LASSO_HTTP_METHOD_REDIRECT, TRUE) == FALSE) {
- message(G_LOG_LEVEL_CRITICAL, "unsupported profile!");
- return LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE;
+ return critical_error(LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
}
profile->request = lasso_lib_name_identifier_mapping_request_new_full(
@@ -210,13 +209,13 @@ lasso_name_identifier_mapping_process_request_msg(LassoNameIdentifierMapping *ma
profile->request = lasso_lib_name_identifier_mapping_request_new();
format = lasso_node_init_from_message(profile->request, request_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
remote_provider = g_hash_table_lookup(profile->server->providers,
LASSO_LIB_NAME_IDENTIFIER_MAPPING_REQUEST(profile->request)->ProviderID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
LASSO_LIB_NAME_IDENTIFIER_MAPPING_REQUEST(
profile->request)->ProviderID);
}
@@ -227,7 +226,7 @@ lasso_name_identifier_mapping_process_request_msg(LassoNameIdentifierMapping *ma
remote_provider,
LASSO_MD_PROTOCOL_TYPE_NAME_IDENTIFIER_MAPPING,
LASSO_HTTP_METHOD_REDIRECT, FALSE) == FALSE ) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
+ return critical_error(LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
}
/* verify signature */
@@ -261,13 +260,13 @@ lasso_name_identifier_mapping_process_response_msg(LassoNameIdentifierMapping *m
profile->response = lasso_lib_name_identifier_mapping_response_new();
format = lasso_node_init_from_message(profile->response, response_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
remote_provider = g_hash_table_lookup(profile->server->providers,
LASSO_LIB_NAME_IDENTIFIER_MAPPING_RESPONSE(profile->response)->ProviderID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c
index 3e89084e..3916a3fc 100644
--- a/lasso/id-ff/name_registration.c
+++ b/lasso/id-ff/name_registration.c
@@ -63,7 +63,7 @@ lasso_name_registration_build_request_msg(LassoNameRegistration *name_registrati
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -100,7 +100,7 @@ lasso_name_registration_build_request_msg(LassoNameRegistration *name_registrati
return 0;
}
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
gint
@@ -117,7 +117,7 @@ lasso_name_registration_build_response_msg(LassoNameRegistration *name_registrat
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -152,7 +152,7 @@ lasso_name_registration_build_response_msg(LassoNameRegistration *name_registrat
return 0;
}
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD);
}
void
@@ -189,7 +189,7 @@ lasso_name_registration_init_request(LassoNameRegistration *name_registration,
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -303,13 +303,13 @@ gint lasso_name_registration_process_request_msg(LassoNameRegistration *name_reg
profile->request = lasso_lib_register_name_identifier_request_new();
format = lasso_node_init_from_message(profile->request, request_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
remote_provider = g_hash_table_lookup(profile->server->providers,
LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(profile->request)->ProviderID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(
profile->request)->ProviderID);
}
@@ -327,7 +327,7 @@ gint lasso_name_registration_process_request_msg(LassoNameRegistration *name_reg
remote_provider,
LASSO_MD_PROTOCOL_TYPE_REGISTER_NAME_IDENTIFIER,
profile->http_request_method, FALSE) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
+ return critical_error(LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE);
}
nameIdentifier = LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(
@@ -378,7 +378,7 @@ lasso_name_registration_process_response_msg(LassoNameRegistration *name_registr
profile->response = lasso_lib_register_name_identifier_response_new();
format = lasso_node_init_from_message(profile->response, response_msg);
if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG);
+ return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG);
}
if (format == LASSO_MESSAGE_FORMAT_SOAP)
response_method = LASSO_HTTP_METHOD_SOAP;
@@ -388,7 +388,7 @@ lasso_name_registration_process_response_msg(LassoNameRegistration *name_registr
remote_provider = g_hash_table_lookup(profile->server->providers,
LASSO_LIB_STATUS_RESPONSE(profile->response)->ProviderID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -418,7 +418,7 @@ lasso_name_registration_process_response_msg(LassoNameRegistration *name_registr
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
@@ -506,7 +506,7 @@ lasso_name_registration_validate_request(LassoNameRegistration *name_registratio
remote_provider = g_hash_table_lookup(profile->server->providers,
profile->remote_providerID);
if (LASSO_IS_PROVIDER(remote_provider) == FALSE) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
+ return critical_error(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND,
profile->remote_providerID);
}
diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c
index 3cb78ad5..81811021 100644
--- a/lasso/id-ff/server.c
+++ b/lasso/id-ff/server.c
@@ -57,7 +57,7 @@ lasso_server_add_provider(LassoServer *server, LassoProviderRole role,
provider = lasso_provider_new(role, metadata, public_key, ca_cert_chain);
if (provider == NULL) {
- return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED);
+ return critical_error(LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED);
}
g_hash_table_insert(server->providers, g_strdup(provider->ProviderID), provider);
diff --git a/lasso/xml/errors.c b/lasso/xml/errors.c
index 003142d3..8e33e650 100644
--- a/lasso/xml/errors.c
+++ b/lasso/xml/errors.c
@@ -60,15 +60,15 @@ lasso_strerror(int error_code)
return "Failed to verify signature of %s.";
case LASSO_DS_ERROR_INVALID_SIGALG:
return "Invalid signature algorithm.";
+
case LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND:
return "Failed to get LassoProvider object "\
"with providerID %s in LassoServer object.";
case LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED:
return "Failed to add new provider.";
+
case LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE:
return "Unsupported logout protocol profile";
- case LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE:
- return "Unsupported protocol profile";
case LASSO_PROFILE_ERROR_INVALID_QUERY:
return "Invalid URL query";
case LASSO_PROFILE_ERROR_INVALID_POST_MSG:
@@ -81,6 +81,12 @@ lasso_strerror(int error_code)
return "Invalid HTTP method";
case LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE:
return "Invalid protocol profile";
+ case LASSO_PROFILE_ERROR_INVALID_MSG:
+ return "Invalid message";
+ case LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID:
+ return "ProviderID not found";
+ case LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE:
+ return "Unsupported protocol profile";
case LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ:
return "An object type provided as parameter "\
diff --git a/lasso/xml/tools.h b/lasso/xml/tools.h
index ef376b89..de36f8b8 100644
--- a/lasso/xml/tools.h
+++ b/lasso/xml/tools.h
@@ -80,6 +80,8 @@ int error_code(GLogLevelFlags level, int error, ...);
#define message(level, format, args...) \
_debug(level, __FILE__, __LINE__, __FUNCTION__, format, ##args)
+#define critical_error(args...) error_code(G_LOG_LEVEL_CRITICAL, ##args)
+
#ifdef __cplusplus
}
#endif /* __cplusplus */