diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-03-29 18:06:07 +0200 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-03-29 18:43:47 +0200 |
| commit | 8df7a0022c90b39ed2da8685d882a20d8d9b9c02 (patch) | |
| tree | faf0fd71ed6da38b0a9faf806b170b880d0c0987 | |
| parent | 04dd5610b0d5905a543774b0753e76f245456b37 (diff) | |
[saml2] improve reporting of errors when loading a provider metadata file
| -rw-r--r-- | lasso/saml-2.0/provider.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lasso/saml-2.0/provider.c b/lasso/saml-2.0/provider.c index 35beeaa9..91373f3d 100644 --- a/lasso/saml-2.0/provider.c +++ b/lasso/saml-2.0/provider.c @@ -25,6 +25,7 @@ #define _POSIX_SOURCE #include <errno.h> +#include <string.h> #include "../xml/private.h" #include <xmlsec/base64.h> @@ -423,6 +424,8 @@ lasso_saml20_provider_load_metadata(LassoProvider *provider, xmlNode *root_node) { xmlNode *node, *descriptor_node; xmlChar *providerID; + xmlChar providerID_cpy[150] = ""; + LassoProviderPrivate *pdata = provider->private_data; static const struct { char *name; @@ -459,6 +462,7 @@ lasso_saml20_provider_load_metadata(LassoProvider *provider, xmlNode *root_node) providerID = xmlGetProp(node, (xmlChar*)"entityID"); g_return_val_if_fail(providerID, FALSE); lasso_assign_string(provider->ProviderID, (char*)providerID); + g_strlcpy((char*) providerID_cpy, (char*) providerID, 150); lasso_release_xml_string(providerID); /* initialize roles */ pdata->roles = LASSO_PROVIDER_ROLE_NONE; @@ -497,10 +501,11 @@ lasso_saml20_provider_load_metadata(LassoProvider *provider, xmlNode *root_node) /* We must at least load one descriptor, and we must load a descriptor for our * assigned role or we fail. */ if (! loaded_one_or_more_descriptor) { - warning("No descriptor was loaded, failing"); + warning("%s: No descriptor was loaded, failing", providerID_cpy); } if ((pdata->roles & provider->role) == 0) { - warning("Loaded roles and prescribed role does not intersect"); + warning("%s: Loaded roles and prescribed role does not intersect", + providerID_cpy); } return FALSE; } |
