[cpp-sp] branch main updated: Excise old logout handler sources for now.

Scott Cantor cantor.2 at osu.edu
Thu Oct 16 18:09:15 UTC 2025


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=e41094005c410c82445a31eb053abc227f625e16

The following commit(s) were added to refs/heads/main by this push:
     new e4109400 Excise old logout handler sources for now.
e4109400 is described below

commit e41094005c410c82445a31eb053abc227f625e16
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Oct 16 14:09:11 2025 -0400

    Excise old logout handler sources for now.
---
 Projects/vc22/shibsp.vcxproj            |   8 --
 Projects/vc22/shibsp.vcxproj.filters    |  26 +------
 shibsp/Makefile.am                      |  10 +--
 shibsp/handler/RemotedHandler.h         | 104 --------------------------
 shibsp/handler/impl/AbstractHandler.cpp |   1 -
 shibsp/handler/impl/RemotedHandler.cpp  | 127 --------------------------------
 6 files changed, 2 insertions(+), 274 deletions(-)

diff --git a/Projects/vc22/shibsp.vcxproj b/Projects/vc22/shibsp.vcxproj
index 7f4dfbaf..99e6d41f 100644
--- a/Projects/vc22/shibsp.vcxproj
+++ b/Projects/vc22/shibsp.vcxproj
@@ -42,9 +42,6 @@
     <ClInclude Include="..\..\shibsp\handler\AbstractHandler.h" />
     <ClInclude Include="..\..\shibsp\handler\AssertionConsumerService.h" />
     <ClInclude Include="..\..\shibsp\handler\Handler.h" />
-    <ClInclude Include="..\..\shibsp\handler\LogoutHandler.h" />
-    <ClInclude Include="..\..\shibsp\handler\LogoutInitiator.h" />
-    <ClInclude Include="..\..\shibsp\handler\RemotedHandler.h" />
     <ClInclude Include="..\..\shibsp\handler\SecuredHandler.h" />
     <ClInclude Include="..\..\shibsp\internal.h" />
     <ClInclude Include="..\..\shibsp\io\CookieManager.h" />
@@ -98,14 +95,9 @@
       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">4296;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|x64'">4296;%(DisableSpecificWarnings)</DisableSpecificWarnings>
     </ClCompile>
-    <ClCompile Include="..\..\shibsp\handler\impl\AdminLogoutInitiator.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\AttributeCheckerHandler.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\DefaultHandlerConfiguration.cpp" />
-    <ClCompile Include="..\..\shibsp\handler\impl\LocalLogoutInitiator.cpp" />
-    <ClCompile Include="..\..\shibsp\handler\impl\LogoutHandler.cpp" />
-    <ClCompile Include="..\..\shibsp\handler\impl\LogoutInitiator.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\MetadataGenerator.cpp" />
-    <ClCompile Include="..\..\shibsp\handler\impl\RemotedHandler.cpp">
       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff --git a/Projects/vc22/shibsp.vcxproj.filters b/Projects/vc22/shibsp.vcxproj.filters
index 85410388..11acf236 100644
--- a/Projects/vc22/shibsp.vcxproj.filters
+++ b/Projects/vc22/shibsp.vcxproj.filters
@@ -117,15 +117,6 @@
     <ClInclude Include="..\..\shibsp\handler\Handler.h">
       <Filter>Header Files\Handler</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\shibsp\handler\LogoutHandler.h">
-      <Filter>Header Files\Handler</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\shibsp\handler\LogoutInitiator.h">
-      <Filter>Header Files\Handler</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\shibsp\handler\RemotedHandler.h">
-      <Filter>Header Files\Handler</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\shibsp\handler\SecuredHandler.h">
       <Filter>Header Files\Handler</Filter>
     </ClInclude>
@@ -251,27 +242,12 @@
     <ClCompile Include="..\..\shibsp\handler\impl\AbstractHandler.cpp">
       <Filter>Source Files\Handler</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\shibsp\handler\impl\AdminLogoutInitiator.cpp">
-      <Filter>Source Files\Handler</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\shibsp\handler\impl\AttributeCheckerHandler.cpp">
       <Filter>Source Files\Handler</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\shibsp\handler\impl\LocalLogoutInitiator.cpp">
-      <Filter>Source Files\Handler</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\shibsp\handler\impl\LogoutHandler.cpp">
-      <Filter>Source Files\Handler</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\shibsp\handler\impl\LogoutInitiator.cpp">
-      <Filter>Source Files\Handler</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\shibsp\handler\impl\MetadataGenerator.cpp">
       <Filter>Source Files\Handler</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\shibsp\handler\impl\RemotedHandler.cpp">
-      <Filter>Source Files\Handler</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\shibsp\handler\impl\SecuredHandler.cpp">
       <Filter>Source Files\Handler</Filter>
     </ClCompile>
