https://issues.shibboleth.net/jira/browse/CPPOST-74
authorScott Cantor <cantor.2@osu.edu>
Wed, 14 Mar 2012 01:30:54 +0000 (01:30 +0000)
committerScott Cantor <cantor.2@osu.edu>
Wed, 14 Mar 2012 01:30:54 +0000 (01:30 +0000)
saml/saml2/metadata/impl/XMLMetadataProvider.cpp

index c97ab3d..c01c496 100644 (file)
@@ -217,6 +217,12 @@ pair<bool,DOMElement*> XMLMetadataProvider::load(bool backup)
         throw MetadataException("Metadata instance failed manual validation checking.");
     }
 
+    const TimeBoundSAMLObject* validityCheck = dynamic_cast<TimeBoundSAMLObject*>(xmlObject.get());
+    if (!validityCheck || !validityCheck->isValid()) {
+        m_log.error("metadata instance was invalid at time of acquisition");
+        throw MetadataException("Metadata instance was invalid at time of acquisition.");
+    }
+
     // This is the best place to take a backup, since it's superficially "correct" metadata.
     string backupKey;
     if (!backup && !m_backing.empty()) {