X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml2%2Fcore%2Fimpl%2FProtocols20Impl.cpp;h=e1df91bc73e1fc6944e79f0d23e0659e0dad4f10;hb=e9554c255ad3c91c7c4976e7a1a54905903e66a2;hp=29c8252940d2ac04b91d55e5aa8a6b23cd8f15fe;hpb=932cfaae2176c2eba1a9938dc420591a9551a7f3;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml2/core/impl/Protocols20Impl.cpp b/saml/saml2/core/impl/Protocols20Impl.cpp index 29c8252..e1df91b 100644 --- a/saml/saml2/core/impl/Protocols20Impl.cpp +++ b/saml/saml2/core/impl/Protocols20Impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2001-2007 Internet2 + * Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,20 +17,22 @@ /** * Protocols20Impl.cpp * - * Implementation classes for SAML 2.0 Protocols schema + * Implementation classes for SAML 2.0 Protocols schema. */ #include "internal.h" #include "exceptions.h" -#include "saml/encryption/EncryptedKeyResolver.h" #include "saml2/core/Protocols.h" +#include "signature/ContentReference.h" #include #include -#include +#include #include #include #include +#include +#include #include #include @@ -38,7 +40,6 @@ using namespace opensaml::saml2p; using namespace opensaml::saml2; -using namespace opensaml; using namespace xmlsignature; using namespace xmlencryption; using namespace xmltooling; @@ -76,7 +77,7 @@ namespace opensaml { public: virtual ~ExtensionsImpl() {} - ExtensionsImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ExtensionsImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } @@ -110,15 +111,15 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_Value=NULL; - m_StatusCode=NULL; - m_children.push_back(NULL); + m_Value=nullptr; + m_StatusCode=nullptr; + m_children.push_back(nullptr); m_pos_StatusCode=m_children.begin(); } public: virtual ~StatusCodeImpl() {} - StatusCodeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + StatusCodeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -138,7 +139,7 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Value,VALUE,NULL); + MARSHALL_STRING_ATTRIB(Value,VALUE,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -147,7 +148,7 @@ namespace opensaml { } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Value,VALUE,NULL); + PROC_STRING_ATTRIB(Value,VALUE,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -162,7 +163,7 @@ namespace opensaml { public: virtual ~StatusDetailImpl() {} - StatusDetailImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + StatusDetailImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } StatusDetailImpl(const StatusDetailImpl& src) @@ -189,12 +190,12 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_StatusCode=NULL; - m_StatusMessage=NULL; - m_StatusDetail=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_StatusCode=nullptr; + m_StatusMessage=nullptr; + m_StatusDetail=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_StatusCode=m_children.begin(); m_pos_StatusMessage=m_pos_StatusCode; ++m_pos_StatusMessage; @@ -204,7 +205,7 @@ namespace opensaml { public: virtual ~StatusImpl() { } - StatusImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + StatusImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -244,17 +245,17 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_ID=NULL; - m_Version=NULL; - m_IssueInstant=NULL; - m_Destination=NULL; - m_Consent=NULL; - m_Issuer=NULL; - m_Signature=NULL; - m_Extensions=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_ID=nullptr; + m_Version=nullptr; + m_IssueInstant=nullptr; + m_Destination=nullptr; + m_Consent=nullptr; + m_Issuer=nullptr; + m_Signature=nullptr; + m_Extensions=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_Issuer=m_children.begin(); m_pos_Signature=m_pos_Issuer; ++m_pos_Signature; @@ -274,7 +275,7 @@ namespace opensaml { delete m_IssueInstant; } - RequestAbstractTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + RequestAbstractTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -314,7 +315,7 @@ namespace opensaml { } IMPL_STRING_ATTRIB(Version); - IMPL_ID_ATTRIB(ID); + IMPL_ID_ATTRIB_EX(ID,ID,nullptr); IMPL_DATETIME_ATTRIB(IssueInstant,0); IMPL_STRING_ATTRIB(Destination); IMPL_STRING_ATTRIB(Consent); @@ -325,17 +326,17 @@ namespace opensaml { void marshallAttributes(DOMElement* domElement) const { if (!m_Version) const_cast(this)->m_Version=XMLString::transcode("2.0"); - MARSHALL_STRING_ATTRIB(Version,VER,NULL); + MARSHALL_STRING_ATTRIB(Version,VER,nullptr); if (!m_ID) const_cast(this)->m_ID=SAMLConfig::getConfig().generateIdentifier(); - MARSHALL_ID_ATTRIB(ID,ID,NULL); + MARSHALL_ID_ATTRIB(ID,ID,nullptr); if (!m_IssueInstant) { - const_cast(this)->m_IssueInstantEpoch=time(NULL); + const_cast(this)->m_IssueInstantEpoch=time(nullptr); const_cast(this)->m_IssueInstant=new DateTime(m_IssueInstantEpoch); } - MARSHALL_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,NULL); - MARSHALL_STRING_ATTRIB(Destination,DESTINATION,NULL); - MARSHALL_STRING_ATTRIB(Consent,CONSENT,NULL); + MARSHALL_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,nullptr); + MARSHALL_STRING_ATTRIB(Destination,DESTINATION,nullptr); + MARSHALL_STRING_ATTRIB(Consent,CONSENT,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -346,11 +347,11 @@ namespace opensaml { } void processAttribute(const DOMAttr* attribute) { - PROC_ID_ATTRIB(ID,ID,NULL); - PROC_STRING_ATTRIB(Version,VER,NULL); - PROC_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,NULL); - PROC_STRING_ATTRIB(Destination,DESTINATION,NULL); - PROC_STRING_ATTRIB(Consent,CONSENT,NULL); + PROC_ID_ATTRIB(ID,ID,nullptr); + PROC_STRING_ATTRIB(Version,VER,nullptr); + PROC_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,nullptr); + PROC_STRING_ATTRIB(Destination,DESTINATION,nullptr); + PROC_STRING_ATTRIB(Consent,CONSENT,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -361,7 +362,7 @@ namespace opensaml { public: virtual ~AssertionIDRequestImpl() { } - AssertionIDRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + AssertionIDRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } AssertionIDRequestImpl(const AssertionIDRequestImpl& src) : AbstractXMLObject(src), RequestAbstractTypeImpl(src) { @@ -392,8 +393,8 @@ namespace opensaml { { void init() { - m_Subject = NULL; - m_children.push_back(NULL); + m_Subject = nullptr; + m_children.push_back(nullptr); m_pos_Subject = m_pos_Extensions; ++m_pos_Subject; } @@ -404,7 +405,7 @@ namespace opensaml { public: virtual ~SubjectQueryImpl() { } - SubjectQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + SubjectQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -433,14 +434,14 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_Comparison=NULL; + m_Comparison=nullptr; } public: virtual ~RequestedAuthnContextImpl() { XMLString::release(&m_Comparison); } - RequestedAuthnContextImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + RequestedAuthnContextImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -473,7 +474,7 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Comparison,COMPARISON,NULL); + MARSHALL_STRING_ATTRIB(Comparison,COMPARISON,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -483,7 +484,7 @@ namespace opensaml { } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Comparison,COMPARISON,NULL); + PROC_STRING_ATTRIB(Comparison,COMPARISON,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -492,9 +493,9 @@ namespace opensaml { class SAML_DLLLOCAL AuthnQueryImpl : public virtual AuthnQuery, public SubjectQueryImpl { void init() { - m_SessionIndex=NULL; - m_RequestedAuthnContext=NULL; - m_children.push_back(NULL); + m_SessionIndex=nullptr; + m_RequestedAuthnContext=nullptr; + m_children.push_back(nullptr); m_pos_RequestedAuthnContext = m_pos_Subject; ++m_pos_RequestedAuthnContext; @@ -504,7 +505,7 @@ namespace opensaml { XMLString::release(&m_SessionIndex); } - AuthnQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + AuthnQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -530,7 +531,7 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(SessionIndex,SESSIONINDEX,NULL); + MARSHALL_STRING_ATTRIB(SessionIndex,SESSIONINDEX,nullptr); SubjectQueryImpl::marshallAttributes(domElement); } @@ -539,7 +540,7 @@ namespace opensaml { SubjectQueryImpl::processChildElement(childXMLObject,root); } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(SessionIndex,SESSIONINDEX,NULL); + PROC_STRING_ATTRIB(SessionIndex,SESSIONINDEX,nullptr); SubjectQueryImpl::processAttribute(attribute); } }; @@ -549,7 +550,7 @@ namespace opensaml { public: virtual ~AttributeQueryImpl() { } - AttributeQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + AttributeQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } AttributeQueryImpl(const AttributeQueryImpl& src) : AbstractXMLObject(src), SubjectQueryImpl(src) { @@ -585,9 +586,9 @@ namespace opensaml { class SAML_DLLLOCAL AuthzDecisionQueryImpl : public virtual AuthzDecisionQuery, public SubjectQueryImpl { void init() { - m_Resource=NULL; - m_Evidence=NULL; - m_children.push_back(NULL); + m_Resource=nullptr; + m_Evidence=nullptr; + m_children.push_back(nullptr); m_pos_Evidence=m_pos_Subject; ++m_pos_Evidence; @@ -597,7 +598,7 @@ namespace opensaml { XMLString::release(&m_Resource); } - AuthzDecisionQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + AuthzDecisionQueryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); } @@ -632,7 +633,7 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Resource,RESOURCE,NULL); + MARSHALL_STRING_ATTRIB(Resource,RESOURCE,nullptr); SubjectQueryImpl::marshallAttributes(domElement); } @@ -642,7 +643,7 @@ namespace opensaml { SubjectQueryImpl::processChildElement(childXMLObject,root); } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Resource,RESOURCE,NULL); + PROC_STRING_ATTRIB(Resource,RESOURCE,nullptr); SubjectQueryImpl::processAttribute(attribute); } }; @@ -654,8 +655,8 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_Format=NULL; - m_SPNameQualifier=NULL; + m_Format=nullptr; + m_SPNameQualifier=nullptr; m_AllowCreate=XML_BOOL_NULL; } public: @@ -665,7 +666,7 @@ namespace opensaml { XMLString::release(&m_SPNameQualifier); } - NameIDPolicyImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + NameIDPolicyImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -686,15 +687,15 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Format,FORMAT,NULL); - MARSHALL_STRING_ATTRIB(SPNameQualifier,SPNAMEQUALIFIER,NULL); - MARSHALL_BOOLEAN_ATTRIB(AllowCreate,ALLOWCREATE,NULL); + MARSHALL_STRING_ATTRIB(Format,FORMAT,nullptr); + MARSHALL_STRING_ATTRIB(SPNameQualifier,SPNAMEQUALIFIER,nullptr); + MARSHALL_BOOLEAN_ATTRIB(AllowCreate,ALLOWCREATE,nullptr); } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Format,FORMAT,NULL); - PROC_STRING_ATTRIB(SPNameQualifier,SPNAMEQUALIFIER,NULL); - PROC_BOOLEAN_ATTRIB(AllowCreate,ALLOWCREATE,NULL); + PROC_STRING_ATTRIB(Format,FORMAT,nullptr); + PROC_STRING_ATTRIB(SPNameQualifier,SPNAMEQUALIFIER,nullptr); + PROC_BOOLEAN_ATTRIB(AllowCreate,ALLOWCREATE,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -706,9 +707,9 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_ProviderID=NULL; - m_Name=NULL; - m_Loc=NULL; + m_ProviderID=nullptr; + m_Name=nullptr; + m_Loc=nullptr; } public: virtual ~IDPEntryImpl() @@ -718,7 +719,7 @@ namespace opensaml { XMLString::release(&m_Loc); } - IDPEntryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + IDPEntryImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -739,15 +740,15 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(ProviderID,PROVIDERID,NULL); - MARSHALL_STRING_ATTRIB(Name,NAME,NULL); - MARSHALL_STRING_ATTRIB(Loc,LOC,NULL); + MARSHALL_STRING_ATTRIB(ProviderID,PROVIDERID,nullptr); + MARSHALL_STRING_ATTRIB(Name,NAME,nullptr); + MARSHALL_STRING_ATTRIB(Loc,LOC,nullptr); } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(ProviderID,PROVIDERID,NULL); - PROC_STRING_ATTRIB(Name,NAME,NULL); - PROC_STRING_ATTRIB(Loc,LOC,NULL); + PROC_STRING_ATTRIB(ProviderID,PROVIDERID,nullptr); + PROC_STRING_ATTRIB(Name,NAME,nullptr); + PROC_STRING_ATTRIB(Loc,LOC,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -759,15 +760,15 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_GetComplete=NULL; - m_children.push_back(NULL); + m_GetComplete=nullptr; + m_children.push_back(nullptr); m_pos_GetComplete=m_children.begin(); } public: virtual ~IDPListImpl() { } - IDPListImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + IDPListImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -809,9 +810,9 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_ProxyCount=NULL; - m_IDPList=NULL; - m_children.push_back(NULL); + m_ProxyCount=nullptr; + m_IDPList=nullptr; + m_children.push_back(nullptr); m_pos_IDPList=m_children.begin(); } @@ -820,7 +821,7 @@ namespace opensaml { XMLString::release(&m_ProxyCount); } - ScopingImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ScopingImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -850,7 +851,7 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_INTEGER_ATTRIB(ProxyCount,PROXYCOUNT,NULL); + MARSHALL_INTEGER_ATTRIB(ProxyCount,PROXYCOUNT,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -860,7 +861,7 @@ namespace opensaml { } void processAttribute(const DOMAttr* attribute) { - PROC_INTEGER_ATTRIB(ProxyCount,PROXYCOUNT,NULL); + PROC_INTEGER_ATTRIB(ProxyCount,PROXYCOUNT,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -870,22 +871,22 @@ namespace opensaml { void init() { m_ForceAuthn=XML_BOOL_NULL; m_IsPassive=XML_BOOL_NULL; - m_ProtocolBinding=NULL; - m_AssertionConsumerServiceIndex=NULL; - m_AssertionConsumerServiceURL=NULL; - m_AttributeConsumingServiceIndex=NULL; - m_ProviderName=NULL; - - m_Subject=NULL; - m_NameIDPolicy=NULL; - m_Conditions=NULL; - m_RequestedAuthnContext=NULL; - m_Scoping=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_ProtocolBinding=nullptr; + m_AssertionConsumerServiceIndex=nullptr; + m_AssertionConsumerServiceURL=nullptr; + m_AttributeConsumingServiceIndex=nullptr; + m_ProviderName=nullptr; + + m_Subject=nullptr; + m_NameIDPolicy=nullptr; + m_Conditions=nullptr; + m_RequestedAuthnContext=nullptr; + m_Scoping=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_Subject=m_pos_Extensions; ++m_pos_Subject; m_pos_NameIDPolicy=m_pos_Subject; @@ -907,7 +908,7 @@ namespace opensaml { XMLString::release(&m_AttributeConsumingServiceIndex); } - AuthnRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + AuthnRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -957,13 +958,13 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_BOOLEAN_ATTRIB(ForceAuthn,FORCEAUTHN,NULL); - MARSHALL_BOOLEAN_ATTRIB(IsPassive,ISPASSIVE,NULL); - MARSHALL_STRING_ATTRIB(ProtocolBinding,PROTOCOLBINDING,NULL); - MARSHALL_INTEGER_ATTRIB(AssertionConsumerServiceIndex,ASSERTIONCONSUMERSERVICEINDEX,NULL); - MARSHALL_STRING_ATTRIB(AssertionConsumerServiceURL,ASSERTIONCONSUMERSERVICEURL,NULL); - MARSHALL_INTEGER_ATTRIB(AttributeConsumingServiceIndex,ATTRIBUTECONSUMINGSERVICEINDEX,NULL); - MARSHALL_STRING_ATTRIB(ProviderName,PROVIDERNAME,NULL); + MARSHALL_BOOLEAN_ATTRIB(ForceAuthn,FORCEAUTHN,nullptr); + MARSHALL_BOOLEAN_ATTRIB(IsPassive,ISPASSIVE,nullptr); + MARSHALL_STRING_ATTRIB(ProtocolBinding,PROTOCOLBINDING,nullptr); + MARSHALL_INTEGER_ATTRIB(AssertionConsumerServiceIndex,ASSERTIONCONSUMERSERVICEINDEX,nullptr); + MARSHALL_STRING_ATTRIB(AssertionConsumerServiceURL,ASSERTIONCONSUMERSERVICEURL,nullptr); + MARSHALL_INTEGER_ATTRIB(AttributeConsumingServiceIndex,ATTRIBUTECONSUMINGSERVICEINDEX,nullptr); + MARSHALL_STRING_ATTRIB(ProviderName,PROVIDERNAME,nullptr); RequestAbstractTypeImpl::marshallAttributes(domElement); } @@ -976,13 +977,13 @@ namespace opensaml { RequestAbstractTypeImpl::processChildElement(childXMLObject,root); } void processAttribute(const DOMAttr* attribute) { - PROC_BOOLEAN_ATTRIB(ForceAuthn,FORCEAUTHN,NULL); - PROC_BOOLEAN_ATTRIB(IsPassive,ISPASSIVE,NULL); - PROC_STRING_ATTRIB(ProtocolBinding,PROTOCOLBINDING,NULL); - PROC_INTEGER_ATTRIB(AssertionConsumerServiceIndex,ASSERTIONCONSUMERSERVICEINDEX,NULL); - PROC_STRING_ATTRIB(AssertionConsumerServiceURL,ASSERTIONCONSUMERSERVICEURL,NULL); - PROC_INTEGER_ATTRIB(AttributeConsumingServiceIndex,ATTRIBUTECONSUMINGSERVICEINDEX,NULL); - PROC_STRING_ATTRIB(ProviderName,PROVIDERNAME,NULL); + PROC_BOOLEAN_ATTRIB(ForceAuthn,FORCEAUTHN,nullptr); + PROC_BOOLEAN_ATTRIB(IsPassive,ISPASSIVE,nullptr); + PROC_STRING_ATTRIB(ProtocolBinding,PROTOCOLBINDING,nullptr); + PROC_INTEGER_ATTRIB(AssertionConsumerServiceIndex,ASSERTIONCONSUMERSERVICEINDEX,nullptr); + PROC_STRING_ATTRIB(AssertionConsumerServiceURL,ASSERTIONCONSUMERSERVICEURL,nullptr); + PROC_INTEGER_ATTRIB(AttributeConsumingServiceIndex,ATTRIBUTECONSUMINGSERVICEINDEX,nullptr); + PROC_STRING_ATTRIB(ProviderName,PROVIDERNAME,nullptr); RequestAbstractTypeImpl::processAttribute(attribute); } }; @@ -994,20 +995,20 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_ID=NULL; - m_InResponseTo=NULL; - m_Version=NULL; - m_IssueInstant=NULL; - m_Destination=NULL; - m_Consent=NULL; - m_Issuer=NULL; - m_Signature=NULL; - m_Extensions=NULL; - m_Status=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_ID=nullptr; + m_InResponseTo=nullptr; + m_Version=nullptr; + m_IssueInstant=nullptr; + m_Destination=nullptr; + m_Consent=nullptr; + m_Issuer=nullptr; + m_Signature=nullptr; + m_Extensions=nullptr; + m_Status=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_Issuer=m_children.begin(); m_pos_Signature=m_pos_Issuer; ++m_pos_Signature; @@ -1030,7 +1031,7 @@ namespace opensaml { delete m_IssueInstant; } - StatusResponseTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + StatusResponseTypeImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1074,7 +1075,7 @@ namespace opensaml { } IMPL_STRING_ATTRIB(Version); - IMPL_ID_ATTRIB(ID); + IMPL_ID_ATTRIB_EX(ID,ID,nullptr); IMPL_STRING_ATTRIB(InResponseTo); IMPL_DATETIME_ATTRIB(IssueInstant,0); IMPL_STRING_ATTRIB(Destination); @@ -1087,18 +1088,18 @@ namespace opensaml { void marshallAttributes(DOMElement* domElement) const { if (!m_Version) const_cast(this)->m_Version=XMLString::transcode("2.0"); - MARSHALL_STRING_ATTRIB(Version,VER,NULL); + MARSHALL_STRING_ATTRIB(Version,VER,nullptr); if (!m_ID) const_cast(this)->m_ID=SAMLConfig::getConfig().generateIdentifier(); - MARSHALL_ID_ATTRIB(ID,ID,NULL); + MARSHALL_ID_ATTRIB(ID,ID,nullptr); if (!m_IssueInstant) { - const_cast(this)->m_IssueInstantEpoch=time(NULL); + const_cast(this)->m_IssueInstantEpoch=time(nullptr); const_cast(this)->m_IssueInstant=new DateTime(m_IssueInstantEpoch); } - MARSHALL_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,NULL); - MARSHALL_STRING_ATTRIB(Destination,DESTINATION,NULL); - MARSHALL_STRING_ATTRIB(Consent,CONSENT,NULL); - MARSHALL_STRING_ATTRIB(InResponseTo,INRESPONSETO,NULL); + MARSHALL_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,nullptr); + MARSHALL_STRING_ATTRIB(Destination,DESTINATION,nullptr); + MARSHALL_STRING_ATTRIB(Consent,CONSENT,nullptr); + MARSHALL_STRING_ATTRIB(InResponseTo,INRESPONSETO,nullptr); } void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { @@ -1110,12 +1111,12 @@ namespace opensaml { } void processAttribute(const DOMAttr* attribute) { - PROC_ID_ATTRIB(ID,ID,NULL); - PROC_STRING_ATTRIB(Version,VER,NULL); - PROC_STRING_ATTRIB(InResponseTo,INRESPONSETO,NULL); - PROC_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,NULL); - PROC_STRING_ATTRIB(Destination,DESTINATION,NULL); - PROC_STRING_ATTRIB(Consent,CONSENT,NULL); + PROC_ID_ATTRIB(ID,ID,nullptr); + PROC_STRING_ATTRIB(Version,VER,nullptr); + PROC_STRING_ATTRIB(InResponseTo,INRESPONSETO,nullptr); + PROC_DATETIME_ATTRIB(IssueInstant,ISSUEINSTANT,nullptr); + PROC_STRING_ATTRIB(Destination,DESTINATION,nullptr); + PROC_STRING_ATTRIB(Consent,CONSENT,nullptr); AbstractXMLObjectUnmarshaller::processAttribute(attribute); } }; @@ -1125,13 +1126,13 @@ namespace opensaml { public: virtual ~ResponseImpl() { } - ResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } ResponseImpl(const ResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) { for (list::const_iterator i=src.m_children.begin(); i!=src.m_children.end(); i++) { if (*i) { - Assertion* assertion=dynamic_cast(*i); + saml2::Assertion* assertion=dynamic_cast(*i); if (assertion) { getAssertions().push_back(assertion->cloneAssertion()); continue; @@ -1165,15 +1166,15 @@ namespace opensaml { class SAML_DLLLOCAL ArtifactResolveImpl : public virtual ArtifactResolve, public RequestAbstractTypeImpl { void init() { - m_Artifact=NULL; - m_children.push_back(NULL); + m_Artifact=nullptr; + m_children.push_back(nullptr); m_pos_Artifact=m_pos_Extensions; ++m_pos_Artifact; } public: virtual ~ArtifactResolveImpl() { } - ArtifactResolveImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ArtifactResolveImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1202,15 +1203,15 @@ namespace opensaml { class SAML_DLLLOCAL ArtifactResponseImpl : public virtual ArtifactResponse, public StatusResponseTypeImpl { void init() { - m_Payload=NULL; - m_children.push_back(NULL); + m_Payload=nullptr; + m_children.push_back(nullptr); m_pos_Payload=m_pos_Status; ++m_pos_Payload; } public: virtual ~ArtifactResponseImpl() { } - ArtifactResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ArtifactResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1256,8 +1257,8 @@ namespace opensaml { public AbstractXMLObjectUnmarshaller { void init() { - m_EncryptedData=NULL; - m_children.push_back(NULL); + m_EncryptedData=nullptr; + m_children.push_back(nullptr); m_pos_EncryptedData=m_children.begin(); } @@ -1270,7 +1271,7 @@ namespace opensaml { public: virtual ~NewEncryptedIDImpl() {} - NewEncryptedIDImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + NewEncryptedIDImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1289,24 +1290,6 @@ namespace opensaml { } } - XMLObject* decrypt(KeyResolver* KEKresolver, const XMLCh* recipient) const - { - if (!m_EncryptedData) - throw DecryptionException("No encrypted data present."); - Decrypter decrypter(KEKresolver, new EncryptedKeyResolver(*this, recipient)); - DOMDocumentFragment* frag = decrypter.decryptData(m_EncryptedData); - if (frag->hasChildNodes() && frag->getFirstChild()==frag->getLastChild()) { - DOMNode* plaintext=frag->getFirstChild(); - if (plaintext->getNodeType()==DOMNode::ELEMENT_NODE) { - auto_ptr ret(XMLObjectBuilder::buildOneFromElement(static_cast(plaintext))); - ret->releaseThisAndChildrenDOM(); - return ret.release(); - } - } - frag->release(); - throw DecryptionException("Decryption did not result in a single element."); - } - IMPL_XMLOBJECT_CLONE(NewEncryptedID); EncryptedElementType* cloneEncryptedElementType() const { return new NewEncryptedIDImpl(*this); @@ -1332,7 +1315,7 @@ namespace opensaml { public: virtual ~TerminateImpl() { } - TerminateImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + TerminateImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } TerminateImpl(const TerminateImpl& src) @@ -1348,16 +1331,16 @@ namespace opensaml { class SAML_DLLLOCAL ManageNameIDRequestImpl : public virtual ManageNameIDRequest, public RequestAbstractTypeImpl { void init() { - m_NameID=NULL; - m_EncryptedID=NULL; - m_NewID=NULL; - m_NewEncryptedID=NULL; - m_Terminate=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_NameID=nullptr; + m_EncryptedID=nullptr; + m_NewID=nullptr; + m_NewEncryptedID=nullptr; + m_Terminate=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_NameID=m_pos_Extensions; ++m_pos_NameID; m_pos_EncryptedID=m_pos_NameID; @@ -1373,7 +1356,7 @@ namespace opensaml { public: virtual ~ManageNameIDRequestImpl() { } - ManageNameIDRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ManageNameIDRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1422,7 +1405,7 @@ namespace opensaml { public: virtual ~ManageNameIDResponseImpl() { } - ManageNameIDResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + ManageNameIDResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } ManageNameIDResponseImpl(const ManageNameIDResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) { @@ -1437,15 +1420,15 @@ namespace opensaml { class SAML_DLLLOCAL LogoutRequestImpl : public virtual LogoutRequest, public RequestAbstractTypeImpl { void init() { - m_Reason=NULL; - m_NotOnOrAfter=NULL; - - m_BaseID=NULL; - m_NameID=NULL; - m_EncryptedID=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_Reason=nullptr; + m_NotOnOrAfter=nullptr; + + m_BaseID=nullptr; + m_NameID=nullptr; + m_EncryptedID=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_BaseID=m_pos_Extensions; ++m_pos_BaseID; m_pos_NameID=m_pos_BaseID; @@ -1460,7 +1443,7 @@ namespace opensaml { delete m_NotOnOrAfter; } - LogoutRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + LogoutRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1504,8 +1487,8 @@ namespace opensaml { protected: void marshallAttributes(DOMElement* domElement) const { - MARSHALL_STRING_ATTRIB(Reason,REASON,NULL); - MARSHALL_DATETIME_ATTRIB(NotOnOrAfter,NOTONORAFTER,NULL); + MARSHALL_STRING_ATTRIB(Reason,REASON,nullptr); + MARSHALL_DATETIME_ATTRIB(NotOnOrAfter,NOTONORAFTER,nullptr); RequestAbstractTypeImpl::marshallAttributes(domElement); } @@ -1517,8 +1500,8 @@ namespace opensaml { RequestAbstractTypeImpl::processChildElement(childXMLObject,root); } void processAttribute(const DOMAttr* attribute) { - PROC_STRING_ATTRIB(Reason,REASON,NULL); - PROC_DATETIME_ATTRIB(NotOnOrAfter,NOTONORAFTER,NULL); + PROC_STRING_ATTRIB(Reason,REASON,nullptr); + PROC_DATETIME_ATTRIB(NotOnOrAfter,NOTONORAFTER,nullptr); RequestAbstractTypeImpl::processAttribute(attribute); } }; @@ -1528,7 +1511,7 @@ namespace opensaml { public: virtual ~LogoutResponseImpl() { } - LogoutResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + LogoutResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { } LogoutResponseImpl(const LogoutResponseImpl& src) : AbstractXMLObject(src), StatusResponseTypeImpl(src) { @@ -1544,14 +1527,14 @@ namespace opensaml { class SAML_DLLLOCAL NameIDMappingRequestImpl : public virtual NameIDMappingRequest, public RequestAbstractTypeImpl { void init() { - m_BaseID=NULL; - m_NameID=NULL; - m_EncryptedID=NULL; - m_NameIDPolicy=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); - m_children.push_back(NULL); + m_BaseID=nullptr; + m_NameID=nullptr; + m_EncryptedID=nullptr; + m_NameIDPolicy=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_BaseID=m_pos_Extensions; ++m_pos_BaseID; m_pos_NameID=m_pos_BaseID; @@ -1565,7 +1548,7 @@ namespace opensaml { public: virtual ~NameIDMappingRequestImpl() { } - NameIDMappingRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + NameIDMappingRequestImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init(); @@ -1608,10 +1591,10 @@ namespace opensaml { class SAML_DLLLOCAL NameIDMappingResponseImpl : public virtual NameIDMappingResponse, public StatusResponseTypeImpl { void init() { - m_NameID=NULL; - m_EncryptedID=NULL; - m_children.push_back(NULL); - m_children.push_back(NULL); + m_NameID=nullptr; + m_EncryptedID=nullptr; + m_children.push_back(nullptr); + m_children.push_back(nullptr); m_pos_NameID=m_pos_Status; ++m_pos_NameID; m_pos_EncryptedID=m_pos_NameID; @@ -1620,7 +1603,7 @@ namespace opensaml { public: virtual ~NameIDMappingResponseImpl() { } - NameIDMappingResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const QName* schemaType) + NameIDMappingResponseImpl(const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix, const xmltooling::QName* schemaType) : AbstractXMLObject(nsURI, localName, prefix, schemaType) { init();