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

Scott Cantor cantor.2 at osu.edu
Mon Oct 25 17:09:34 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=babe78fcbb942e227a89336e5235b6711119add1

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

commit babe78fcbb942e227a89336e5235b6711119add1
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Oct 25 13:09:07 2021 -0400

    SSPCPP-935 - Add deprecations to all at risk features
    
    https://shibboleth.atlassian.net/browse/SSPCPP-935
---
 adfs/adfs.cpp                                     | 5 ++++-
 apache/mod_shib.cpp                               | 9 +++++++--
 isapi_shib/isapi_shib.cpp                         | 1 +
 nsapi_shib/nsapi_shib.cpp                         | 1 +
 shibsp/handler/impl/CookieSessionInitiator.cpp    | 2 ++
 shibsp/handler/impl/FormSessionInitiator.cpp      | 2 ++
 shibsp/handler/impl/SAML2SessionInitiator.cpp     | 5 ++++-
 shibsp/handler/impl/Shib1SessionInitiator.cpp     | 5 ++++-
 shibsp/handler/impl/TransformSessionInitiator.cpp | 1 +
 shibsp/handler/impl/WAYFSessionInitiator.cpp      | 5 ++++-
 10 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/adfs/adfs.cpp b/adfs/adfs.cpp
index 72b95fe9..53ded8f1 100644
--- a/adfs/adfs.cpp
+++ b/adfs/adfs.cpp
@@ -363,6 +363,7 @@ pair<bool,long> ADFSSessionInitiator::run(SPRequest& request, string& entityID,
     if (isHandler) {
         prop.second = request.getParameter("acsIndex");
         if (prop.second && *prop.second) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(atoi(prop.second));
             if (!ACS)
                 request.log(SPRequest::SPWarn, "invalid acsIndex specified in request, using acsIndex property");
@@ -398,8 +399,10 @@ pair<bool,long> ADFSSessionInitiator::run(SPRequest& request, string& entityID,
 
     if (!ACS) {
         pair<bool,unsigned int> index = getUnsignedInt("acsIndex", request, HANDLER_PROPERTY_MAP|HANDLER_PROPERTY_FIXED);
-        if (index.first)
+        if (index.first) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(index.second);
+        }
     }
 
     // Validate the ACS for use with this protocol.
diff --git a/apache/mod_shib.cpp b/apache/mod_shib.cpp
index dd0f4125..6b1dc676 100644
--- a/apache/mod_shib.cpp
+++ b/apache/mod_shib.cpp
@@ -1931,7 +1931,11 @@ extern "C" apr_status_t shib_exit(void* data)
 apr_status_t shib_post_config(apr_pool_t* p, apr_pool_t*, apr_pool_t*, server_rec* s)
 {
     // Initialize runtime components.
-    ap_log_error(APLOG_MARK, APLOG_INFO|APLOG_NOERRNO, SH_AP_R(s),"post_config: mod_shib initializing in pid (%d)", (int)getpid());
+    ap_log_error(APLOG_MARK, APLOG_INFO|APLOG_NOERRNO, SH_AP_R(s), "post_config: mod_shib initializing in pid (%d)", (int)getpid());
+
+#ifndef SHIB_APACHE_24
+    ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_NOERRNO, SH_AP_R(s), "DEPRECATED: Apache 2.2 module, please upgrade to Apache 2.4+");
+#endif
 
     if (g_Config) {
         ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, SH_AP_R(s), "post_config: mod_shib already initialized");
@@ -1978,7 +1982,8 @@ extern "C" void shib_child_init(apr_pool_t* p, server_rec* s)
 {
     // Initialize runtime components.
 
-    ap_log_error(APLOG_MARK, APLOG_INFO|APLOG_NOERRNO, SH_AP_R(s),"child_init: mod_shib initializing in pid (%d)", (int)getpid());
+    ap_log_error(APLOG_MARK, APLOG_INFO|APLOG_NOERRNO, SH_AP_R(s), "child_init: mod_shib initializing in pid (%d)", (int)getpid());
+    ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_NOERRNO, SH_AP_R(s), "DEPRECATED: Apache 1.3 module, please upgrade to Apache 2.4+");
 
     // 2.x versions have already initialized the libraries.
 #ifdef SHIB_APACHE_13
diff --git a/isapi_shib/isapi_shib.cpp b/isapi_shib/isapi_shib.cpp
index 5a743280..adea5924 100644
--- a/isapi_shib/isapi_shib.cpp
+++ b/isapi_shib/isapi_shib.cpp
@@ -159,6 +159,7 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
     }
 
     g_Config = &SPConfig::getConfig();
+    g_Config->deprecation().warn("ISAPI extension is replaced by IIS 7+ module");
     g_Config->setFeatures(
         SPConfig::Listener |
         SPConfig::Caching |
diff --git a/nsapi_shib/nsapi_shib.cpp b/nsapi_shib/nsapi_shib.cpp
index 84cc3d14..570dfbf2 100644
--- a/nsapi_shib/nsapi_shib.cpp
+++ b/nsapi_shib/nsapi_shib.cpp
@@ -144,6 +144,7 @@ extern "C" NSAPI_PUBLIC int nsapi_shib_init(pblock* pb, ::Session* sn, Request*
     const char* prefix=pblock_findval("shib-prefix",pb);
 
     g_Config=&SPConfig::getConfig();
+    g_Config->deprecation().warn("NSAPI filter");
     g_Config->setFeatures(
         SPConfig::Listener |
         SPConfig::Caching |
diff --git a/shibsp/handler/impl/CookieSessionInitiator.cpp b/shibsp/handler/impl/CookieSessionInitiator.cpp
index 66c6577b..aa264488 100644
--- a/shibsp/handler/impl/CookieSessionInitiator.cpp
+++ b/shibsp/handler/impl/CookieSessionInitiator.cpp
@@ -58,6 +58,8 @@ namespace shibsp {
             : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".SessionInitiator.Cookie")),
               m_followMultiple(getBool("followMultiple").second) {
             m_supportedOptions.insert("isPassive");
+
+            SPConfig::getConfig().deprecation().warn(COOKIE_SESSION_INITIATOR" SessionInitiator is slated for removal");
         }
         virtual ~CookieSessionInitiator() {}
         
diff --git a/shibsp/handler/impl/FormSessionInitiator.cpp b/shibsp/handler/impl/FormSessionInitiator.cpp
index 24dd77d8..79ba87c2 100644
--- a/shibsp/handler/impl/FormSessionInitiator.cpp
+++ b/shibsp/handler/impl/FormSessionInitiator.cpp
@@ -55,6 +55,8 @@ namespace shibsp {
             : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT ".SessionInitiator.Form")), m_template(getString("template").second) {
             if (!m_template)
                 throw ConfigurationException("Form SessionInitiator requires a template property.");
+
+            SPConfig::getConfig().deprecation().warn(FORM_SESSION_INITIATOR" SessionInitiator is slated for removal");
         }
         virtual ~FormSessionInitiator() {}
         
diff --git a/shibsp/handler/impl/SAML2SessionInitiator.cpp b/shibsp/handler/impl/SAML2SessionInitiator.cpp
index 2b3e7de8..7aadabe5 100644
--- a/shibsp/handler/impl/SAML2SessionInitiator.cpp
+++ b/shibsp/handler/impl/SAML2SessionInitiator.cpp
@@ -270,6 +270,7 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
     if (isHandler) {
         prop.second = request.getParameter("acsIndex");
         if (prop.second && *prop.second) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(atoi(prop.second));
             if (!ACS)
                 request.log(SPRequest::SPWarn, "invalid acsIndex specified in request, using acsIndex property");
@@ -348,8 +349,10 @@ pair<bool,long> SAML2SessionInitiator::run(SPRequest& request, string& entityID,
         else {
             // Try fixed index property.
             pair<bool,unsigned int> index = getUnsignedInt("acsIndex", request, HANDLER_PROPERTY_MAP|HANDLER_PROPERTY_FIXED);
-            if (index.first)
+            if (index.first) {
+                SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
                 ACS = app.getAssertionConsumerServiceByIndex(index.second);
+            }
         }
     }
 
diff --git a/shibsp/handler/impl/Shib1SessionInitiator.cpp b/shibsp/handler/impl/Shib1SessionInitiator.cpp
index cbdd7a7a..ba4f47e2 100644
--- a/shibsp/handler/impl/Shib1SessionInitiator.cpp
+++ b/shibsp/handler/impl/Shib1SessionInitiator.cpp
@@ -140,6 +140,7 @@ pair<bool,long> Shib1SessionInitiator::run(SPRequest& request, string& entityID,
     if (isHandler) {
         prop.second = request.getParameter("acsIndex");
         if (prop.second && *prop.second) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(atoi(prop.second));
             if (!ACS)
                 request.log(SPRequest::SPWarn, "invalid acsIndex specified in request, using acsIndex property");
@@ -166,8 +167,10 @@ pair<bool,long> Shib1SessionInitiator::run(SPRequest& request, string& entityID,
     if (!ACS) {
         // Try fixed index property.
         pair<bool,unsigned int> index = getUnsignedInt("acsIndex", request, HANDLER_PROPERTY_MAP|HANDLER_PROPERTY_FIXED);
-        if (index.first)
+        if (index.first) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(index.second);
+        }
     }
 
     // If we picked by index, validate the ACS for use with this protocol.
diff --git a/shibsp/handler/impl/TransformSessionInitiator.cpp b/shibsp/handler/impl/TransformSessionInitiator.cpp
index b564472c..0be3b53c 100644
--- a/shibsp/handler/impl/TransformSessionInitiator.cpp
+++ b/shibsp/handler/impl/TransformSessionInitiator.cpp
@@ -114,6 +114,7 @@ namespace shibsp {
                 }
             }
 #endif
+            SPConfig::getConfig().deprecation().warn(TRANSFORM_SESSION_INITIATOR" SessionInitiator is slated for removal");
         }
 
         virtual ~TransformSessionInitiator() {}
diff --git a/shibsp/handler/impl/WAYFSessionInitiator.cpp b/shibsp/handler/impl/WAYFSessionInitiator.cpp
index d6352acf..0247ee92 100644
--- a/shibsp/handler/impl/WAYFSessionInitiator.cpp
+++ b/shibsp/handler/impl/WAYFSessionInitiator.cpp
@@ -104,6 +104,7 @@ pair<bool,long> WAYFSessionInitiator::run(SPRequest& request, string& entityID,
     if (isHandler) {
         prop.second = request.getParameter("acsIndex");
         if (prop.second && *prop.second) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(atoi(prop.second));
             if (!ACS)
                 request.log(SPRequest::SPWarn, "invalid acsIndex specified in request, using acsIndex property");
@@ -138,8 +139,10 @@ pair<bool,long> WAYFSessionInitiator::run(SPRequest& request, string& entityID,
     if (!ACS) {
         // Try fixed index property.
         pair<bool,unsigned int> index = getUnsignedInt("acsIndex", request, HANDLER_PROPERTY_MAP|HANDLER_PROPERTY_FIXED);
-        if (index.first)
+        if (index.first) {
+            SPConfig::getConfig().deprecation().warn("Use of acsIndex when specifying response endpoint");
             ACS = app.getAssertionConsumerServiceByIndex(index.second);
+        }
     }
 
     // If we picked by index, validate the ACS for use with this protocol.

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


More information about the commits mailing list