[cpp-sp COMMIT] /branches/REL_2/shibsp/metadata/DynamicMetadataProvider.cpp
noreply at shibboleth.net
noreply at shibboleth.net
Thu Nov 21 10:03:16 EST 2013
Author: scantor
Date: Thu Nov 21 10:03:16 2013
New Revision: 3876
URL: http://svn.shibboleth.net/view/cpp-sp?rev=3876&view=rev
Log:
https://issues.shibboleth.net/jira/browse/SSPCPP-598
Modified:
branches/REL_2/shibsp/metadata/DynamicMetadataProvider.cpp
Modified: branches/REL_2/shibsp/metadata/DynamicMetadataProvider.cpp
URL: http://svn.shibboleth.net/view/cpp-sp/branches/REL_2/shibsp/metadata/DynamicMetadataProvider.cpp?rev=3876&r1=3875&r2=3876&view=diff
==============================================================================
--- branches/REL_2/shibsp/metadata/DynamicMetadataProvider.cpp (original)
+++ branches/REL_2/shibsp/metadata/DynamicMetadataProvider.cpp Thu Nov 21 10:03:16 2013
@@ -40,6 +40,7 @@
#include <saml/binding/SAMLArtifact.h>
#include <saml/saml2/metadata/Metadata.h>
#include <saml/saml2/metadata/DynamicMetadataProvider.h>
+
#include <xmltooling/logging.h>
#include <xmltooling/XMLToolingConfig.h>
#include <xmltooling/security/Credential.h>
@@ -300,6 +301,12 @@
// Wrap the document for now.
XercesJanitor<DOMDocument> docjanitor(doc);
+ // Check root element.
+ if (!doc->getDocumentElement() || !XMLHelper::isNodeNamed(doc->getDocumentElement(),
+ samlconstants::SAML20MD_NS, saml2md::EntityDescriptor::LOCAL_NAME)) {
+ throw saml2md::MetadataException("Root of metadata instance was not an EntityDescriptor");
+ }
+
// Unmarshall objects, binding the document.
auto_ptr<XMLObject> xmlObject(XMLObjectBuilder::buildOneFromElement(doc->getDocumentElement(), true));
docjanitor.release();
More information about the commits
mailing list