@@ -424,4 +400,4 @@
       <Filter>Resource Files</Filter>
     </CustomBuild>
   </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
index 63ed7ad4..2d5364ee 100644
--- a/shibsp/Makefile.am
+++ b/shibsp/Makefile.am
@@ -43,9 +43,6 @@ handinclude_HEADERS = \
 	handler/AssertionConsumerService.h \
 	handler/Handler.h \
 	handler/HandlerConfiguration.h \
-	handler/LogoutHandler.h \
-	handler/LogoutInitiator.h \
-	handler/RemotedHandler.h \
 	handler/SecuredHandler.h
 
 ioinclude_HEADERS = \
@@ -94,7 +91,7 @@ noinst_HEADERS = \
 	logging/impl/StringUtil.h \
 	remoting/impl/AbstractRemotingService.h \
 	remoting/impl/AbstractHTTPRemotingService.h \
-    util/Date.h \
+	util/Date.h \
 	util/DirectoryWalker.h \
 	util/IPRange.h \
 	util/Misc.h
@@ -107,14 +104,9 @@ libshibsp_la_SOURCES = \
 	attribute/impl/DefaultAttributeConfiguration.cpp \
 	csprng/impl/csprng.cpp \
 	handler/impl/AbstractHandler.cpp \
-	handler/impl/AdminLogoutInitiator.cpp \
 	handler/impl/AttributeCheckerHandler.cpp \
-	handler/impl/LocalLogoutInitiator.cpp \
 	handler/impl/DefaultHandlerConfiguration.cpp \
-	handler/impl/LogoutHandler.cpp \
-	handler/impl/LogoutInitiator.cpp \
 	handler/impl/MetadataGenerator.cpp \
-	handler/impl/RemotedHandler.cpp \
 	handler/impl/SecuredHandler.cpp \
 	handler/impl/SessionHandler.cpp \
 	handler/impl/SessionInitiator.cpp \
diff --git a/shibsp/handler/RemotedHandler.h b/shibsp/handler/RemotedHandler.h
deleted file mode 100644
index b5637cd6..00000000
--- a/shibsp/handler/RemotedHandler.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file shibsp/handler/RemotedHandler.h
- * 
- * Base class for handlers that need SP request/response layer to be remoted. 
- */
-
-#ifndef __shibsp_remhandler_h__
-#define __shibsp_remhandler_h__
-
-#include <shibsp/handler/Handler.h>
-#include <shibsp/remoting/ddf.h>
-
-#include <set>
-
-#if defined (_MSC_VER)
-#pragma warning( push )
-#pragma warning( disable : 4251 )
-#endif
-
-namespace shibsp {
-
-    class SHIBSP_API HTTPRequest;
-    class SHIBSP_API HTTPResponse;
-
-    /**
-     * Base class for handlers that need HTTP request/response layer to be remoted.
-     */
-    class SHIBSP_API RemotedHandler : public virtual Handler
-    {
-        static std::set<std::string> m_remotedHeaders;
-
-    public:
-        virtual ~RemotedHandler();
-
-        /**
-         * Ensures that a request header will be remoted.
-         *
-         * @param header    name of request header to remote
-         */
-        static void addRemotedHeader(const char* header);
-
-    protected:
-        RemotedHandler();
-
-        /**
-         * Establishes message remoting using the supplied address.
-         * 
-         * @param address   a unique "address" for remote message handling
-         */
-        void setAddress(const char* address);
-
-        /**
-        * Send a remoted message and return the response.
-        *
-        * @param in    input message to send
-        * @return      response from remote service
-        */
-        virtual DDF send(const SPRequest& request, DDF& in) const;
-
-        /**
-         * Wraps a request by creating an outgoing data flow with the data needed
-         * to remote the request information.
-         *
-         * @param request   an SPRequest to remote
-         * @param headers   array of additional request headers to copy to remote request
-         * @param certs     true iff client certificates should be available for the remote request
-         * @return  the input dataflow object
-         */
-        DDF wrap(const SPRequest& request, const std::vector<std::string>* headers=nullptr, bool certs=false) const;
-        
-        /**
-         * Unwraps a response by examining an incoming data flow to determine
-         * whether a response was produced by the remoted handler. 
-         * 
-         * @param request   SP request context
-         * @param out       the dataflow object to unpack
-         * @return  a pair containing a "request completed" indicator and a server-specific response code
-         */
-        virtual std::pair<bool,long> unwrap(SPRequest& request, DDF& out) const;
-
-        /** Message address for remote half. */
-        std::string m_address;
-    };
-};
-
-#if defined (_MSC_VER)
-#pragma warning( pop )
-#endif
-
-#endif /* __shibsp_remhandler_h__ */
diff --git a/shibsp/handler/impl/AbstractHandler.cpp b/shibsp/handler/impl/AbstractHandler.cpp
index f509d42b..42fc56be 100644
--- a/shibsp/handler/impl/AbstractHandler.cpp
+++ b/shibsp/handler/impl/AbstractHandler.cpp
@@ -25,7 +25,6 @@
 #include "AgentConfig.h"
 #include "SPRequest.h"
 #include "handler/AbstractHandler.h"
