[cpp-sp] branch main updated: SSPCPP-935 - Add deprecations to all at risk features

Scott Cantor cantor.2 at osu.edu
Tue Oct 26 17:20:27 UTC 2021


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

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

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

The following commit(s) were added to refs/heads/main by this push:
     new 213cf926 SSPCPP-935 - Add deprecations to all at risk features
213cf926 is described below

commit 213cf9262f6a2cb30e3eab0d6d492a0fb4cbfe56
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Oct 26 13:19:21 2021 -0400

    SSPCPP-935 - Add deprecations to all at risk features
    
    https://shibboleth.atlassian.net/browse/SSPCPP-935
---
 adfs/adfs.cpp                                                | 12 +++++++++++-
 plugins/AttributeResolverHandler.cpp                         |  2 ++
 plugins/GSSAPIAttributeExtractor.cpp                         |  1 +
 shibsp/attribute/Attribute.cpp                               |  9 +++++++++
 shibsp/attribute/Base64AttributeDecoder.cpp                  |  4 +++-
 shibsp/attribute/DOMAttributeDecoder.cpp                     |  2 ++
 shibsp/attribute/KeyInfoAttributeDecoder.cpp                 |  3 +++
 shibsp/attribute/XMLAttributeDecoder.cpp                     |  4 +++-
 .../resolver/impl/KeyDescriptorAttributeExtractor.cpp        |  1 +
 shibsp/binding/impl/ArtifactResolver.cpp                     |  1 +
 shibsp/handler/impl/ExternalAuthHandler.cpp                  |  2 ++
 shibsp/handler/impl/MetadataGenerator.cpp                    |  2 ++
 shibsp/handler/impl/SAML2NameIDMgmt.cpp                      |  1 +
 13 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/adfs/adfs.cpp b/adfs/adfs.cpp
