From: Scott Cantor Date: Fri, 29 Sep 2006 17:37:56 +0000 (+0000) Subject: Block "XMLishness" of ID for SAML 1.0. X-Git-Tag: 2.0-alpha1~182 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-opensaml.git;a=commitdiff_plain;h=9ed63e5f63e98b3697c439fb5d1e664d00db751f Block "XMLishness" of ID for SAML 1.0. --- 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);