Add missing validator checks to metadata providers.
authorScott Cantor <cantor.2@osu.edu>
Thu, 26 Feb 2009 18:13:31 +0000 (18:13 +0000)
committerScott Cantor <cantor.2@osu.edu>
Thu, 26 Feb 2009 18:13:31 +0000 (18:13 +0000)
saml/saml2/metadata/impl/DynamicMetadataProvider.cpp
saml/saml2/metadata/impl/XMLMetadataProvider.cpp

index 8118551..254e62e 100644 (file)
@@ -29,6 +29,7 @@
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/logging.h>
 #include <xmltooling/util/XMLHelper.h>
+#include <xmltooling/validation/ValidatorSuite.h>
 
 using namespace opensaml::saml2md;
 using namespace xmltooling::logging;
@@ -112,6 +113,8 @@ pair<const EntityDescriptor*,const RoleDescriptor*> DynamicMetadataProvider::get
         }
 
         // Filter it, which may throw.
+        if (!m_validate)
+            SchemaValidators.validate(entity2.get());
         doFilters(*entity2.get());
 
         time_t now = time(NULL);
index ad6ad68..bc24ed8 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/util/ReloadableXMLFile.h>
+#include <xmltooling/validation/ValidatorSuite.h>
 
 using namespace opensaml::saml2md;
 using namespace xmltooling::logging;
@@ -101,6 +102,8 @@ pair<bool,DOMElement*> XMLMetadataProvider::load()
             );
 
     // Preprocess the metadata.
+    if (!m_validate)
+        SchemaValidators.validate(xmlObject.get());
     doFilters(*xmlObject.get());
     xmlObject->releaseThisAndChildrenDOM();
     xmlObject->setDocument(NULL);