[cpp-sp] branch main updated: CPPSP-36 - Implement passthrough handler

Codeberg noreply at shibboleth.net
Tue Dec 9 15:36:40 UTC 2025


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

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

View the commit online:
https://codeberg.org/Shibboleth/cpp-sp/commit/71093517a9f387720d512d722f794b793fbb4bf3

The following commit(s) were added to refs/heads/main by this push:
     new 71093517 CPPSP-36 - Implement passthrough handler
71093517 is described below

commit 71093517a9f387720d512d722f794b793fbb4bf3
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Dec 9 10:35:58 2025 -0500

    CPPSP-36 - Implement passthrough handler
    
    https://shibboleth.atlassian.net/browse/CPPSP-36
---
 Projects/vc22/shibsp.vcxproj            | 1 +
 Projects/vc22/shibsp.vcxproj.filters    | 3 +++
 shibsp/Makefile.am                      | 1 +
 shibsp/handler/Handler.h                | 3 +++
 shibsp/handler/impl/AbstractHandler.cpp | 2 ++
 5 files changed, 10 insertions(+)

diff --git a/Projects/vc22/shibsp.vcxproj b/Projects/vc22/shibsp.vcxproj
index d87b2dfa..15f163ae 100644
--- a/Projects/vc22/shibsp.vcxproj
+++ b/Projects/vc22/shibsp.vcxproj
@@ -98,6 +98,7 @@
     <ClCompile Include="..\..\shibsp\handler\impl\AttributeCheckerHandler.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\DefaultHandlerConfiguration.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\MetadataGenerator.cpp" />
+    <ClCompile Include="..\..\shibsp\handler\impl\Passthrough.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\SecuredHandler.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\SessionHandler.cpp" />
     <ClCompile Include="..\..\shibsp\handler\impl\SessionInitiator.cpp" />
diff --git a/Projects/vc22/shibsp.vcxproj.filters b/Projects/vc22/shibsp.vcxproj.filters
index e2484017..bd1e4f57 100644
--- a/Projects/vc22/shibsp.vcxproj.filters
+++ b/Projects/vc22/shibsp.vcxproj.filters
@@ -248,6 +248,9 @@
     <ClCompile Include="..\..\shibsp\handler\impl\MetadataGenerator.cpp">
       <Filter>Source Files\Handler</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\shibsp\handler\impl\Passthrough.cpp">
+      <Filter>Source Files\Handler</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\shibsp\handler\impl\SecuredHandler.cpp">
       <Filter>Source Files\Handler</Filter>
     </ClCompile>
diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
index 1bced9a8..70d2303a 100644
--- a/shibsp/Makefile.am
+++ b/shibsp/Makefile.am
@@ -107,6 +107,7 @@ libshibsp_la_SOURCES = \
 	handler/impl/AttributeCheckerHandler.cpp \
 	handler/impl/DefaultHandlerConfiguration.cpp \
 	handler/impl/MetadataGenerator.cpp \
+	handler/impl/Passthrough.cpp \
 	handler/impl/SecuredHandler.cpp \
 	handler/impl/SessionHandler.cpp \
 	handler/impl/SessionInitiator.cpp \
diff --git a/shibsp/handler/Handler.h b/shibsp/handler/Handler.h
index 1e9843ca..f59eba61 100644
--- a/shibsp/handler/Handler.h
+++ b/shibsp/handler/Handler.h
@@ -86,6 +86,9 @@ namespace shibsp {
     /** Handler for metadata generation. */
     #define METADATA_GENERATOR_HANDLER "MetadataGenerator"
 
+    /** Handler for passthrough of requests into Hub flows. */
+    #define PASSTHROUGH_HANDLER "Passthrough"
+
     /** Handler for status information. */
     #define STATUS_HANDLER "Status"
 
diff --git a/shibsp/handler/impl/AbstractHandler.cpp b/shibsp/handler/impl/AbstractHandler.cpp
index b38d9746..4dc1852e 100644
--- a/shibsp/handler/impl/AbstractHandler.cpp
+++ b/shibsp/handler/impl/AbstractHandler.cpp
@@ -55,6 +55,7 @@ namespace shibsp {
     //extern SHIBSP_DLLLOCAL PluginManager< Handler,string,pair<ptree&,const char*> >::Factory SAML2LogoutInitiatorFactory;
     //extern SHIBSP_DLLLOCAL PluginManager< Handler,string,pair<ptree&,const char*> >::Factory LocalLogoutInitiatorFactory;
 
+    extern SHIBSP_DLLLOCAL PluginManager< Handler,string,pair<ptree&,const char*> >::Factory PassthroughFactory;
     extern SHIBSP_DLLLOCAL PluginManager< Handler,string,pair<ptree&,const char*> >::Factory SessionHandlerFactory;
     extern SHIBSP_DLLLOCAL PluginManager< Handler,string,pair<ptree&,const char*> >::Factory StatusHandlerFactory;
     extern SHIBSP_DLLLOCAL PluginManager< Handler,string,pair<ptree&,const char*> >::Factory SessionInitiatorFactory;
@@ -91,6 +92,7 @@ void SHIBSP_API shibsp::registerHandlers()
     //conf.HandlerManager.registerFactory(SAML2_LOGOUT_INITIATOR, SAML2LogoutInitiatorFactory);
     //conf.HandlerManager.registerFactory(LOCAL_LOGOUT_INITIATOR, LocalLogoutInitiatorFactory);
 
+    conf.HandlerManager.registerFactory(PASSTHROUGH_HANDLER, PassthroughFactory);
     conf.HandlerManager.registerFactory(STATUS_HANDLER, StatusHandlerFactory);
     conf.HandlerManager.registerFactory(SESSION_HANDLER, SessionHandlerFactory);
     conf.HandlerManager.registerFactory(SESSION_INITIATOR_HANDLER, SessionInitiatorFactory);

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


More information about the commits mailing list