diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2004-12-13 18:39:49 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2004-12-13 18:39:49 +0000 |
| commit | a5a8ff207f0d7af6f49a94aefe0d930e5022ff10 (patch) | |
| tree | 6e6ebba15507347a37861a45950093ced4ff5f57 | |
| parent | 2e2f599a163d2f535a0836d620f9cac318a3d46e (diff) | |
| download | lasso-a5a8ff207f0d7af6f49a94aefe0d930e5022ff10.tar.gz lasso-a5a8ff207f0d7af6f49a94aefe0d930e5022ff10.tar.xz lasso-a5a8ff207f0d7af6f49a94aefe0d930e5022ff10.zip | |
more error code harmonization.
| -rw-r--r-- | lasso/id-ff/login.c | 9 | ||||
| -rw-r--r-- | lasso/id-ff/logout.c | 6 | ||||
| -rw-r--r-- | lasso/id-ff/name_identifier_mapping.c | 14 | ||||
| -rw-r--r-- | lasso/id-ff/name_registration.c | 20 | ||||
| -rw-r--r-- | lasso/xml/errors.c | 2 |
5 files changed, 24 insertions, 27 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c index 91a5aeb6..836bcfe5 100644 --- a/lasso/id-ff/login.c +++ b/lasso/id-ff/login.c @@ -1207,7 +1207,8 @@ lasso_login_process_authn_response_msg(LassoLogin *login, gchar *authn_response_ LASSO_LIB_AUTHN_RESPONSE(LASSO_PROFILE(login)->response)->ProviderID); if (LASSO_PROFILE(login)->remote_providerID == NULL) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); + ret1 = error_code(G_LOG_LEVEL_CRITICAL, + lasso_strerror(LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND)); } remote_provider = g_hash_table_lookup(LASSO_PROFILE(login)->server->providers, @@ -1216,10 +1217,12 @@ lasso_login_process_authn_response_msg(LassoLogin *login, gchar *authn_response_ LASSO_PROFILE(login)->msg_relayState = g_strdup(LASSO_LIB_AUTHN_RESPONSE( LASSO_PROFILE(login)->response)->RelayState); - ret1 = lasso_provider_verify_signature(remote_provider, - authn_response_msg, "ResponseID", format); + LASSO_PROFILE(login)->signature_status = lasso_provider_verify_signature( + remote_provider, authn_response_msg, "ResponseID", format); ret2 = lasso_login_process_response_status_and_assertion(login); + /* XXX: and what about signature_status ? Shouldn't it return error on + * failure ? */ return ret2 == 0 ? ret1 : ret2; } diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 9171054c..3a821368 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -416,8 +416,7 @@ 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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_INVALID_MSG; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG); } remote_provider = g_hash_table_lookup(profile->server->providers, @@ -489,8 +488,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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_INVALID_MSG; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG); } if (format == LASSO_MESSAGE_FORMAT_SOAP) diff --git a/lasso/id-ff/name_identifier_mapping.c b/lasso/id-ff/name_identifier_mapping.c index c353672c..3e52d617 100644 --- a/lasso/id-ff/name_identifier_mapping.c +++ b/lasso/id-ff/name_identifier_mapping.c @@ -210,15 +210,15 @@ 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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_INVALID_MSG; + return error_code(G_LOG_LEVEL_CRITICAL, 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) { - message(G_LOG_LEVEL_CRITICAL, "Unknown provider"); - return -1; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND, + LASSO_LIB_NAME_IDENTIFIER_MAPPING_REQUEST( + profile->request)->ProviderID); } profile->remote_providerID = g_strdup(remote_provider->ProviderID); @@ -227,8 +227,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 ) { - message(G_LOG_LEVEL_CRITICAL, "unsupported profile!"); - return LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE); } /* verify signature */ @@ -262,8 +261,7 @@ 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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_INVALID_MSG; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG); } remote_provider = g_hash_table_lookup(profile->server->providers, diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c index a9e1e850..f5faab79 100644 --- a/lasso/id-ff/name_registration.c +++ b/lasso/id-ff/name_registration.c @@ -100,8 +100,7 @@ lasso_name_registration_build_request_msg(LassoNameRegistration *name_registrati return 0; } - message(G_LOG_LEVEL_CRITICAL, "Invalid http method"); - return LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD); } gint @@ -152,8 +151,7 @@ lasso_name_registration_build_response_msg(LassoNameRegistration *name_registrat return 0; } - message(G_LOG_LEVEL_CRITICAL, "Invalid HTTP request method"); - return LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD); } void @@ -303,15 +301,15 @@ 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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_INVALID_MSG; + return error_code(G_LOG_LEVEL_CRITICAL, 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) { - message(G_LOG_LEVEL_CRITICAL, "Unknown provider"); - return -1; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND, + LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST( + profile->request)->ProviderID); } if (format == LASSO_MESSAGE_FORMAT_SOAP) @@ -323,8 +321,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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE); } nameIdentifier = LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST( @@ -375,8 +372,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) { - message(G_LOG_LEVEL_CRITICAL, "XXX"); - return LASSO_PROFILE_ERROR_INVALID_MSG; + return error_code(G_LOG_LEVEL_CRITICAL, LASSO_PROFILE_ERROR_INVALID_MSG); } if (format == LASSO_MESSAGE_FORMAT_SOAP) response_method = LASSO_HTTP_METHOD_SOAP; diff --git a/lasso/xml/errors.c b/lasso/xml/errors.c index 28e2b773..003142d3 100644 --- a/lasso/xml/errors.c +++ b/lasso/xml/errors.c @@ -67,6 +67,8 @@ lasso_strerror(int error_code) 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: |
