From 9ed63e5f63e98b3697c439fb5d1e664d00db751f Mon Sep 17 00:00:00 2001 From: Scott Cantor Date: Fri, 29 Sep 2006 17:37:56 +0000 Subject: [PATCH] Block "XMLishness" of ID for SAML 1.0. --- saml/saml1/core/impl/AssertionsImpl.cpp | 6 +++++- saml/saml1/core/impl/ProtocolsImpl.cpp | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/saml/saml1/core/impl/AssertionsImpl.cpp b/saml/saml1/core/impl/AssertionsImpl.cpp index 0efb14b..69df6de 100644 --- a/saml/saml1/core/impl/AssertionsImpl.cpp +++ b/saml/saml1/core/impl/AssertionsImpl.cpp @@ -1002,7 +1002,11 @@ namespace opensaml { IMPL_XMLOBJECT_CLONE(Assertion); IMPL_INTEGER_ATTRIB(MinorVersion); - IMPL_ID_ATTRIB(AssertionID); + IMPL_STRING_ATTRIB(AssertionID); // have to special-case getXMLID + const XMLCh* getXMLID() const { + pair v = getMinorVersion(); + return (!v.first || v.second > 0) ? m_AssertionID : NULL; + } IMPL_STRING_ATTRIB(Issuer); IMPL_DATETIME_ATTRIB(IssueInstant,0); IMPL_TYPED_CHILD(Conditions); diff --git a/saml/saml1/core/impl/ProtocolsImpl.cpp b/saml/saml1/core/impl/ProtocolsImpl.cpp index 1ed52c7..6f73c79 100644 --- a/saml/saml1/core/impl/ProtocolsImpl.cpp +++ b/saml/saml1/core/impl/ProtocolsImpl.cpp @@ -351,7 +351,11 @@ namespace opensaml { } IMPL_INTEGER_ATTRIB(MinorVersion); - IMPL_ID_ATTRIB(RequestID); + IMPL_STRING_ATTRIB(RequestID); // have to special-case getXMLID + const XMLCh* getXMLID() const { + pair v = getMinorVersion(); + return (!v.first || v.second > 0) ? m_RequestID : NULL; + } IMPL_DATETIME_ATTRIB(IssueInstant,0); IMPL_TYPED_CHILDREN(RespondWith,m_pos_Signature); @@ -662,7 +666,11 @@ namespace opensaml { } IMPL_INTEGER_ATTRIB(MinorVersion); - IMPL_ID_ATTRIB(ResponseID); + IMPL_STRING_ATTRIB(ResponseID); // have to special-case getXMLID + const XMLCh* getXMLID() const { + pair v = getMinorVersion(); + return (!v.first || v.second > 0) ? m_ResponseID : NULL; + } IMPL_STRING_ATTRIB(InResponseTo); IMPL_DATETIME_ATTRIB(IssueInstant,0); IMPL_STRING_ATTRIB(Recipient); -- 2.1.4