Skip metadata lookup for non-entity issuer.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Sat, 15 Dec 2007 23:37:00 +0000 (23:37 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Sat, 15 Dec 2007 23:37:00 +0000 (23:37 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@2668 cb58f699-b61c-0410-a6fe-9272a202ed29

shibsp/handler/impl/AssertionConsumerService.cpp

index bb0f4d6..69fd4b9 100644 (file)
@@ -393,6 +393,10 @@ void AssertionConsumerService::extractMessageDetails(const Assertion& assertion,
     }
 
     if (policy.getIssuer() && !policy.getIssuerMetadata() && policy.getMetadataProvider()) {
+        if (policy.getIssuer()->getFormat() && !XMLString::equals(policy.getIssuer()->getFormat(), saml2::NameIDType::ENTITY)) {
+            m_log.warn("non-system entity issuer, skipping metadata lookup");
+            return;
+        }
         m_log.debug("searching metadata for assertion issuer...");
         MetadataProvider::Criteria mc(policy.getIssuer()->getName(), &IDPSSODescriptor::ELEMENT_QNAME, protocol);
         pair<const EntityDescriptor*,const RoleDescriptor*> entity = policy.getMetadataProvider()->getEntityDescriptor(mc);