Prepare policy API for mix-in subclassing. Allow policy rules to distinguish success...
[shibboleth/cpp-opensaml.git] / saml / binding / impl / NullSecurityRule.cpp
index f113234..0fe25ce 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2007 Internet2
+ *  Copyright 2001-2009 Internet2
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,7 +37,14 @@ namespace opensaml {
         NullSecurityRule(const DOMElement* e) : m_log(Category::getInstance(SAML_LOGCAT".SecurityPolicyRule.NullSecurity")) {}
         virtual ~NullSecurityRule() {}
         
-        void evaluate(const XMLObject& message, const GenericRequest* request, SecurityPolicy& policy) const;
+        const char* getType() const {
+            return NULLSECURITY_POLICY_RULE;
+        }
+        bool evaluate(const XMLObject& message, const GenericRequest* request, SecurityPolicy& policy) const {
+            m_log.warn("security enforced using NULL policy rule, be sure you know what you're doing");
+            policy.setAuthenticated(true);
+            return true;
+        }
 
     private:
         Category& m_log;
@@ -48,9 +55,3 @@ namespace opensaml {
         return new NullSecurityRule(e);
     }
 };
-
-void NullSecurityRule::evaluate(const XMLObject& message, const GenericRequest* request, SecurityPolicy& policy) const
-{
-    m_log.warn("security enforced using NULL policy rule, be sure you know what you're doing");
-    policy.setSecure(true);
-}