index 53ded8f1..a3f7ee52 100644
--- a/adfs/adfs.cpp
+++ b/adfs/adfs.cpp
@@ -129,6 +129,8 @@ namespace {
     public:
         ADFSSessionInitiator(const DOMElement* e, const char* appId)
             : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".SessionInitiator.ADFS"), nullptr, this), m_appId(appId), m_binding(WSFED_NS) {
+            SPConfig::getConfig().deprecation().warn("ADFS SessionInitiator");
+
             // If Location isn't set, defer address registration until the setParent call.
             pair<bool,const char*> loc = getString("Location");
             if (loc.first) {
@@ -184,7 +186,9 @@ namespace {
     public:
         ADFSConsumer(const DOMElement* e, const char* appId, bool deprecationSupport)
             : shibsp::AssertionConsumerService(e, appId, Category::getInstance(SHIBSP_LOGCAT ".SSO.ADFS"), nullptr, nullptr, deprecationSupport),
-                m_protocol(WSFED_NS) {}
+                m_protocol(WSFED_NS) {
+            SPConfig::getConfig().deprecation().warn("ADFS AssertionConsumerService");
+        }
         virtual ~ADFSConsumer() {}
 
 #ifndef SHIBSP_LITE
@@ -218,6 +222,9 @@ namespace {
     public:
         ADFSLogoutInitiator(const DOMElement* e, const char* appId)
                 : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".LogoutInitiator.ADFS")), m_appId(appId), m_binding(WSFED_NS) {
+
+            SPConfig::getConfig().deprecation().warn("ADFS LogoutInitiator");
+
             // If Location isn't set, defer address registration until the setParent call.
             pair<bool,const char*> loc = getString("Location");
             if (loc.first) {
@@ -258,6 +265,9 @@ namespace {
     public:
         ADFSLogout(const DOMElement* e, const char* appId, bool deprecationSupport)
                 : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".Logout.ADFS")), m_login(e, appId, deprecationSupport) {
+
+            SPConfig::getConfig().deprecation().warn("ADFS Logout handler");
+
             m_initiator = false;
 #ifndef SHIBSP_LITE
             m_preserve.push_back("wreply");
diff --git a/plugins/AttributeResolverHandler.cpp b/plugins/AttributeResolverHandler.cpp
index 5b5b65af..79a6f86c 100644
--- a/plugins/AttributeResolverHandler.cpp
+++ b/plugins/AttributeResolverHandler.cpp
@@ -182,6 +182,8 @@ vector<Assertion*> DummyContext::m_tokens;
 AttributeResolverHandler::AttributeResolverHandler(const DOMElement* e, const char* appId)
         : SecuredHandler(e, Category::getInstance(SHIBSP_LOGCAT".AttributeResolverHandler"), "acl", "127.0.0.1 ::1")
 {
+    SPConfig::getConfig().deprecation().warn("AttributeResolver Handler");
+
     pair<bool,const char*> prop = getString("Location");
     if (!prop.first)
         throw ConfigurationException("AttributeQuery handler requires Location property.");
diff --git a/plugins/GSSAPIAttributeExtractor.cpp b/plugins/GSSAPIAttributeExtractor.cpp
index 096d4add..09261811 100644
--- a/plugins/GSSAPIAttributeExtractor.cpp
+++ b/plugins/GSSAPIAttributeExtractor.cpp
@@ -110,6 +110,7 @@ namespace shibsp {
     public:
         GSSAPIExtractor(const DOMElement* e)
                 : ReloadableXMLFile(e, Category::getInstance(SHIBSP_LOGCAT ".AttributeExtractor.GSSAPI")) {
+            SPConfig::getConfig().deprecation().warn("GSSAPI AttributeExtractor");
             background_load();
         }
         ~GSSAPIExtractor() {
diff --git a/shibsp/attribute/Attribute.cpp b/shibsp/attribute/Attribute.cpp
index 8cddda39..6acfb8b2 100644
--- a/shibsp/attribute/Attribute.cpp
+++ b/shibsp/attribute/Attribute.cpp
@@ -108,6 +108,15 @@ AttributeDecoder::AttributeDecoder(const DOMElement *e)
         m_langAware(XMLHelper::getAttrBool(e, false, langAware)),
         m_hashAlg(XMLHelper::getAttrString(e, nullptr, hashAlg))
 {
+    if (m_internal) {
+        SPConfig::getConfig().deprecation().warn("<AttributeDecoder> internal option");
+    }
+    if (m_langAware) {
+        SPConfig::getConfig().deprecation().warn("<AttributeDecoder> langAware option");
+    }
+    if (!m_hashAlg.empty()) {
+        SPConfig::getConfig().deprecation().warn("<AttributeDecoder> hashAlg option");
+    }
 }
 
 AttributeDecoder::~AttributeDecoder()
diff --git a/shibsp/attribute/Base64AttributeDecoder.cpp b/shibsp/attribute/Base64AttributeDecoder.cpp
index 401f17e3..fb22b242 100644
--- a/shibsp/attribute/Base64AttributeDecoder.cpp
+++ b/shibsp/attribute/Base64AttributeDecoder.cpp
@@ -44,7 +44,9 @@ namespace shibsp {
     class SHIBSP_DLLLOCAL Base64AttributeDecoder : virtual public AttributeDecoder
     {
     public:
-        Base64AttributeDecoder(const DOMElement* e) : AttributeDecoder(e) {}
+        Base64AttributeDecoder(const DOMElement* e) : AttributeDecoder(e) {
+            SPConfig::getConfig().deprecation().warn("Base64AttributeDecoder");
+        }
         ~Base64AttributeDecoder() {}
 
         shibsp::Attribute* decode(
diff --git a/shibsp/attribute/DOMAttributeDecoder.cpp b/shibsp/attribute/DOMAttributeDecoder.cpp
index 045af03c..6d815c3c 100644
--- a/shibsp/attribute/DOMAttributeDecoder.cpp
+++ b/shibsp/attribute/DOMAttributeDecoder.cpp
@@ -70,6 +70,8 @@ DOMAttributeDecoder::DOMAttributeDecoder(const DOMElement* e)
 {
     Category& log = Category::getInstance(SHIBSP_LOGCAT ".AttributeDecoder.DOM");
 
+    SPConfig::getConfig().deprecation().warn("DOMAttributeDecoder");
+
     e = XMLHelper::getFirstChildElement(e, Mapping);
     while (e) {
         if (e->hasAttributeNS(nullptr, _from) && e->hasAttributeNS(nullptr, _to)) {
diff --git a/shibsp/attribute/KeyInfoAttributeDecoder.cpp b/shibsp/attribute/KeyInfoAttributeDecoder.cpp
index 45281c81..ec318063 100644
--- a/shibsp/attribute/KeyInfoAttributeDecoder.cpp
+++ b/shibsp/attribute/KeyInfoAttributeDecoder.cpp
@@ -89,6 +89,9 @@ KeyInfoAttributeDecoder::KeyInfoAttributeDecoder(const DOMElement* e, bool depre
     : AttributeDecoder(e),
         m_hash(XMLHelper::getAttrBool(e, false, _hash)),
         m_keyInfoHashAlg(XMLHelper::getAttrString(e, "SHA1", keyInfoHashAlg)) {
+
+    SPConfig::getConfig().deprecation().warn("KeyInfoAttributeDecoder");
+
     e = XMLHelper::getFirstChildElement(e, _KeyInfoResolver);
     if (e) {
         string t(XMLHelper::getAttrString(e, nullptr, _type));
diff --git a/shibsp/attribute/XMLAttributeDecoder.cpp b/shibsp/attribute/XMLAttributeDecoder.cpp
index a5592e3e..932c574d 100644
--- a/shibsp/attribute/XMLAttributeDecoder.cpp
+++ b/shibsp/attribute/XMLAttributeDecoder.cpp
@@ -41,7 +41,9 @@ namespace shibsp {
     class SHIBSP_DLLLOCAL XMLAttributeDecoder : virtual public AttributeDecoder
     {
     public:
-        XMLAttributeDecoder(const DOMElement* e) : AttributeDecoder(e) {}
+        XMLAttributeDecoder(const DOMElement* e) : AttributeDecoder(e) {
+            SPConfig::getConfig().deprecation().warn("XMLAttributeDecoder");
+        }
         ~XMLAttributeDecoder() {}
 
         Attribute* decode(
diff --git a/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp b/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp
index abb9e8f2..370321d2 100644
--- a/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp
+++ b/shibsp/attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp
@@ -104,6 +104,7 @@ namespace shibsp {
 
 KeyDescriptorExtractor::KeyDescriptorExtractor(const DOMElement* e) : m_hashAlg(XMLHelper::getAttrString(e, "SHA1", hashAlg))
 {
+    SPConfig::getConfig().deprecation().warn(KEYDESCRIPTOR_ATTRIBUTE_EXTRACTOR" AttributeExtractor");
     if (e) {
         string a(XMLHelper::getAttrString(e, nullptr, hashId));
         if (!a.empty())
diff --git a/shibsp/binding/impl/ArtifactResolver.cpp b/shibsp/binding/impl/ArtifactResolver.cpp
index c74313da..878f05ea 100644
--- a/shibsp/binding/impl/ArtifactResolver.cpp
+++ b/shibsp/binding/impl/ArtifactResolver.cpp
@@ -193,6 +193,7 @@ ArtifactResponse* ArtifactResolver::resolve(
                 // The local filesystem is presumed to be "secure" so that unsigned, unencrypted responses are acceptable.
                 // The binding here is not SOAP, but rather REST-like, with the base location used to construct a filename
                 // containing the artifact message handle.
+                SPConfig::getConfig().deprecation().warn("Local artifact resolution");
                 foundEndpoint = true;
                 auto_ptr_char temp((*ep)->getLocation());
                 if (temp.get()) {
diff --git a/shibsp/handler/impl/ExternalAuthHandler.cpp b/shibsp/handler/impl/ExternalAuthHandler.cpp
index 411a9ed0..5404e391 100644
--- a/shibsp/handler/impl/ExternalAuthHandler.cpp
+++ b/shibsp/handler/impl/ExternalAuthHandler.cpp
@@ -165,6 +165,8 @@ namespace {
 ExternalAuth::ExternalAuth(const DOMElement* e, const char* appId)
     : SecuredHandler(e, Category::getInstance(SHIBSP_LOGCAT ".Handler.ExternalAuth"), "acl", "127.0.0.1 ::1")
 {
+    SPConfig::getConfig().deprecation().warn(EXTERNAL_AUTH_HANDLER" handler");
+
     pair<bool,const char*> prop = getString("Location");
     if (!prop.first)
         throw ConfigurationException("ExternalAuth handler requires Location property.");
diff --git a/shibsp/handler/impl/MetadataGenerator.cpp b/shibsp/handler/impl/MetadataGenerator.cpp
index 674f6b19..0459d802 100644
--- a/shibsp/handler/impl/MetadataGenerator.cpp
+++ b/shibsp/handler/impl/MetadataGenerator.cpp
@@ -191,6 +191,8 @@ MetadataGenerator::MetadataGenerator(const DOMElement* e, const char* appId)
         ,m_http(0), m_https(0), m_encryptionBuilder(nullptr), m_digestBuilder(nullptr)
 #endif
 {
+    SPConfig::getConfig().deprecation().warn(METADATA_GENERATOR_HANDLER" handler");
+
     string address(appId);
     address += getString("Location").second;
     setAddress(address.c_str());
diff --git a/shibsp/handler/impl/SAML2NameIDMgmt.cpp b/shibsp/handler/impl/SAML2NameIDMgmt.cpp
index 2301debe..9b9970a9 100644
--- a/shibsp/handler/impl/SAML2NameIDMgmt.cpp
+++ b/shibsp/handler/impl/SAML2NameIDMgmt.cpp
@@ -143,6 +143,7 @@ namespace shibsp {
 SAML2NameIDMgmt::SAML2NameIDMgmt(const DOMElement* e, const char* appId, bool deprecationSupport)
     : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".NameIDMgmt.SAML2"))
 {
+    SPConfig::getConfig().deprecation().warn("SAML 2.0 NameID Management support");
 #ifndef SHIBSP_LITE
     if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess)) {
         SAMLConfig& conf = SAMLConfig::getConfig();

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


More information about the commits mailing list