SSPCPP-677 - Filter schacHomeOrganization values against shibmd:Scope
[shibboleth/cpp-sp.git] / shibsp / attribute / filtering / impl / MatchFunctor.cpp
index 689989a..e69c337 100644 (file)
@@ -72,6 +72,7 @@ namespace shibsp {
     DECL_FACTORY(AttributeIssuerEntityMatcher);
     DECL_FACTORY(AttributeRequesterEntityMatcher);
     DECL_FACTORY(AttributeScopeMatchesShibMDScope);
+    DECL_FACTORY(AttributeValueMatchesShibMDScope);
     DECL_FACTORY(NameIDQualifierString);
     DECL_FACTORY(AttributeIssuerRegistrationAuthority);
     DECL_FACTORY(RegistrationAuthority);
@@ -104,6 +105,7 @@ namespace shibsp {
     static const XMLCh AttributeIssuerEntityMatcher[] = UNICODE_LITERAL_28(A,t,t,r,i,b,u,t,e,I,s,s,u,e,r,E,n,t,i,t,y,M,a,t,c,h,e,r);
     static const XMLCh AttributeRequesterEntityMatcher[] = UNICODE_LITERAL_31(A,t,t,r,i,b,u,t,e,R,e,q,u,e,s,t,e,r,E,n,t,i,t,y,M,a,t,c,h,e,r);
     static const XMLCh AttributeScopeMatchesShibMDScope[] = UNICODE_LITERAL_32(A,t,t,r,i,b,u,t,e,S,c,o,p,e,M,a,t,c,h,e,s,S,h,i,b,M,D,S,c,o,p,e);
+    static const XMLCh AttributeValueMatchesShibMDScope[] = UNICODE_LITERAL_32(A,t,t,r,i,b,u,t,e,V,a,l,u,e,M,a,t,c,h,e,s,S,h,i,b,M,D,S,c,o,p,e);
     static const XMLCh NameIDQualifierString[] =        UNICODE_LITERAL_21(N,a,m,e,I,D,Q,u,a,l,i,f,i,e,r,S,t,r,i,n,g);
     static const XMLCh AttributeIssuerRegistrationAuthority[] = UNICODE_LITERAL_36(A,t,t,r,i,b,u,t,e,I,s,s,u,e,r,R,e,g,i,s,t,r,a,t,i,o,n,A,u,t,h,o,r,i,t,y);
     static const XMLCh RegistrationAuthority[] =        UNICODE_LITERAL_21(R,e,g,i,s,t,r,a,t,i,o,n,A,u,t,h,o,r,i,t,y);
@@ -136,6 +138,7 @@ DECL_SAML_QNAME(EntityAttributeRegexMatch, EntityAttributeRegexMatch);
 DECL_SAML_QNAME(AttributeIssuerEntityMatcher, AttributeIssuerEntityMatcher);
 DECL_SAML_QNAME(AttributeRequesterEntityMatcher, AttributeRequesterEntityMatcher);
 DECL_SAML_QNAME(AttributeScopeMatchesShibMDScope, AttributeScopeMatchesShibMDScope);
+DECL_SAML_QNAME(AttributeValueMatchesShibMDScope, AttributeValueMatchesShibMDScope);
 DECL_SAML_QNAME(NameIDQualifierString, NameIDQualifierString);
 DECL_SAML_QNAME(AttributeIssuerRegistrationAuthority, AttributeIssuerRegistrationAuthority);
 DECL_SAML_QNAME(RegistrationAuthority, RegistrationAuthority);
@@ -168,6 +171,7 @@ void SHIBSP_API shibsp::registerMatchFunctors()
     REGISTER_FACTORY(AttributeIssuerEntityMatcher);
     REGISTER_FACTORY(AttributeRequesterEntityMatcher);
     REGISTER_FACTORY(AttributeScopeMatchesShibMDScope);
+    REGISTER_FACTORY(AttributeValueMatchesShibMDScope);
     REGISTER_FACTORY(NameIDQualifierString);
     REGISTER_FACTORY(AttributeIssuerRegistrationAuthority);
     REGISTER_FACTORY(RegistrationAuthority);