X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fbinding%2Fimpl%2FSecurityPolicy.cpp;h=540cdae3ed6134204f3144ae1afe5e139b839357;hb=c072b75e6f6e05e24a1c35b952008b38d0d375c1;hp=6603e3b4f21c2fe2c64a545bc9d19c1444d34f08;hpb=69a716dedfd9e239bcc9206a7b8dc137b43f5f89;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/binding/impl/SecurityPolicy.cpp b/saml/binding/impl/SecurityPolicy.cpp index 6603e3b..540cdae 100644 --- a/saml/binding/impl/SecurityPolicy.cpp +++ b/saml/binding/impl/SecurityPolicy.cpp @@ -22,6 +22,7 @@ #include "internal.h" #include "exceptions.h" +#include "binding/SecurityPolicy.h" #include "binding/SecurityPolicyRule.h" #include "saml2/core/Assertions.h" @@ -47,6 +48,7 @@ namespace opensaml { namespace saml2 { SAML_DLLLOCAL PluginManager::Factory BearerConfirmationRuleFactory; + SAML_DLLLOCAL PluginManager::Factory DelegationRestrictionRuleFactory; } }; @@ -63,6 +65,7 @@ void SAML_API opensaml::registerSecurityPolicyRules() conf.SecurityPolicyRuleManager.registerFactory(XMLSIGNING_POLICY_RULE, XMLSigningRuleFactory); conf.SecurityPolicyRuleManager.registerFactory(SAML1BROWSERSSO_POLICY_RULE, saml1::BrowserSSORuleFactory); conf.SecurityPolicyRuleManager.registerFactory(BEARER_POLICY_RULE, saml2::BearerConfirmationRuleFactory); + conf.SecurityPolicyRuleManager.registerFactory(DELEGATION_POLICY_RULE, saml2::DelegationRestrictionRuleFactory); } SecurityPolicy::IssuerMatchingPolicy SecurityPolicy::m_defaultMatching; @@ -73,7 +76,6 @@ SecurityPolicy::SecurityPolicy( const xmltooling::TrustEngine* trustEngine, bool validate ) : m_metadataCriteria(NULL), - m_messageID(NULL), m_issueInstant(0), m_issuer(NULL), m_issuerRole(NULL), @@ -84,8 +86,7 @@ SecurityPolicy::SecurityPolicy( m_trust(trustEngine), m_validate(validate), m_entityOnly(true), - m_ts(0), - m_correlationID(NULL) + m_ts(0) { if (role) m_role = new xmltooling::QName(*role); @@ -93,20 +94,18 @@ SecurityPolicy::SecurityPolicy( SecurityPolicy::~SecurityPolicy() { - XMLString::release(&m_messageID); delete m_metadataCriteria; delete m_issuer; } void SecurityPolicy::reset(bool messageOnly) { - _reset(); + _reset(messageOnly); } void SecurityPolicy::_reset(bool messageOnly) { - XMLString::release(&m_messageID); - m_messageID=NULL; + m_messageID.erase(); m_issueInstant=0; if (!messageOnly) { delete m_issuer;