summaryrefslogtreecommitdiffstats
path: root/lasso/xml/errors.c
diff options
context:
space:
mode:
Diffstat (limited to 'lasso/xml/errors.c')
-rw-r--r--lasso/xml/errors.c34
1 files changed, 33 insertions, 1 deletions
diff --git a/lasso/xml/errors.c b/lasso/xml/errors.c
index df152193..f2e823cd 100644
--- a/lasso/xml/errors.c
+++ b/lasso/xml/errors.c
@@ -24,10 +24,14 @@
*/
#include "errors.h"
+#include <stdio.h>
+#include <string.h>
const char*
lasso_strerror(int error_code)
{
+ char msg[256];
+
switch (error_code) {
case LASSO_XML_ERROR_NODE_NOTFOUND:
return "Unable to get '%s' child of '%s' element.\n";
@@ -37,7 +41,35 @@ lasso_strerror(int error_code)
return "Unable to get '%s' attribute of '%s' element.\n";
case LASSO_XML_ERROR_ATTR_VALUE_NOTFOUND:
return "Unable to get '%s' attribute value of '%s' element.\n";
+
+ case LASSO_DS_ERROR_CONTEXT_CREATION_FAILED:
+ return "Failed to create signature context.\n";
+ case LASSO_DS_ERROR_PUBLIC_KEY_LOAD_FAILED:
+ return "Failed to load public key %s.\n";
+ case LASSO_DS_ERROR_PRIVATE_KEY_LOAD_FAILED:
+ return "Failed to load private key %s.\n";
+ case LASSO_DS_ERROR_CERTIFICATE_LOAD_FAILED:
+ return "Failed to load certificate %s.\n";
+ case LASSO_DS_ERROR_SIGNATURE_FAILED:
+ return "Failed to sign the node.\n";
+ case LASSO_DS_ERROR_SIGNATURE_NOTFOUND:
+ return "Signature element not found in %s.\n";
+ case LASSO_DS_ERROR_KEYS_MNGR_CREATION_FAILED:
+ return "Failed to create keys manager.\n";
+ case LASSO_DS_ERROR_KEYS_MNGR_INIT_FAILED:
+ return "Failed to initialize keys manager.\n";
+ case LASSO_DS_ERROR_SIGNATURE_VERIFICATION_FAILED:
+ return "Failed to verify signature of %s.\n";
+ case LASSO_DS_ERROR_INVALID_SIGNATURE:
+ return "The signature of %s is invalid.\n";
+
+ case LASSO_PARAM_ERROR_INVALID_OBJ_TYPE:
+ return "The type of an object provided as parameter is invalid.\n";
+ case LASSO_PARAM_ERROR_INVALID_VALUE:
+ return "The value of a parameter is invalid.\n";
+
default:
- return "Undefined error code !!!\n";
+ sprintf(msg, "Undefined error code %d !!!", error_code);
+ return(strdup(msg));
}
}