[cpp-sp] branch master updated: SPPCPP-887 - request from MDQ does not include correct Accept header

Scott Cantor cantor.2 at osu.edu
Tue Mar 10 09:27:43 EDT 2020


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository cpp-sp.

View the commit online:
http://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=9cb539868435d1c83e3d79e6ced1e318269cedda

The following commit(s) were added to refs/heads/master by this push:
       new  9cb5398   SPPCPP-887 - request from MDQ does not include correct Accept header
9cb5398 is described below

commit 9cb539868435d1c83e3d79e6ced1e318269cedda
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Mar 10 09:26:54 2020 -0400

    SPPCPP-887 - request from MDQ does not include correct Accept header
    
    https://issues.shibboleth.net/jira/browse/SSPCPP-887
    
    Add overrideable Accept option.
---
 shibsp/metadata/DynamicMetadataProvider.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/shibsp/metadata/DynamicMetadataProvider.cpp b/shibsp/metadata/DynamicMetadataProvider.cpp
index 9bfb6d1..07f979d 100644
--- a/shibsp/metadata/DynamicMetadataProvider.cpp
+++ b/shibsp/metadata/DynamicMetadataProvider.cpp
@@ -91,7 +91,7 @@ namespace shibsp {
         Category& m_log;
         bool m_verifyHost, m_ignoreTransport, m_encoded, m_backgroundInit, m_isMDQ;
         static bool s_artifactWarned;
-        string m_subst, m_match, m_regex, m_hashed, m_cacheDir;
+        string m_subst, m_match, m_regex, m_hashed, m_cacheDir, m_acceptHeader;
         boost::scoped_ptr<X509TrustEngine> m_trust;
         boost::scoped_ptr<CredentialResolver> m_dummyCR;
         boost::scoped_ptr<Thread> m_init_thread;
@@ -106,6 +106,7 @@ namespace shibsp {
         return new DynamicMetadataProvider(e, deprecationSupport);
     }
 
+    static const XMLCh Accept[] =           UNICODE_LITERAL_6(A,c,c,e,p,t);
     static const XMLCh encoded[] =          UNICODE_LITERAL_7(e,n,c,o,d,e,d);
     static const XMLCh hashed[] =           UNICODE_LITERAL_6(h,a,s,h,e,d);
     static const XMLCh ignoreTransport[] =  UNICODE_LITERAL_15(i,g,n,o,r,e,T,r,a,n,s,p,o,r,t);
@@ -129,7 +130,8 @@ DynamicMetadataProvider::DynamicMetadataProvider(const DOMElement* e, bool depre
         m_ignoreTransport(XMLHelper::getAttrBool(e, false, ignoreTransport)),
         m_encoded(true), m_backgroundInit(false),
         m_isMDQ(XMLHelper::getAttrString(e, "Dyanamic", _type) == "MDQ"),
-        m_cacheDir(XMLHelper::getAttrString(e, "", cacheDirectory))
+        m_cacheDir(XMLHelper::getAttrString(e, "", cacheDirectory)),
+        m_acceptHeader(XMLHelper::getAttrString(e, "application/samlmetadata+xml", Accept))
 {
     const DOMElement* child = XMLHelper::getFirstChildElement(e, Subst);
     if (child && child->hasChildNodes()) {
@@ -372,8 +374,8 @@ EntityDescriptor* DynamicMetadataProvider::resolve(const MetadataProvider::Crite
     if (http) {
         pair<bool,bool> flag = relyingParty->getBool("chunkedEncoding");
         http->useChunkedEncoding(flag.first && flag.second);
-        if (m_isMDQ) {
-            http->setRequestHeader("Accept", "application/samlmetadata+xml");
+        if (!m_acceptHeader.empty()) {
+            http->setRequestHeader("Accept", m_acceptHeader.c_str());
         }
         http->setRequestHeader("Xerces-C", XERCES_FULLVERSIONDOT);
         http->setRequestHeader("XML-Security-C", XSEC_FULLVERSIONDOT);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list