Allow role lookup with no protocol.
authorScott Cantor <cantor.2@osu.edu>
Fri, 8 Feb 2008 17:57:03 +0000 (17:57 +0000)
committerScott Cantor <cantor.2@osu.edu>
Fri, 8 Feb 2008 17:57:03 +0000 (17:57 +0000)
saml/saml2/metadata/impl/AbstractMetadataProvider.cpp
saml/saml2/metadata/impl/ChainingMetadataProvider.cpp

index dd9cc14..fd7948c 100644 (file)
@@ -205,7 +205,7 @@ pair<const EntityDescriptor*,const RoleDescriptor*> AbstractMetadataProvider::ge
     if (!result.first && !criteria.validOnly && range.first!=range.second)
         result.first = range.first->second;
         
-    if (result.first && criteria.role && criteria.protocol) {
+    if (result.first && criteria.role) {
         result.second = result.first->getRoleDescriptor(*criteria.role, criteria.protocol);
         if (!result.second && criteria.protocol2)
             result.second = result.first->getRoleDescriptor(*criteria.role, criteria.protocol2);
index f1e5881..a55057e 100644 (file)
@@ -167,8 +167,6 @@ const EntitiesDescriptor* ChainingMetadataProvider::getEntitiesDescriptor(const
 
 pair<const EntityDescriptor*,const RoleDescriptor*> ChainingMetadataProvider::getEntityDescriptor(const Criteria& criteria) const
 {
-    bool bRole = (criteria.role && criteria.protocol);  // searching for role also?
-
     // Clear any existing lock.
     const_cast<ChainingMetadataProvider*>(this)->unlock();
 
@@ -180,7 +178,7 @@ pair<const EntityDescriptor*,const RoleDescriptor*> ChainingMetadataProvider::ge
         (*i)->lock();
         cur = (*i)->getEntityDescriptor(criteria);
         if (cur.first) {
-            if (bRole) {
+            if (criteria.role) {
                 // We want a role also. Did we find one?
                 if (cur.second) {
                     // Are we using a first match policy?