diff options
| author | Damien Laniel <dlaniel@entrouvert.com> | 2006-11-09 13:49:49 +0000 |
|---|---|---|
| committer | Damien Laniel <dlaniel@entrouvert.com> | 2006-11-09 13:49:49 +0000 |
| commit | 59c70367cb340a213ccfd5b42ee46743418fe3da (patch) | |
| tree | c0471a358599b4191d18d2e86aa9548e5c125d19 | |
| parent | 88e442ca1ee161a27ddc2dea54d9c1ba9ddd1b00 (diff) | |
| download | lasso-59c70367cb340a213ccfd5b42ee46743418fe3da.tar.gz lasso-59c70367cb340a213ccfd5b42ee46743418fe3da.tar.xz lasso-59c70367cb340a213ccfd5b42ee46743418fe3da.zip | |
changed prototype for lasso_server_set_encryption_private_key and added error handling
| -rw-r--r-- | lasso/errors.c | 2 | ||||
| -rw-r--r-- | lasso/errors.h | 1 | ||||
| -rw-r--r-- | lasso/id-ff/server.c | 8 | ||||
| -rw-r--r-- | lasso/id-ff/server.h | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/lasso/errors.c b/lasso/errors.c index a32959a9..f6f1b00a 100644 --- a/lasso/errors.c +++ b/lasso/errors.c @@ -74,6 +74,8 @@ lasso_strerror(int error_code) 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_LOGOUT_ERROR_UNSUPPORTED_PROFILE: return "Unsupported protocol profile"; diff --git a/lasso/errors.h b/lasso/errors.h index af377f25..e2c3aa4a 100644 --- a/lasso/errors.h +++ b/lasso/errors.h @@ -56,6 +56,7 @@ #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 /* Single Logout */ #define LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE -301 diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 66f182a1..6676cb50 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -122,8 +122,8 @@ lasso_server_destroy(LassoServer *server) lasso_node_destroy(LASSO_NODE(server)); } -gboolean -lasso_set_encryption_private_key(LassoServer *server, gchar *file_name) +int +lasso_server_set_encryption_private_key(LassoServer *server, gchar *file_name) { LassoPemFileType file_type; @@ -134,7 +134,9 @@ lasso_set_encryption_private_key(LassoServer *server, gchar *file_name) xmlSecKeyDataFormatPem, NULL, NULL, NULL); } - return (server->private_data->encryption_private_key != NULL); + if (server->private_data->encryption_private_key == NULL) + return LASSO_SERVER_ERROR_SET_ENCRYPTION_PRIVATE_KEY_FAILED; + return 0; } diff --git a/lasso/id-ff/server.h b/lasso/id-ff/server.h index da84d5ef..6798c890 100644 --- a/lasso/id-ff/server.h +++ b/lasso/id-ff/server.h @@ -96,7 +96,7 @@ LASSO_EXPORT LassoProvider* lasso_server_get_provider(LassoServer *server, gchar LASSO_EXPORT LassoDiscoServiceInstance* lasso_server_get_service(LassoServer *server, gchar *serviceType); -LASSO_EXPORT gboolean lasso_set_encryption_private_key(LassoServer *server, gchar *file_name); +LASSO_EXPORT int lasso_server_set_encryption_private_key(LassoServer *server, gchar *file_name); #ifdef __cplusplus } |
