From f624e114cdd538215fa5d98ad4b4aedb9dfe4b07 Mon Sep 17 00:00:00 2001 From: Scott Cantor Date: Thu, 19 Mar 2009 01:29:46 +0000 Subject: [PATCH] Switch pointers to Unicode string objects. --- saml/binding/SecurityPolicy.h | 27 ++++++++++++++------------- saml/binding/impl/SecurityPolicy.cpp | 8 ++------ saml/profile/impl/AudienceRestrictionRule.cpp | 8 ++++---- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/saml/binding/SecurityPolicy.h b/saml/binding/SecurityPolicy.h index 6a5aac7..35bc4cf 100644 --- a/saml/binding/SecurityPolicy.h +++ b/saml/binding/SecurityPolicy.h @@ -135,7 +135,7 @@ namespace opensaml { * * @return audience values of the peer processing the message */ - const std::vector& getAudiences() const { + const std::vector& getAudiences() const { return m_audiences; } @@ -144,7 +144,7 @@ namespace opensaml { * * @return audience values of the peer processing the message */ - std::vector& getAudiences() { + std::vector& getAudiences() { return m_audiences; } @@ -166,7 +166,7 @@ namespace opensaml { * @return correlated message identifier */ const XMLCh* getCorrelationID() const { - return m_correlationID; + return m_correlationID.c_str(); } /** @@ -258,7 +258,9 @@ namespace opensaml { * @param correlationID correlated message identifier */ void setCorrelationID(const XMLCh* correlationID) { - m_correlationID = correlationID; + m_correlationID.erase(); + if (correlationID) + m_correlationID = correlationID; } /** @@ -270,9 +272,7 @@ namespace opensaml { * * @throws BindingException raised if the message/request is invalid according to the supplied rules */ - void evaluate( - const xmltooling::XMLObject& message, const xmltooling::GenericRequest* request=NULL - ); + void evaluate(const xmltooling::XMLObject& message, const xmltooling::GenericRequest* request=NULL); /** * Resets the policy object and/or clears any per-message state. @@ -300,7 +300,7 @@ namespace opensaml { * @return message identifier as determined by the registered policies */ const XMLCh* getMessageID() const { - return m_messageID; + return m_messageID.c_str(); } /** @@ -345,8 +345,9 @@ namespace opensaml { * @param id message identifier */ void setMessageID(const XMLCh* id) { - xercesc::XMLString::release(&m_messageID); - m_messageID = xercesc::XMLString::replicate(id); + m_messageID.erase(); + if (id) + m_messageID = id; } /** @@ -453,7 +454,7 @@ namespace opensaml { private: // information extracted from message - XMLCh* m_messageID; + xmltooling::xstring m_messageID; time_t m_issueInstant; saml2::Issuer* m_issuer; const saml2md::RoleDescriptor* m_issuerRole; @@ -470,8 +471,8 @@ namespace opensaml { // contextual information mutable time_t m_ts; - const XMLCh* m_correlationID; - std::vector m_audiences; + xmltooling::xstring m_correlationID; + std::vector m_audiences; }; }; diff --git a/saml/binding/impl/SecurityPolicy.cpp b/saml/binding/impl/SecurityPolicy.cpp index f4affe2..98875f7 100644 --- a/saml/binding/impl/SecurityPolicy.cpp +++ b/saml/binding/impl/SecurityPolicy.cpp @@ -73,7 +73,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 +83,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,7 +91,6 @@ SecurityPolicy::SecurityPolicy( SecurityPolicy::~SecurityPolicy() { - XMLString::release(&m_messageID); delete m_metadataCriteria; delete m_issuer; } @@ -105,8 +102,7 @@ void SecurityPolicy::reset(bool messageOnly) void SecurityPolicy::_reset(bool messageOnly) { - XMLString::release(&m_messageID); - m_messageID=NULL; + m_messageID.erase(); m_issueInstant=0; if (!messageOnly) { delete m_issuer; diff --git a/saml/profile/impl/AudienceRestrictionRule.cpp b/saml/profile/impl/AudienceRestrictionRule.cpp index b579931..f87107e 100644 --- a/saml/profile/impl/AudienceRestrictionRule.cpp +++ b/saml/profile/impl/AudienceRestrictionRule.cpp @@ -72,8 +72,8 @@ bool AudienceRestrictionRule::evaluate(const XMLObject& message, const GenericRe if (ac2) { const vector& auds2 = ac2->getAudiences(); for (vector::const_iterator a1 = auds2.begin(); a1!=auds2.end(); ++a1) { - for (vector::const_iterator a2 = policy.getAudiences().begin(); a2!=policy.getAudiences().end(); ++a2) { - if (XMLString::equals((*a1)->getAudienceURI(), *a2)) + for (vector::const_iterator a2 = policy.getAudiences().begin(); a2!=policy.getAudiences().end(); ++a2) { + if (XMLString::equals((*a1)->getAudienceURI(), a2->c_str())) return true; } for (vector::const_iterator a2 = m_audiences.begin(); a2!=m_audiences.end(); ++a2) { @@ -94,8 +94,8 @@ bool AudienceRestrictionRule::evaluate(const XMLObject& message, const GenericRe if (ac1) { const vector& auds1 = ac1->getAudiences(); for (vector::const_iterator a1 = auds1.begin(); a1!=auds1.end(); ++a1) { - for (vector::const_iterator a2 = policy.getAudiences().begin(); a2!=policy.getAudiences().end(); ++a2) { - if (XMLString::equals((*a1)->getAudienceURI(), *a2)) + for (vector::const_iterator a2 = policy.getAudiences().begin(); a2!=policy.getAudiences().end(); ++a2) { + if (XMLString::equals((*a1)->getAudienceURI(), a2->c_str())) return true; } for (vector::const_iterator a2 = m_audiences.begin(); a2!=m_audiences.end(); ++a2) { -- 2.1.4