Raw signature trust support, Redirect binding, "simple" signing rule.
[shibboleth/cpp-opensaml.git] / saml / SAMLConfig.cpp
index 4e4c7ce..5d34221 100644 (file)
@@ -27,7 +27,6 @@
 #include "binding/ArtifactMap.h"
 #include "binding/MessageDecoder.h"
 #include "binding/MessageEncoder.h"
-#include "binding/ReplayCache.h"
 #include "binding/SAMLArtifact.h"
 #include "binding/URLEncoder.h"
 #include "saml1/core/Assertions.h"
@@ -98,12 +97,6 @@ void SAMLConfig::setURLEncoder(URLEncoder* urlEncoder)
     m_urlEncoder = urlEncoder;
 }
 
-void SAMLConfig::setReplayCache(ReplayCache* replayCache)
-{
-    delete m_replayCache;
-    m_replayCache = replayCache;
-}
-
 bool SAMLInternalConfig::init(bool initXMLTooling)
 {
 #ifdef _DEBUG
@@ -132,6 +125,7 @@ bool SAMLInternalConfig::init(bool initXMLTooling)
     registerTrustEngines();
     registerMessageEncoders();
     registerMessageDecoders();
+    registerSecurityPolicyRules();
     
     m_urlEncoder = new URLEncoder();
 
@@ -149,6 +143,7 @@ void SAMLInternalConfig::term(bool termXMLTooling)
     MessageDecoderManager.deregisterFactories();
     MessageEncoderManager.deregisterFactories();
     TrustEngineManager.deregisterFactories();
+    SecurityPolicyRuleManager.deregisterFactories();
     SAMLArtifactManager.deregisterFactories();
     MetadataFilterManager.deregisterFactories();
     MetadataProviderManager.deregisterFactories();
@@ -157,8 +152,6 @@ void SAMLInternalConfig::term(bool termXMLTooling)
     m_artifactMap = NULL;
     delete m_urlEncoder;
     m_urlEncoder = NULL;
-    delete m_replayCache;
-    m_replayCache = NULL;
 
     if (termXMLTooling) {
         XMLToolingConfig::getConfig().term();
@@ -206,9 +199,8 @@ string SAMLInternalConfig::hashSHA1(const char* s, bool toHex)
 
     auto_ptr<XSECCryptoHash> hasher(XSECPlatformUtils::g_cryptoProvider->hashSHA1());
     if (hasher.get()) {
-        auto_ptr<char> dup(strdup(s));
         unsigned char buf[21];
-        hasher->hash(reinterpret_cast<unsigned char*>(dup.get()),strlen(dup.get()));
+        hasher->hash(reinterpret_cast<unsigned char*>(const_cast<char*>(s)),strlen(s));
         if (hasher->finish(buf,20)==20) {
             string ret;
             if (toHex) {