-#include "handler/LogoutHandler.h"
 #include "logging/Category.h"
 #include "remoting/RemotingService.h"
 #include "util/CGIParser.h"
diff --git a/shibsp/handler/impl/RemotedHandler.cpp b/shibsp/handler/impl/RemotedHandler.cpp
deleted file mode 100644
index 05ccfbed..00000000
--- a/shibsp/handler/impl/RemotedHandler.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * handler/impl/RemotedHandler.cpp
- * 
- * Base class for handlers that need SP request/response layer to be remoted. 
- */
-
-#include "internal.h"
-#include "exceptions.h"
-#include "SPRequest.h"
-#include "handler/RemotedHandler.h"
-
-#include <algorithm>
-#include <sstream>
-
-using namespace shibsp;
-using namespace std;
-
-
-set<string> RemotedHandler::m_remotedHeaders;
-
-RemotedHandler::RemotedHandler()
-{
-}
-
-RemotedHandler::~RemotedHandler()
-{
-}
-
-void RemotedHandler::addRemotedHeader(const char* header)
-{
-    m_remotedHeaders.insert(header);
-}
-
-DDF RemotedHandler::send(const SPRequest& request, DDF& in) const
-{
-    // Capture and forward entityIDSelf content setting, if set.
-    const char* entityID = request.getRequestSettings().first->getString("entityIDSelf");
-    if (entityID) {
-        string s(entityID);
-        string::size_type pos = s.find("$hostname");
-        if (pos != string::npos)
-            s.replace(pos, 9, request.getHostname());
-        in.addmember("_mapped.entityID").string(s.c_str());
-    }
-
-    //return request.getServiceProvider().getListenerService()->send(in);
-    return DDF();
-}
-
-DDF RemotedHandler::wrap(const SPRequest& request, const vector<string>* headers, bool certs) const
-{
-    DDF in = DDF(m_address.c_str()).structure();
-    in.addmember("scheme").string(request.getScheme());
-    in.addmember("hostname").unsafe_string(request.getHostname());
-    in.addmember("port").integer(request.getPort());
-    in.addmember("content_type").string(request.getContentType().c_str());
-    in.addmember("body").string(request.getRequestBody());
-    in.addmember("content_length").integer(request.getContentLength());
-    in.addmember("remote_user").string(request.getRemoteUser().c_str());
-    in.addmember("client_addr").string(request.getRemoteAddr().c_str());
-    in.addmember("method").string(request.getMethod());
-    in.addmember("uri").unsafe_string(request.getRequestURI());
-    in.addmember("url").unsafe_string(request.getRequestURL());
-    in.addmember("query").string(request.getQueryString());
-
-    if (headers || !m_remotedHeaders.empty()) {
-        string hdr;
-        DDF hin = in.addmember("headers").structure();
-        if (headers) {
-            for (vector<string>::const_iterator h = headers->begin(); h != headers->end(); ++h) {
-                hdr = request.getHeader(h->c_str());
-                if (!hdr.empty())
-                    hin.addmember(h->c_str()).unsafe_string(hdr.c_str());
-            }
-        }
-        for (set<string>::const_iterator hh = m_remotedHeaders.begin(); hh != m_remotedHeaders.end(); ++hh) {
-            hdr = request.getHeader(hh->c_str());
-            if (!hdr.empty())
-                hin.addmember(hh->c_str()).unsafe_string(hdr.c_str());
-        }
-    }
-
-    return in;
-}
-
-pair<bool,long> RemotedHandler::unwrap(SPRequest& request, DDF& out) const
-{
-    DDF h = out["headers"];
-    DDF hdr = h.first();
-    while (hdr.isstring()) {
-#ifdef HAVE_STRCASECMP
-        if (!strcasecmp(hdr.name(), "Content-Type"))
-#else
-        if (!stricmp(hdr.name(), "Content-Type"))
-#endif
-            request.setContentType(hdr.string());
-        else
-            request.setResponseHeader(hdr.name(), hdr.string());
-        hdr = h.next();
-    }
-    h = out["redirect"];
-    if (h.isstring())
-        return make_pair(true, request.sendRedirect(h.string()));
-    h = out["response"];
-    if (h.isstruct()) {
-        const char* data = h["data"].string();
-        if (data) {
-            istringstream s(data);
-            return make_pair(true, request.sendResponse(s, h["status"].integer()));
-        }
-    }
-    return make_pair(false, 0L);
-}

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


More information about the commits mailing list