X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml2%2Fbinding%2Fimpl%2FSAML2POSTEncoder.cpp;h=ec32ac25b9bfcf22f3ba13d1190fd54e4d3ef0ef;hb=16d5976c9821b70d95675983702e0032d8769467;hp=0ae74080deff879eb80b4e504300df7f337afb53;hpb=54b7006826fd06e8e2bc251aaba38cccc85b3936;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml2/binding/impl/SAML2POSTEncoder.cpp b/saml/saml2/binding/impl/SAML2POSTEncoder.cpp index 0ae7408..ec32ac2 100644 --- a/saml/saml2/binding/impl/SAML2POSTEncoder.cpp +++ b/saml/saml2/binding/impl/SAML2POSTEncoder.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2001-2009 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. @@ -60,12 +60,12 @@ namespace opensaml { GenericResponse& genericResponse, XMLObject* xmlObject, const char* destination, - const EntityDescriptor* recipient=NULL, - const char* relayState=NULL, - const ArtifactGenerator* artifactGenerator=NULL, - const Credential* credential=NULL, - const XMLCh* signatureAlg=NULL, - const XMLCh* digestAlg=NULL + const EntityDescriptor* recipient=nullptr, + const char* relayState=nullptr, + const ArtifactGenerator* artifactGenerator=nullptr, + const Credential* credential=nullptr, + const XMLCh* signatureAlg=nullptr, + const XMLCh* digestAlg=nullptr ) const; private: @@ -87,13 +87,9 @@ namespace opensaml { static const XMLCh _template[] = UNICODE_LITERAL_8(t,e,m,p,l,a,t,e); -SAML2POSTEncoder::SAML2POSTEncoder(const DOMElement* e, const XMLCh* ns, bool simple) : m_simple(simple) +SAML2POSTEncoder::SAML2POSTEncoder(const DOMElement* e, const XMLCh* ns, bool simple) + : m_template(XMLHelper::getAttrString(e, nullptr, _template, ns)), m_simple(simple) { - if (e) { - auto_ptr_char t(e->getAttributeNS(ns, _template)); - if (t.get() && *t.get()) - m_template = t.get(); - } if (m_template.empty()) throw XMLToolingException("SAML2POSTEncoder requires template XML attribute."); XMLToolingConfig::getConfig().getPathResolver()->resolve(m_template, PathResolver::XMLTOOLING_CFG_FILE); @@ -124,7 +120,7 @@ long SAML2POSTEncoder::encode( if (xmlObject->getParent()) throw BindingException("Cannot encode XML content with parent."); - StatusResponseType* response = NULL; + StatusResponseType* response = nullptr; RequestAbstractType* request = dynamic_cast(xmlObject); if (!request) { response = dynamic_cast(xmlObject); @@ -132,7 +128,7 @@ long SAML2POSTEncoder::encode( throw BindingException("XML content for SAML 2.0 HTTP-POST Encoder must be a SAML 2.0 protocol message."); } - DOMElement* rootElement = NULL; + DOMElement* rootElement = nullptr; if (credential && !m_simple) { // Signature based on native XML signing. if (request ? request->getSignature() : response->getSignature()) { @@ -154,12 +150,12 @@ long SAML2POSTEncoder::encode( // Sign response while marshalling. vector sigs(1,sig); - rootElement = xmlObject->marshall((DOMDocument*)NULL,&sigs,credential); + rootElement = xmlObject->marshall((DOMDocument*)nullptr,&sigs,credential); } } else { log.debug("marshalling the message"); - rootElement = xmlObject->marshall((DOMDocument*)NULL); + rootElement = xmlObject->marshall((DOMDocument*)nullptr); } // Serialize the message. @@ -188,7 +184,7 @@ long SAML2POSTEncoder::encode( auto_ptr keyInfo(credential->getKeyInfo()); if (keyInfo.get()) { string& kstring = pmap.m_map["KeyInfo"]; - XMLHelper::serialize(keyInfo->marshall((DOMDocument*)NULL), kstring); + XMLHelper::serialize(keyInfo->marshall((DOMDocument*)nullptr), kstring); xsecsize_t len=0; XMLByte* out=Base64::encode(reinterpret_cast(kstring.data()),kstring.size(),&len); if (!out)