diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-11-05 11:23:29 +0000 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-11-05 11:23:29 +0000 |
commit | aff32ad997c347ecb01199b98040ec81957b4b9c (patch) | |
tree | 67b696e5e44bfaf0165910e3cee428e32fd416c7 /lasso | |
parent | f60b39eb9a4466a48e873660dd818e51831147cf (diff) | |
download | lasso-aff32ad997c347ecb01199b98040ec81957b4b9c.tar.gz lasso-aff32ad997c347ecb01199b98040ec81957b4b9c.tar.xz lasso-aff32ad997c347ecb01199b98040ec81957b4b9c.zip |
Add log message in the metadata loading process
- lasso/id-ff/provider.c, lasso/saml-2.0/provider.c: add critical log
message in each failed loading of metadatas branch cases.
Diffstat (limited to 'lasso')
-rw-r--r-- | lasso/id-ff/provider.c | 10 | ||||
-rw-r--r-- | lasso/saml-2.0/provider.c | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index f11e62fe..a1a8d65e 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -700,7 +700,13 @@ lasso_provider_load_metadata_from_buffer(LassoProvider *provider, const gchar *m g_return_val_if_fail(LASSO_IS_PROVIDER(provider), FALSE); doc = xmlParseDoc((xmlChar*)metadata); - goto_exit_if_fail (doc != NULL, FALSE); + if (doc == NULL) { + char *extract; + extract = lasso_safe_prefix_string(metadata, 80); + message(G_LOG_LEVEL_CRITICAL, "Cannot parse metadatas: '%s'", extract); + lasso_release(extract); + return FALSE; + } goto_exit_if_fail (lasso_provider_load_metadata_from_doc(provider, doc), FALSE); lasso_assign_string(provider->metadata_filename, metadata); exit: @@ -755,6 +761,7 @@ lasso_provider_load_metadata_from_doc(LassoProvider *provider, xmlDoc *doc) node = xmlDocGetRootElement(doc); if (node == NULL || node->ns == NULL) { + message (G_LOG_LEVEL_CRITICAL, "lasso_provider_load_metadata_from_doc: no root element"); return FALSE; } @@ -779,6 +786,7 @@ lasso_provider_load_metadata_from_doc(LassoProvider *provider, xmlDoc *doc) xpathObj = xmlXPathEvalExpression( (xmlChar*)"/md11:SPDescriptor|/md11:IDPDescriptor", xpathCtx); if (xpathObj->nodesetval == NULL || xpathObj->nodesetval->nodeNr == 0) { + message (G_LOG_LEVEL_CRITICAL, "lasso_saml20_provider_load_metadata_from_doc: no md12:EntityDescriptor or md11:SPDesriptor or md11:IDPDescriptor"); xmlXPathFreeObject(xpathObj); xmlXPathFreeContext(xpathCtx); return FALSE; diff --git a/lasso/saml-2.0/provider.c b/lasso/saml-2.0/provider.c index f3b4c159..1bc06271 100644 --- a/lasso/saml-2.0/provider.c +++ b/lasso/saml-2.0/provider.c @@ -161,16 +161,21 @@ lasso_saml20_provider_load_metadata(LassoProvider *provider, xmlNode *root_node) while (node && strcmp((char*)node->name, "EntityDescriptor") != 0) { node = node->next; } - if (node == NULL) + if (node == NULL) { + message (G_LOG_LEVEL_CRITICAL, "lasso_saml20_provider_load_metadata_from_doc: no EntityDescriptor"); return FALSE; + } } else { + message (G_LOG_LEVEL_CRITICAL, "lasso_saml20_provider_load_metadata_from_doc: no EntityDescriptor"); /* what? */ return FALSE; } provider->ProviderID = (char*)xmlGetProp(node, (xmlChar*)"entityID"); - if (provider->ProviderID == NULL) + if (provider->ProviderID == NULL) { + message (G_LOG_LEVEL_CRITICAL, "lasso_saml20_provider_load_metadata_from_doc: no entityID attribute"); return FALSE; + } for (descriptor_node = node->children; descriptor_node != NULL; descriptor_node = descriptor_node->next) { |