[cpp-sp] branch main updated: SSPCPP-920 - External overrides break when custom handlers are used

Scott Cantor cantor.2 at osu.edu
Tue Mar 16 16:20:35 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=24df6415ee28cf136085dd02650c6591dc7c4c5a

The following commit(s) were added to refs/heads/main by this push:
       new  24df6415  SSPCPP-920 - External overrides break when custom handlers are used
24df6415 is described below

commit 24df6415ee28cf136085dd02650c6591dc7c4c5a
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Mar 16 12:20:12 2021 -0400

    SSPCPP-920 - External overrides break when custom handlers are used
    
    https://issues.shibboleth.net/jira/browse/SSPCPP-920
---
 shibsp/impl/XMLServiceProvider.cpp | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/shibsp/impl/XMLServiceProvider.cpp b/shibsp/impl/XMLServiceProvider.cpp
index c20492b4..3f6d9302 100644
--- a/shibsp/impl/XMLServiceProvider.cpp
+++ b/shibsp/impl/XMLServiceProvider.cpp
@@ -887,7 +887,15 @@ Remoted* XMLConfig::lookupListener(const char* address) const
     if (colons) {
         string appId(address, colons - address);
         locker.release()->unlock();   // free up the listener map
-        getApplication(appId.c_str());
+        if (!getApplication(appId.c_str())) {
+            // Try a second search breaking on slash instead.
+            // This accommodates overrides with their own handlers.
+            const char* slash = strstr(address, "/");
+            if (slash) {
+                appId = string(address, slash - address);
+                getApplication(appId.c_str());
+            }
+        }
         SharedLock sublocker(m_listenerLock, true); // relock and check again
         i = m_listenerMap.find(address);
         if (i != m_listenerMap.end())

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


More information about the commits mailing list