[cpp-sp] 06/06: Start adding more deprecations.

Codeberg noreply at shibboleth.net
Wed Aug 12 19:20:08 UTC 2026


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

codeberg pushed a commit to branch maint-3
in repository cpp-sp.

View the commit online:
https://codeberg.org/Shibboleth/cpp-sp/commit/4ceabf56c9d91e3d8d82567072ada16331749dfb

commit 4ceabf56c9d91e3d8d82567072ada16331749dfb
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Wed Aug 12 15:09:48 2026 -0400

    Start adding more deprecations.
---
 .gitignore                                      |  1 +
 apache/mod_shib.cpp                             |  2 +-
 isapi_shib/isapi_shib.cpp                       |  2 +-
 shibsp/handler/impl/LogoutHandler.cpp           | 13 ++++++++++---
 shibsp/handler/impl/SAML2ArtifactResolution.cpp |  4 ++++
 shibsp/handler/impl/SAML2Logout.cpp             |  1 +
 shibsp/handler/impl/SAML2LogoutInitiator.cpp    |  6 +++++-
 7 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/.gitignore b/.gitignore
index 351faa3e..e4358933 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,6 +57,7 @@ x64
 /build-aux
 /build
 /Build
+/.vscode
 /Projects/VC??/adfs/adfs-lite-Debug/
 /Projects/VC??/adfs/adfs-lite-Release/
 /Projects/VC??/apache/mod_shib_20-Debug/
