From 2bda2b596eaaa5c83aca90ea73b9bbec31985a5b Mon Sep 17 00:00:00 2001 From: Frederic Peters Date: Tue, 14 Dec 2004 15:46:25 +0000 Subject: more error code harmony, now with a new critical_error macro --- lasso/id-ff/defederation.c | 17 +++++++---------- lasso/id-ff/login.c | 33 ++++++++++++++------------------- lasso/id-ff/logout.c | 20 +++++++++----------- lasso/id-ff/name_identifier_mapping.c | 19 +++++++++---------- lasso/id-ff/name_registration.c | 24 ++++++++++++------------ lasso/id-ff/server.c | 2 +- lasso/xml/errors.c | 10 ++++++++-- lasso/xml/tools.h | 2 ++ 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 */ -- cgit