diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-05-30 11:17:57 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-05-30 11:17:57 +0000 |
| commit | 497294e8d03a4440d63fc5773e3e5eb92a1fd052 (patch) | |
| tree | 1233a4fa4d2eb51f7532f442a60c3dcbdcebc6e0 | |
| parent | 4dacc4661d664d4d53363271c236160dddc9bdae (diff) | |
* Move error message inside comments in lasso/errors.h
* Add a script to autogenerate lasso/errors.c from errors.h
* Update errors.c
* Add a target to Makefile.am to create errors.c
| -rw-r--r-- | lasso/Makefile.am | 5 | ||||
| -rw-r--r-- | lasso/build-strerror.pl | 24 | ||||
| -rw-r--r-- | lasso/errors.c | 425 | ||||
| -rw-r--r-- | lasso/errors.c.in | 38 | ||||
| -rw-r--r-- | lasso/errors.h | 188 |
5 files changed, 443 insertions, 237 deletions
diff --git a/lasso/Makefile.am b/lasso/Makefile.am index 6531ad90..f1c1ba14 100644 --- a/lasso/Makefile.am +++ b/lasso/Makefile.am @@ -79,4 +79,7 @@ liblasso_la_LDFLAGS = -no-undefined -version-info @LASSO_VERSION_INFO@ \ -export-symbols symbols.sym endif -.PHONY: types.c symbols.sym +errors.c: errors.h + perl build-strerror.pl >errors.c + +.PHONY: types.c symbols.sym errors.c diff --git a/lasso/build-strerror.pl b/lasso/build-strerror.pl new file mode 100644 index 00000000..43bf7582 --- /dev/null +++ b/lasso/build-strerror.pl @@ -0,0 +1,24 @@ +open(H,"<errors.h"); +while (<H>) { + if (/#define (LASSO_\w+).*\/\*\s*(.*?)\s*\*\//) { + $messages{$1} = $2; + } elsif (/#define (LASSO_\w+)/) { + $messages{$1} = $1; + } +} +close(H); +open(C_IN,"<errors.c.in"); +#open(C,">errors.c"); +while (<C_IN>) { + if (/@ERROR_CASE\@/) { + foreach $k (sort (keys %messages)) { + $msg = $messages{$k}; + print "\t\tcase $k:\n"; + print "\t\t\treturn \"$msg\";\n\n"; + } + } else { + print ; + } +} +close(C_IN); +#close(C); diff --git a/lasso/errors.c b/lasso/errors.c index 5f5b89fd..cc8fe954 100644 --- a/lasso/errors.c +++ b/lasso/errors.c @@ -31,201 +31,334 @@ const char* lasso_strerror(int error_code) { switch (error_code) { - case LASSO_ERROR_UNDEFINED: - return "Undefined error case"; - case LASSO_ERROR_UNIMPLEMENTED: - return "Unimplemented part of Lasso"; - case LASSO_XML_ERROR_NODE_NOT_FOUND: - return "Unable to get child of element."; - case LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND: - return "Unable to get content of element."; - case LASSO_XML_ERROR_ATTR_NOT_FOUND: - return "Unable to get attribute of element."; - case LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND: - return "Unable to get attribute value of element."; - case LASSO_XML_ERROR_INVALID_FILE: - return "Invalid XML file"; + case LASSO_DATA_SERVICE_ERROR_UNREGISTERED_DST: + return "LASSO_DATA_SERVICE_ERROR_UNREGISTERED_DST"; + + case LASSO_DEFEDERATION_ERROR_MISSING_NAME_IDENTIFIER: + return "Name identifier not found in request"; + + case LASSO_DISCOVERY_ERROR_FAILED_TO_BUILD_ENDPOINT_REFERENCE: + return "Failed to build Endpoint Reference"; + + case LASSO_DISCOVERY_ERROR_MISSING_REQUESTED_SERVICE: + return "Missing requested service"; + + case LASSO_DISCOVERY_ERROR_SVC_METADATA_ASSOCIATION_ADD_FAILED: + return "Service metadata association failed"; + + case LASSO_DISCOVERY_ERROR_SVC_METADATA_REGISTER_FAILED: + return "Service metadata registration failed"; + + case LASSO_DST_ERROR_MISSING_SERVICE_DATA: + return "Missing service data"; + + case LASSO_DST_ERROR_MODIFY_FAILED: + return "Modify failed"; + + case LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED: + return "Modify partially failed : some items were correctly processed"; + + case LASSO_DST_ERROR_NEW_DATA_MISSING: + return "Missing new data"; + + case LASSO_DST_ERROR_QUERY_FAILED: + return "Query failed"; + + case LASSO_DST_ERROR_QUERY_PARTIALLY_FAILED: + return "Query partially failed : some items were correctly processed"; + + case LASSO_DS_ERROR_CA_CERT_CHAIN_LOAD_FAILED: + return "LASSO_DS_ERROR_CA_CERT_CHAIN_LOAD_FAILED"; - case LASSO_DS_ERROR_SIGNATURE_NOT_FOUND: - return "Signature element not found."; - case LASSO_DS_ERROR_INVALID_SIGNATURE: - return "Invalid signature."; - case LASSO_DS_ERROR_CONTEXT_CREATION_FAILED: - return "Failed to create signature context."; - case LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED: - return "Failed to load public key."; - case LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED: - return "Failed to load private key."; case LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED: return "Failed to load certificate."; - case LASSO_DS_ERROR_SIGNATURE_FAILED: - return "Failed to sign the node."; + + case LASSO_DS_ERROR_CONTEXT_CREATION_FAILED: + return "Failed to create signature context."; + + case LASSO_DS_ERROR_DIGEST_COMPUTE_FAILED: + return "LASSO_DS_ERROR_DIGEST_COMPUTE_FAILED"; + + case LASSO_DS_ERROR_INVALID_SIGALG: + return "Invalid signature algorithm."; + + case LASSO_DS_ERROR_INVALID_SIGNATURE: + return "Invalid signature."; + case LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED: return "Failed to create keys manager."; + case LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED: return "Failed to initialize keys manager."; - case LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED: - return "Failed to verify signature."; - case LASSO_DS_ERROR_INVALID_SIGALG: - return "Invalid signature algorithm."; + + case LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED: + return "Failed to load private key."; + + case LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED: + return "Failed to load public key."; + + case LASSO_DS_ERROR_SIGNATURE_FAILED: + return "Failed to sign the node."; + + case LASSO_DS_ERROR_SIGNATURE_NOT_FOUND: + return "Signature element not found."; + case LASSO_DS_ERROR_SIGNATURE_TEMPLATE_NOT_FOUND: return "Signature template has not been found."; - case LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND: - return "ProviderID unknown to LassoServer."; - case LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED: - return "Failed to add new provider."; - case LASSO_SERVER_ERROR_ADD_PROVIDER_PROTOCOL_MISMATCH: - return "Failed to add new provider (protocol mismatch)."; - case LASSO_SERVER_ERROR_SET_ENCRYPTION_PRIVATE_KEY_FAILED: - return "Failed to load encryption private key."; + case LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED: + return "LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED"; + + case LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED: + return "Failed to verify signature."; + + case LASSO_ERROR_UNDEFINED: + return "Undefined error case"; + + case LASSO_ERROR_UNIMPLEMENTED: + return "Unimplemented part of Lasso"; + + case LASSO_LOGIN_ERROR_ASSERTION_REPLAY: + return "Assertion replay"; + + case LASSO_LOGIN_ERROR_CONSENT_NOT_OBTAINED: + return "LASSO_LOGIN_ERROR_CONSENT_NOT_OBTAINED"; + + case LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND: + return "Federation not found on login"; + + case LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY: + return "Invalid NameIDPolicy in lib:AuthnRequest"; + + case LASSO_LOGIN_ERROR_INVALID_SIGNATURE: + return "LASSO_LOGIN_ERROR_INVALID_SIGNATURE"; + + case LASSO_LOGIN_ERROR_NO_DEFAULT_ENDPOINT: + return "No default endpoint"; + + case LASSO_LOGIN_ERROR_REQUEST_DENIED: + return "Request denied"; + + case LASSO_LOGIN_ERROR_STATUS_NOT_SUCCESS: + return "Status code is not success"; + + case LASSO_LOGIN_ERROR_UNKNOWN_PRINCIPAL: + return "Unknown principal"; + + case LASSO_LOGIN_ERROR_UNSIGNED_AUTHN_REQUEST: + return "LASSO_LOGIN_ERROR_UNSIGNED_AUTHN_REQUEST"; - case LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE: - return "Unsupported protocol profile"; - case LASSO_LOGOUT_ERROR_REQUEST_DENIED: - return "Request denied by identity provider"; case LASSO_LOGOUT_ERROR_FEDERATION_NOT_FOUND: return "Federation not found on logout"; + + case LASSO_LOGOUT_ERROR_REQUEST_DENIED: + return "Request denied by identity provider"; + case LASSO_LOGOUT_ERROR_UNKNOWN_PRINCIPAL: return "Unknown principal on logout"; - case LASSO_PROFILE_ERROR_INVALID_QUERY: - return "Invalid URL query"; - case LASSO_PROFILE_ERROR_INVALID_POST_MSG: - return "Invalid POST message"; - case LASSO_PROFILE_ERROR_INVALID_SOAP_MSG: - return "Invalid SOAP message"; - case LASSO_PROFILE_ERROR_MISSING_REQUEST: - return "Missing request"; - case LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD: - 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: + case LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE: return "Unsupported protocol profile"; - case LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL: - return "Unable to find Profile URL in metadata"; - case LASSO_PROFILE_ERROR_IDENTITY_NOT_FOUND: - return "Identity not found"; - case LASSO_PROFILE_ERROR_FEDERATION_NOT_FOUND: - return "Federation not found"; - case LASSO_PROFILE_ERROR_NAME_IDENTIFIER_NOT_FOUND: - return "Name identifier not found"; + + case LASSO_NAME_IDENTIFIER_MAPPING_ERROR_FORBIDDEN_CALL_ON_THIS_SIDE: + return "LASSO_NAME_IDENTIFIER_MAPPING_ERROR_FORBIDDEN_CALL_ON_THIS_SIDE"; + + case LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_IDENTIFIER: + return "LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_IDENTIFIER"; + + case LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_NAMESPACE: + return "Target name space not found"; + + case LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ: + return "An object type provided as parameter"; + + case LASSO_PARAM_ERROR_CHECK_FAILED: + return "The error return location should be"; + + case LASSO_PARAM_ERROR_INVALID_VALUE: + return "A parameter value is invalid."; + + case LASSO_PARAM_ERROR_NON_INITIALIZED_OBJECT: + return "LASSO_PARAM_ERROR_NON_INITIALIZED_OBJECT"; + + case LASSO_PROFILE_ERROR_BAD_IDENTITY_DUMP: + return "Failed to create identity from dump"; + + case LASSO_PROFILE_ERROR_BAD_SESSION_DUMP: + return "Failed to create session from dump"; + + case LASSO_PROFILE_ERROR_BUILDING_MESSAGE_FAILED: + return "Error building request message"; + case LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED: return "Error building request QUERY url"; + case LASSO_PROFILE_ERROR_BUILDING_REQUEST_FAILED: return "Error building request object"; - case LASSO_PROFILE_ERROR_BUILDING_MESSAGE_FAILED: - return "Error building request message"; + case LASSO_PROFILE_ERROR_BUILDING_RESPONSE_FAILED: return "Error building response object"; - case LASSO_PROFILE_ERROR_SESSION_NOT_FOUND: - return "Session not found"; - case LASSO_PROFILE_ERROR_BAD_IDENTITY_DUMP: - return "Failed to create identity from dump"; - case LASSO_PROFILE_ERROR_BAD_SESSION_DUMP: - return "Failed to create session from dump"; - case LASSO_PROFILE_ERROR_MISSING_RESPONSE: - return "Missing response"; - case LASSO_PROFILE_ERROR_MISSING_STATUS_CODE: - return "Missing status code"; + + case LASSO_PROFILE_ERROR_FEDERATION_NOT_FOUND: + return "Federation not found"; + + case LASSO_PROFILE_ERROR_IDENTITY_NOT_FOUND: + return "Identity not found"; + + case LASSO_PROFILE_ERROR_INVALID_ARTIFACT: + return "Invalid artifact"; + + case LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD: + return "Invalid HTTP method"; + + case LASSO_PROFILE_ERROR_INVALID_MSG: + return "Invalid message"; + + case LASSO_PROFILE_ERROR_INVALID_POST_MSG: + return "Invalid POST message"; + + case LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE: + return "Invalid protocol profile"; + + case LASSO_PROFILE_ERROR_INVALID_QUERY: + return "Invalid URL query"; + + case LASSO_PROFILE_ERROR_INVALID_SOAP_MSG: + return "Invalid SOAP message"; + case LASSO_PROFILE_ERROR_MISSING_ARTIFACT: return "Missing SAML artifact"; + + case LASSO_PROFILE_ERROR_MISSING_ASSERTION: + return "Missing assertion"; + + case LASSO_PROFILE_ERROR_MISSING_ENCRYPTION_PRIVATE_KEY: + return "Found an encrypted element but encryption private key is not set"; + + case LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE: + return "Missing endpoint reference"; + + case LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE_ADDRESS: + return "Missing endpoint reference address"; + + case LASSO_PROFILE_ERROR_MISSING_ISSUER: + return "Missing issuer"; + + case LASSO_PROFILE_ERROR_MISSING_NAME_IDENTIFIER: + return "Missing name identifier"; + + case LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID: + return "ProviderID not found"; + + case LASSO_PROFILE_ERROR_MISSING_REQUEST: + return "Missing request"; + case LASSO_PROFILE_ERROR_MISSING_RESOURCE_OFFERING: return "Missing ressource offering"; + + case LASSO_PROFILE_ERROR_MISSING_RESPONSE: + return "Missing response"; + case LASSO_PROFILE_ERROR_MISSING_SERVICE_DESCRIPTION: return "Missing service description"; + + case LASSO_PROFILE_ERROR_MISSING_SERVICE_INSTANCE: + return "Missing service instance"; + case LASSO_PROFILE_ERROR_MISSING_SERVICE_TYPE: return "Missing service type"; - case LASSO_PROFILE_ERROR_MISSING_ASSERTION: - return "Missing assertion"; + + case LASSO_PROFILE_ERROR_MISSING_STATUS_CODE: + return "Missing status code"; + case LASSO_PROFILE_ERROR_MISSING_SUBJECT: return "Missing subject"; - case LASSO_PROFILE_ERROR_MISSING_NAME_IDENTIFIER: - return "Missing name identifier"; - case LASSO_PROFILE_ERROR_INVALID_ARTIFACT: - return "Invalid artifact"; - case LASSO_PROFILE_ERROR_MISSING_ENCRYPTION_PRIVATE_KEY: - return "Found an encrypted element but encryption private key is not set"; + + case LASSO_PROFILE_ERROR_NAME_IDENTIFIER_NOT_FOUND: + return "Name identifier not found"; + + case LASSO_PROFILE_ERROR_SESSION_NOT_FOUND: + return "Session not found"; + case LASSO_PROFILE_ERROR_STATUS_NOT_SUCCESS: return "Status code is not success"; - case LASSO_PROFILE_ERROR_MISSING_ISSUER: - return "Missing issuer"; - case LASSO_PROFILE_ERROR_MISSING_SERVICE_INSTANCE: - return "Missing service instance"; - case LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE: - return "Missing endpoint reference"; - case LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE_ADDRESS: - return "Missing endpoint reference address"; - case LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ: - return "An object type provided as parameter "\ - "is invalid or object is NULL."; - case LASSO_PARAM_ERROR_INVALID_VALUE: - return "A parameter value is invalid."; - case LASSO_PARAM_ERROR_CHECK_FAILED: - return "The error return location should be "\ - "either NULL or contains a NULL error."; + case LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL: + return "Unable to find Profile URL in metadata"; - case LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY: - return "Invalid NameIDPolicy in lib:AuthnRequest"; + case LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE: + return "Unsupported protocol profile"; - case LASSO_DEFEDERATION_ERROR_MISSING_NAME_IDENTIFIER: - return "Name identifier not found in request"; - case LASSO_LOGIN_ERROR_UNKNOWN_PRINCIPAL: - return "Unknown principal"; - case LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND: - return "Federation not found on login"; - case LASSO_LOGIN_ERROR_REQUEST_DENIED: - return "Request denied"; - case LASSO_LOGIN_ERROR_NO_DEFAULT_ENDPOINT: - return "No default endpoint"; - case LASSO_LOGIN_ERROR_ASSERTION_REPLAY: - return "Assertion replay"; - case LASSO_LOGIN_ERROR_STATUS_NOT_SUCCESS: - return "Status code is not success"; + case LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED: + return "Failed to add new provider."; + + case LASSO_SERVER_ERROR_ADD_PROVIDER_PROTOCOL_MISMATCH: + return "Failed to add new provider (protocol mismatch)."; + + case LASSO_SERVER_ERROR_INVALID_XML: + return "LASSO_SERVER_ERROR_INVALID_XML"; + + case LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND: + return "ProviderID unknown to LassoServer."; + + case LASSO_SERVER_ERROR_SET_ENCRYPTION_PRIVATE_KEY_FAILED: + return "Failed to load encryption private key."; + + case LASSO_SOAP_ERROR_MISSING_BODY: + return "Missing SOAP body"; - case LASSO_SOAP_FAULT_REDIRECT_REQUEST: - return "Redirect request from Attribute Provider"; case LASSO_SOAP_ERROR_MISSING_ENVELOPE: return "Missing SOAP envelope"; + case LASSO_SOAP_ERROR_MISSING_HEADER: return "Missing SOAP header"; - case LASSO_SOAP_ERROR_MISSING_BODY: - return "Missing SOAP body"; + case LASSO_SOAP_ERROR_MISSING_SOAP_FAULT_DETAIL: return "Missing SOAP fault detail"; - case LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_NAMESPACE: - return "Target name space not found"; + case LASSO_SOAP_FAULT_REDIRECT_REQUEST: + return "Redirect request from Attribute Provider"; - case LASSO_DISCOVERY_ERROR_SVC_METADATA_REGISTER_FAILED: - return "Service metadata registration failed"; - case LASSO_DISCOVERY_ERROR_SVC_METADATA_ASSOCIATION_ADD_FAILED: - return "Service metadata association failed"; - case LASSO_DISCOVERY_ERROR_MISSING_REQUESTED_SERVICE: - return "Missing requested service"; - case LASSO_DISCOVERY_ERROR_FAILED_TO_BUILD_ENDPOINT_REFERENCE: - return "Failed to build Endpoint Reference"; + case LASSO_WSF_PROFILE_ERROR_MISSING_ASSERTION_ID: + return "AssertionID attribute is missing"; - case LASSO_DST_ERROR_MISSING_SERVICE_DATA: - return "Missing service data"; - case LASSO_DST_ERROR_QUERY_FAILED: - return "Query failed"; - case LASSO_DST_ERROR_QUERY_PARTIALLY_FAILED: - return "Query partially failed : some items were correctly processed"; - case LASSO_DST_ERROR_MODIFY_FAILED: - return "Modify failed"; - case LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED: - return "Modify partially failed : some items were correctly processed"; - case LASSO_DST_ERROR_NEW_DATA_MISSING: - return "Missing new data"; + case LASSO_WSF_PROFILE_ERROR_MISSING_CORRELATION: + return "LASSO_WSF_PROFILE_ERROR_MISSING_CORRELATION"; + + case LASSO_WSF_PROFILE_ERROR_MISSING_ENDPOINT: + return "LASSO_WSF_PROFILE_ERROR_MISSING_ENDPOINT"; + + case LASSO_WSF_PROFILE_ERROR_MISSING_SECURITY: + return "LASSO_WSF_PROFILE_ERROR_MISSING_SECURITY"; + + case LASSO_WSF_PROFILE_ERROR_SOAP_FAULT: + return "LASSO_WSF_PROFILE_ERROR_SOAP_FAULT"; + + case LASSO_WSF_PROFILE_ERROR_UNSUPPORTED_SECURITY_MECHANISM: + return "LASSO_WSF_PROFILE_ERROR_UNSUPPORTED_SECURITY_MECHANISM"; + + case LASSO_XML_ERROR_ATTR_NOT_FOUND: + return "Unable to get attribute of element."; + + case LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND: + return "Unable to get attribute value of element."; + + case LASSO_XML_ERROR_INVALID_FILE: + return "Invalid XML file"; + + case LASSO_XML_ERROR_MISSING_NAMESPACE: + return "LASSO_XML_ERROR_MISSING_NAMESPACE"; + + case LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND: + return "Unable to get content of element."; + + case LASSO_XML_ERROR_NODE_NOT_FOUND: + return "Unable to get child of element."; + + case LASSO_XML_ERROR_OBJECT_CONSTRUCTION_FAILED: + return "LASSO_XML_ERROR_OBJECT_CONSTRUCTION_FAILED"; default: - return "Error"; + return "Unknown LASSO_ERROR, you should regenerate errors.c"; } } diff --git a/lasso/errors.c.in b/lasso/errors.c.in new file mode 100644 index 00000000..5d46ced1 --- /dev/null +++ b/lasso/errors.c.in @@ -0,0 +1,38 @@ +/* $Id$ + * + * Lasso - A free implementation of the Liberty Alliance specifications. + * + * Copyright (C) 2004-2007 Entr'ouvert + * http://lasso.entrouvert.org + * + * Authors: See AUTHORS file in top-level directory. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <glib/gstrfuncs.h> +#include <lasso/errors.h> +#include <lasso/xml/xml.h> + + +const char* +lasso_strerror(int error_code) +{ + switch (error_code) { +@ERROR_CASES@ + default: + return "Unknown LASSO_ERROR, you should regenerate errors.c"; + } +} diff --git a/lasso/errors.h b/lasso/errors.h index 21b972fb..48153e9d 100644 --- a/lasso/errors.h +++ b/lasso/errors.h @@ -26,115 +26,116 @@ /* Positive errors : Liberty Alliance recoverable errors */ /* undefined */ -#define LASSO_ERROR_UNDEFINED -1 -#define LASSO_ERROR_UNIMPLEMENTED -2 +#define LASSO_ERROR_UNDEFINED -1 /* Undefined error case */ +#define LASSO_ERROR_UNIMPLEMENTED -2 /* Unimplemented part of Lasso */ /* generic XML */ -#define LASSO_XML_ERROR_NODE_NOT_FOUND -10 -#define LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND -11 -#define LASSO_XML_ERROR_ATTR_NOT_FOUND -12 -#define LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND -13 -#define LASSO_XML_ERROR_INVALID_FILE -14 +#define LASSO_XML_ERROR_NODE_NOT_FOUND -10 /* Unable to get child of element. */ +#define LASSO_XML_ERROR_NODE_CONTENT_NOT_FOUND -11 /* Unable to get content of element. */ +#define LASSO_XML_ERROR_ATTR_NOT_FOUND -12 /* Unable to get attribute of element. */ +#define LASSO_XML_ERROR_ATTR_VALUE_NOT_FOUND -13 /* Unable to get attribute value of element. */ +#define LASSO_XML_ERROR_INVALID_FILE -14 /* Invalid XML file */ #define LASSO_XML_ERROR_OBJECT_CONSTRUCTION_FAILED -15 #define LASSO_XML_ERROR_MISSING_NAMESPACE -16 /* XMLDSig */ -#define LASSO_DS_ERROR_SIGNATURE_NOT_FOUND 101 -#define LASSO_DS_ERROR_INVALID_SIGNATURE 102 +#define LASSO_DS_ERROR_SIGNATURE_NOT_FOUND 101 /* Signature element not found. */ +#define LASSO_DS_ERROR_INVALID_SIGNATURE 102 /* Invalid signature. */ #define LASSO_DS_ERROR_SIGNATURE_TMPL_CREATION_FAILED -103 -#define LASSO_DS_ERROR_CONTEXT_CREATION_FAILED -104 -#define LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED -105 -#define LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED -106 -#define LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED -107 -#define LASSO_DS_ERROR_SIGNATURE_FAILED -108 -#define LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED -109 -#define LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED -110 -#define LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED -111 +#define LASSO_DS_ERROR_CONTEXT_CREATION_FAILED -104 /* Failed to create signature context. */ +#define LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED -105 /* Failed to load public key. */ +#define LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED -106 /* Failed to load private key. */ +#define LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED -107 /* Failed to load certificate. */ +#define LASSO_DS_ERROR_SIGNATURE_FAILED -108 /* Failed to sign the node. */ +#define LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED -109 /* Failed to create keys manager. */ +#define LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED -110 /* Failed to initialize keys manager. */ +#define LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED -111 /* Failed to verify signature. */ #define LASSO_DS_ERROR_CA_CERT_CHAIN_LOAD_FAILED -112 -#define LASSO_DS_ERROR_INVALID_SIGALG -113 +#define LASSO_DS_ERROR_INVALID_SIGALG -113 /* Invalid signature algorithm. */ #define LASSO_DS_ERROR_DIGEST_COMPUTE_FAILED -114 -#define LASSO_DS_ERROR_SIGNATURE_TEMPLATE_NOT_FOUND -115 +#define LASSO_DS_ERROR_SIGNATURE_TEMPLATE_NOT_FOUND -115 /* Signature template has not been found. */ /* Server */ -#define LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND -201 -#define LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED -202 -#define LASSO_SERVER_ERROR_ADD_PROVIDER_PROTOCOL_MISMATCH -203 -#define LASSO_SERVER_ERROR_SET_ENCRYPTION_PRIVATE_KEY_FAILED 204 +#define LASSO_SERVER_ERROR_PROVIDER_NOT_FOUND -201 /* ProviderID unknown to LassoServer. */ +#define LASSO_SERVER_ERROR_ADD_PROVIDER_FAILED -202 /* Failed to add new provider. */ +#define LASSO_SERVER_ERROR_ADD_PROVIDER_PROTOCOL_MISMATCH -203 /* Failed to add new provider (protocol mismatch). */ +#define LASSO_SERVER_ERROR_SET_ENCRYPTION_PRIVATE_KEY_FAILED 204 /* Failed to load encryption private key. */ #define LASSO_SERVER_ERROR_INVALID_XML -205 /* Single Logout */ -#define LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE -301 -#define LASSO_LOGOUT_ERROR_REQUEST_DENIED 302 -#define LASSO_LOGOUT_ERROR_FEDERATION_NOT_FOUND 303 -#define LASSO_LOGOUT_ERROR_UNKNOWN_PRINCIPAL 304 +#define LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE -301 /* Unsupported protocol profile */ +#define LASSO_LOGOUT_ERROR_REQUEST_DENIED 302 /* Request denied by identity provider */ +#define LASSO_LOGOUT_ERROR_FEDERATION_NOT_FOUND 303 /* Federation not found on logout */ +#define LASSO_LOGOUT_ERROR_UNKNOWN_PRINCIPAL 304 /* Unknown principal on logout */ /* Profile */ -#define LASSO_PROFILE_ERROR_INVALID_QUERY -401 -#define LASSO_PROFILE_ERROR_INVALID_POST_MSG -402 -#define LASSO_PROFILE_ERROR_INVALID_SOAP_MSG -403 -#define LASSO_PROFILE_ERROR_MISSING_REQUEST -404 -#define LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD -405 -#define LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE -406 -#define LASSO_PROFILE_ERROR_INVALID_MSG -407 -#define LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID -408 -#define LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE -409 -#define LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL -410 -#define LASSO_PROFILE_ERROR_IDENTITY_NOT_FOUND -411 -#define LASSO_PROFILE_ERROR_FEDERATION_NOT_FOUND -412 -#define LASSO_PROFILE_ERROR_NAME_IDENTIFIER_NOT_FOUND -413 -#define LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED -414 -#define LASSO_PROFILE_ERROR_BUILDING_REQUEST_FAILED -415 -#define LASSO_PROFILE_ERROR_BUILDING_MESSAGE_FAILED -416 -#define LASSO_PROFILE_ERROR_BUILDING_RESPONSE_FAILED -417 -#define LASSO_PROFILE_ERROR_SESSION_NOT_FOUND -418 -#define LASSO_PROFILE_ERROR_BAD_IDENTITY_DUMP -419 -#define LASSO_PROFILE_ERROR_BAD_SESSION_DUMP -420 -#define LASSO_PROFILE_ERROR_MISSING_RESPONSE -421 -#define LASSO_PROFILE_ERROR_MISSING_STATUS_CODE -422 -#define LASSO_PROFILE_ERROR_MISSING_ARTIFACT -423 -#define LASSO_PROFILE_ERROR_MISSING_RESOURCE_OFFERING 424 -#define LASSO_PROFILE_ERROR_MISSING_SERVICE_DESCRIPTION 425 -#define LASSO_PROFILE_ERROR_MISSING_SERVICE_TYPE 426 -#define LASSO_PROFILE_ERROR_MISSING_ASSERTION -427 -#define LASSO_PROFILE_ERROR_MISSING_SUBJECT -428 -#define LASSO_PROFILE_ERROR_MISSING_NAME_IDENTIFIER -429 -#define LASSO_PROFILE_ERROR_INVALID_ARTIFACT -430 -#define LASSO_PROFILE_ERROR_MISSING_ENCRYPTION_PRIVATE_KEY -431 -#define LASSO_PROFILE_ERROR_STATUS_NOT_SUCCESS -432 -#define LASSO_PROFILE_ERROR_MISSING_ISSUER -433 -#define LASSO_PROFILE_ERROR_MISSING_SERVICE_INSTANCE -434 -#define LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE -435 -#define LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE_ADDRESS -436 +#define LASSO_PROFILE_ERROR_INVALID_QUERY -401 /* Invalid URL query */ +#define LASSO_PROFILE_ERROR_INVALID_POST_MSG -402 /* Invalid POST message */ +#define LASSO_PROFILE_ERROR_INVALID_SOAP_MSG -403 /* Invalid SOAP message */ +#define LASSO_PROFILE_ERROR_MISSING_REQUEST -404 /* Missing request */ +#define LASSO_PROFILE_ERROR_INVALID_HTTP_METHOD -405 /* Invalid HTTP method */ +#define LASSO_PROFILE_ERROR_INVALID_PROTOCOLPROFILE -406 /* Invalid protocol profile */ +#define LASSO_PROFILE_ERROR_INVALID_MSG -407 /* Invalid message */ +#define LASSO_PROFILE_ERROR_MISSING_REMOTE_PROVIDERID -408 /* ProviderID not found */ +#define LASSO_PROFILE_ERROR_UNSUPPORTED_PROFILE -409 /* Unsupported protocol profile */ +#define LASSO_PROFILE_ERROR_UNKNOWN_PROFILE_URL -410 /* Unable to find Profile URL in metadata */ +#define LASSO_PROFILE_ERROR_IDENTITY_NOT_FOUND -411 /* Identity not found */ +#define LASSO_PROFILE_ERROR_FEDERATION_NOT_FOUND -412 /* Federation not found */ +#define LASSO_PROFILE_ERROR_NAME_IDENTIFIER_NOT_FOUND -413 /* Name identifier not found */ +#define LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED -414 /* Error building request QUERY url */ +#define LASSO_PROFILE_ERROR_BUILDING_REQUEST_FAILED -415 /* Error building request object */ +#define LASSO_PROFILE_ERROR_BUILDING_MESSAGE_FAILED -416 /* Error building request message */ +#define LASSO_PROFILE_ERROR_BUILDING_RESPONSE_FAILED -417 /* Error building response object */ +#define LASSO_PROFILE_ERROR_SESSION_NOT_FOUND -418 /* Session not found */ +#define LASSO_PROFILE_ERROR_BAD_IDENTITY_DUMP -419 /* Failed to create identity from dump */ +#define LASSO_PROFILE_ERROR_BAD_SESSION_DUMP -420 /* Failed to create session from dump */ +#define LASSO_PROFILE_ERROR_MISSING_RESPONSE -421 /* Missing response */ +#define LASSO_PROFILE_ERROR_MISSING_STATUS_CODE -422 /* Missing status code */ +#define LASSO_PROFILE_ERROR_MISSING_ARTIFACT -423 /* Missing SAML artifact */ +#define LASSO_PROFILE_ERROR_MISSING_RESOURCE_OFFERING 424 /* Missing ressource offering */ +#define LASSO_PROFILE_ERROR_MISSING_SERVICE_DESCRIPTION 425 /* Missing service description */ +#define LASSO_PROFILE_ERROR_MISSING_SERVICE_TYPE 426 /* Missing service type */ +#define LASSO_PROFILE_ERROR_MISSING_ASSERTION -427 /* Missing assertion */ +#define LASSO_PROFILE_ERROR_MISSING_SUBJECT -428 /* Missing subject */ +#define LASSO_PROFILE_ERROR_MISSING_NAME_IDENTIFIER -429 /* Missing name identifier */ +#define LASSO_PROFILE_ERROR_INVALID_ARTIFACT -430 /* Invalid artifact */ +#define LASSO_PROFILE_ERROR_MISSING_ENCRYPTION_PRIVATE_KEY -431 /* Found an encrypted element but encryption private key is not set */ +#define LASSO_PROFILE_ERROR_STATUS_NOT_SUCCESS -432 /* Status code is not success */ +#define LASSO_PROFILE_ERROR_MISSING_ISSUER -433 /* Missing issuer */ +#define LASSO_PROFILE_ERROR_MISSING_SERVICE_INSTANCE -434 /* Missing service instance */ +#define LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE -435 /* Missing endpoint reference */ +#define LASSO_PROFILE_ERROR_MISSING_ENDPOINT_REFERENCE_ADDRESS -436 /* Missing endpoint reference address */ /* functions/methods parameters checking */ -#define LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ -501 -#define LASSO_PARAM_ERROR_INVALID_VALUE -502 -#define LASSO_PARAM_ERROR_CHECK_FAILED -503 +#define LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ -501 /* An object type provided as parameter */ +#define LASSO_PARAM_ERROR_INVALID_VALUE -502 /* A parameter value is invalid. */ +#define LASSO_PARAM_ERROR_CHECK_FAILED -503 /* The error return location should be */ +#define LASSO_PARAM_ERROR_NON_INITIALIZED_OBJECT -504 /* Single Sign-On */ -#define LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND 601 +#define LASSO_LOGIN_ERROR_FEDERATION_NOT_FOUND 601 /* Federation not found on login */ #define LASSO_LOGIN_ERROR_CONSENT_NOT_OBTAINED 602 -#define LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY -603 -#define LASSO_LOGIN_ERROR_REQUEST_DENIED 604 +#define LASSO_LOGIN_ERROR_INVALID_NAMEIDPOLICY -603 /* Invalid NameIDPolicy in lib:AuthnRequest */ +#define LASSO_LOGIN_ERROR_REQUEST_DENIED 604 /* Request denied */ #define LASSO_LOGIN_ERROR_INVALID_SIGNATURE 605 #define LASSO_LOGIN_ERROR_UNSIGNED_AUTHN_REQUEST 606 -#define LASSO_LOGIN_ERROR_STATUS_NOT_SUCCESS 607 -#define LASSO_LOGIN_ERROR_UNKNOWN_PRINCIPAL 608 -#define LASSO_LOGIN_ERROR_NO_DEFAULT_ENDPOINT 609 -#define LASSO_LOGIN_ERROR_ASSERTION_REPLAY 610 +#define LASSO_LOGIN_ERROR_STATUS_NOT_SUCCESS 607 /* Status code is not success */ +#define LASSO_LOGIN_ERROR_UNKNOWN_PRINCIPAL 608 /* Unknown principal */ +#define LASSO_LOGIN_ERROR_NO_DEFAULT_ENDPOINT 609 /* No default endpoint */ +#define LASSO_LOGIN_ERROR_ASSERTION_REPLAY 610 /* Assertion replay */ /* Federation Termination Notification */ -#define LASSO_DEFEDERATION_ERROR_MISSING_NAME_IDENTIFIER -700 +#define LASSO_DEFEDERATION_ERROR_MISSING_NAME_IDENTIFIER -700 /* Name identifier not found in request */ /* Soap */ -#define LASSO_SOAP_FAULT_REDIRECT_REQUEST 800 -#define LASSO_SOAP_ERROR_MISSING_ENVELOPE -801 -#define LASSO_SOAP_ERROR_MISSING_HEADER -802 -#define LASSO_SOAP_ERROR_MISSING_BODY -803 -#define LASSO_SOAP_ERROR_MISSING_SOAP_FAULT_DETAIL -804 +#define LASSO_SOAP_FAULT_REDIRECT_REQUEST 800 /* Redirect request from Attribute Provider */ +#define LASSO_SOAP_ERROR_MISSING_ENVELOPE -801 /* Missing SOAP envelope */ +#define LASSO_SOAP_ERROR_MISSING_HEADER -802 /* Missing SOAP header */ +#define LASSO_SOAP_ERROR_MISSING_BODY -803 /* Missing SOAP body */ +#define LASSO_SOAP_ERROR_MISSING_SOAP_FAULT_DETAIL -804 /* Missing SOAP fault detail */ /* Name Identifier Mapping */ -#define LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_NAMESPACE -900 +#define LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_NAMESPACE -900 /* Target name space not found */ #define LASSO_NAME_IDENTIFIER_MAPPING_ERROR_FORBIDDEN_CALL_ON_THIS_SIDE -901 #define LASSO_NAME_IDENTIFIER_MAPPING_ERROR_MISSING_TARGET_IDENTIFIER -902 @@ -144,18 +145,25 @@ /* WSF Profile */ #define LASSO_WSF_PROFILE_ERROR_MISSING_CORRELATION -1100 #define LASSO_WSF_PROFILE_ERROR_MISSING_SECURITY -1101 +<<<<<<< HEAD:lasso/errors.h +======= +#define LASSO_WSF_PROFILE_ERROR_MISSING_ASSERTION_ID -1102 /* AssertionID attribute is missing */ +#define LASSO_WSF_PROFILE_ERROR_MISSING_ENDPOINT -1103 +#define LASSO_WSF_PROFILE_ERROR_SOAP_FAULT 1104 +#define LASSO_WSF_PROFILE_ERROR_UNSUPPORTED_SECURITY_MECHANISM 1105 +>>>>>>> ba6d13d... * Move error message inside comments in lasso/errors.h:lasso/errors.h /* ID-WSF 2 Discovery */ -#define LASSO_DISCOVERY_ERROR_SVC_METADATA_REGISTER_FAILED -1200 -#define LASSO_DISCOVERY_ERROR_SVC_METADATA_ASSOCIATION_ADD_FAILED -1201 -#define LASSO_DISCOVERY_ERROR_MISSING_REQUESTED_SERVICE -1202 -#define LASSO_DISCOVERY_ERROR_FAILED_TO_BUILD_ENDPOINT_REFERENCE -1203 +#define LASSO_DISCOVERY_ERROR_SVC_METADATA_REGISTER_FAILED -1200 /* Service metadata registration failed */ +#define LASSO_DISCOVERY_ERROR_SVC_METADATA_ASSOCIATION_ADD_FAILED -1201 /* Service metadata association failed */ +#define LASSO_DISCOVERY_ERROR_MISSING_REQUESTED_SERVICE -1202 /* Missing requested service */ +#define LASSO_DISCOVERY_ERROR_FAILED_TO_BUILD_ENDPOINT_REFERENCE -1203 /* Failed to build Endpoint Reference */ /* ID-WSF 2 Data Service */ -#define LASSO_DST_ERROR_MISSING_SERVICE_DATA -1300 -#define LASSO_DST_ERROR_QUERY_FAILED -1301 -#define LASSO_DST_ERROR_QUERY_PARTIALLY_FAILED -1302 -#define LASSO_DST_ERROR_MODIFY_FAILED -1303 -#define LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED -1304 -#define LASSO_DST_ERROR_NEW_DATA_MISSING -1305 +#define LASSO_DST_ERROR_MISSING_SERVICE_DATA -1300 /* Missing service data */ +#define LASSO_DST_ERROR_QUERY_FAILED -1301 /* Query failed */ +#define LASSO_DST_ERROR_QUERY_PARTIALLY_FAILED -1302 /* Query partially failed : some items were correctly processed */ +#define LASSO_DST_ERROR_MODIFY_FAILED -1303 /* Modify failed */ +#define LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED -1304 /* Modify partially failed : some items were correctly processed */ +#define LASSO_DST_ERROR_NEW_DATA_MISSING -1305 /* Missing new data */ |