diff --git a/apache/mod_shib.cpp b/apache/mod_shib.cpp
index f3be14ca..ff7336e7 100644
--- a/apache/mod_shib.cpp
+++ b/apache/mod_shib.cpp
@@ -2325,7 +2325,7 @@ static command_rec shib_cmds[] = {
     AP_INIT_TAKE1("ShibCatalogs", (config_fn_t)ap_set_global_string_slot, &g_szSchemaDir,
         RSRC_CONF, "Paths of XML schema catalogs"),
     AP_INIT_TAKE1("ShibGSSKey", (config_fn_t)ap_set_global_string_slot, &g_szGSSContextKey,
-        RSRC_CONF, "Name of user data key containing GSS context established by GSS module"),
+        RSRC_CONF, "(DEPRECATED) Name of user data key containing GSS context established by GSS module"),
 
     AP_INIT_TAKE1("ShibURLScheme", (config_fn_t)shib_set_server_string_slot,
         (void *) offsetof (shib_server_config, szScheme),
diff --git a/isapi_shib/isapi_shib.cpp b/isapi_shib/isapi_shib.cpp
index adea5924..5b337c6c 100644
--- a/isapi_shib/isapi_shib.cpp
+++ b/isapi_shib/isapi_shib.cpp
@@ -159,7 +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->deprecation().warn("ISAPI extension should be replaced by IIS 7+ module");
     g_Config->setFeatures(
         SPConfig::Listener |
         SPConfig::Caching |
diff --git a/shibsp/handler/impl/LogoutHandler.cpp b/shibsp/handler/impl/LogoutHandler.cpp
index 5673a121..e8a68b08 100644
--- a/shibsp/handler/impl/LogoutHandler.cpp
+++ b/shibsp/handler/impl/LogoutHandler.cpp
@@ -110,8 +110,11 @@ void LogoutHandler::receive(DDF& in, ostream& out)
 {
     DDF ret(nullptr);
     DDFJanitor jout(ret);
-    if (in["notify"].integer() != 1)
+    if (in["notify"].integer() != 1) {
         throw ListenerException("Unsupported operation.");
+    }
+    
+    SPConfig::getConfig().deprecation().warn("Back-channel logout notification will be removed in the next major version");
 
     // Find application.
     const char* aid=in["application_id"].string();
@@ -128,8 +131,9 @@ void LogoutHandler::receive(DDF& in, ostream& out)
     while (temp.isstring()) {
         sessions.push_back(temp.string());
         temp = s.next();
-        if (notifyBackChannel(*app, in["url"].string(), sessions, in["local"].integer()==1))
+        if (notifyBackChannel(*app, in["url"].string(), sessions, in["local"].integer()==1)) {
             ret.integer(1);
+        }
     }
 
     out << ret;
@@ -235,8 +239,9 @@ bool LogoutHandler::notifyBackChannel(
 
     unsigned int index = 0;
     string endpoint = application.getNotificationURL(requestURL, false, index++);
-    if (endpoint.empty())
+    if (endpoint.empty()) {
         return true;
+    }
 
     if (SPConfig::getConfig().isEnabled(SPConfig::OutOfProcess)) {
 #ifndef SHIBSP_LITE
@@ -273,6 +278,8 @@ bool LogoutHandler::notifyBackChannel(
 #endif
     }
 
+    SPConfig::getConfig().deprecation().warn("Back-channel logout notification will be removed in the next major version");
+
     // When not out of process, we remote the back channel work.
     DDF out,in(m_address.c_str());
     DDFJanitor jin(in), jout(out);
diff --git a/shibsp/handler/impl/SAML2ArtifactResolution.cpp b/shibsp/handler/impl/SAML2ArtifactResolution.cpp
index 48eeaa40..23d42a8e 100644
--- a/shibsp/handler/impl/SAML2ArtifactResolution.cpp
+++ b/shibsp/handler/impl/SAML2ArtifactResolution.cpp
@@ -167,6 +167,8 @@ pair<bool,long> SAML2ArtifactResolution::run(SPRequest& request, bool isHandler)
             return processMessage(request.getApplication(), request, request);
         }
         else {
+            SPConfig::getConfig().deprecation().warn("Inbound SAML artifact resolution will be removed from the next major version");
+
             // When not out of process, we remote all the message processing.
             DDF out,in = wrap(request, nullptr, true);
             DDFJanitor jin(in), jout(out);
@@ -211,6 +213,8 @@ pair<bool,long> SAML2ArtifactResolution::run(SPRequest& request, bool isHandler)
 
 void SAML2ArtifactResolution::receive(DDF& in, ostream& out)
 {
+    SPConfig::getConfig().deprecation().warn("Inbound SAML artifact resolution will be removed from the next major version");
+
     // Find application.
     const char* aid=in["application_id"].string();
     const Application* app=aid ? SPConfig::getConfig().getServiceProvider()->getApplication(aid) : nullptr;
diff --git a/shibsp/handler/impl/SAML2Logout.cpp b/shibsp/handler/impl/SAML2Logout.cpp
index f9d3abd3..7d66669e 100644
--- a/shibsp/handler/impl/SAML2Logout.cpp
+++ b/shibsp/handler/impl/SAML2Logout.cpp
@@ -653,6 +653,7 @@ pair<bool,long> SAML2Logout::sendResponse(
         }
     }
     else {
+        SPConfig::getConfig().deprecation().warn("SAML Logout via SOAP will be removed in the next major version");
         encoder = m_encoders.begin()->second.get();
     }
 
diff --git a/shibsp/handler/impl/SAML2LogoutInitiator.cpp b/shibsp/handler/impl/SAML2LogoutInitiator.cpp
index f9e81627..d49c5930 100644
--- a/shibsp/handler/impl/SAML2LogoutInitiator.cpp
+++ b/shibsp/handler/impl/SAML2LogoutInitiator.cpp
@@ -362,8 +362,12 @@ pair<bool,long> SAML2LogoutInitiator::doRequest(
             for (indirect_iterator<vector<SingleLogoutService*>::const_iterator> epit = make_indirect_iterator(endpoints.begin());
                     !logoutResponse && epit != make_indirect_iterator(endpoints.end()); ++epit) {
                 try {
-                    if (!XMLString::equals(epit->getBinding(), binding.get()))
+                    if (!XMLString::equals(epit->getBinding(), binding.get())) {
                         continue;
+                    }
+
+                    SPConfig::getConfig().deprecation().warn("SAML Logout via SOAP will be removed in the next major version");
+
                     auto_ptr<LogoutRequest> msg(buildRequest(application, *session, *role, epit->getLocation()));
 
                     // Log the request.

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


More information about the commits mailing list