[cpp-sp] branch main updated: SSPCPP-971 - AttributeResolver Handler always includes NameID qualifiers

Scott Cantor cantor.2 at osu.edu
Tue Sep 10 20:27:12 UTC 2024


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=3e94f806f3e9dae94b39817a1d5fd774c7853ac2

The following commit(s) were added to refs/heads/main by this push:
     new 3e94f806 SSPCPP-971 - AttributeResolver Handler always includes NameID qualifiers
3e94f806 is described below

commit 3e94f806f3e9dae94b39817a1d5fd774c7853ac2
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Sep 10 16:26:09 2024 -0400

    SSPCPP-971 - AttributeResolver Handler always includes NameID qualifiers
    
    https://shibboleth.atlassian.net/browse/SSPCPP-971
    
    Added omitQualifiers flag to suppress.
---
 plugins/AttributeResolverHandler.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/plugins/AttributeResolverHandler.cpp b/plugins/AttributeResolverHandler.cpp
index 79a6f86c..9a5dc524 100644
--- a/plugins/AttributeResolverHandler.cpp
+++ b/plugins/AttributeResolverHandler.cpp
@@ -266,6 +266,7 @@ pair<bool,long> AttributeResolverHandler::processMessage(
     pair<bool,const char*> param_qual = getString("nameQualifier", httpRequest, HANDLER_PROPERTY_REQUEST|HANDLER_PROPERTY_FIXED);
     pair<bool,const char*> param_spqual = getString("spNameQualifier", httpRequest, HANDLER_PROPERTY_REQUEST|HANDLER_PROPERTY_FIXED);
     pair<bool,const char*> param_nameid = getString("nameId", httpRequest, HANDLER_PROPERTY_REQUEST|HANDLER_PROPERTY_FIXED);
+    pair<bool,const char*> param_omit = getString("omitQualifiers", httpRequest, HANDLER_PROPERTY_REQUEST|HANDLER_PROPERTY_FIXED);
     pair<bool,const char*> param_encoding = getString("encoding", httpRequest, HANDLER_PROPERTY_REQUEST|HANDLER_PROPERTY_FIXED);
 
     if (!param_nameid.first) {
@@ -312,13 +313,17 @@ pair<bool,long> AttributeResolverHandler::processMessage(
         scoped_ptr<saml2::NameID> v2name(saml2::NameIDBuilder::buildNameID());
         v2name->setName(nameID.get());
         v2name->setFormat(format.get());
-        v2name->setNameQualifier(nameQualifier.get());
-        v2name->setSPNameQualifier(spNameQualifier.get());
+        if (!param_omit.first || !param_omit.second) {
+            v2name->setNameQualifier(nameQualifier.get());
+            v2name->setSPNameQualifier(spNameQualifier.get());
+        }
         if (!XMLString::equals(protocol.get(), samlconstants::SAML20P_NS)) {
             v1name.reset(saml1::NameIdentifierBuilder::buildNameIdentifier());
             v1name->setName(nameID.get());
             v1name->setFormat(format.get());
-            v1name->setNameQualifier(nameQualifier.get());
+            if (!param_omit.first || !param_omit.second) {
+                v1name->setNameQualifier(nameQualifier.get());
+            }
         }
 
         scoped_ptr<ResolutionContext> ctx(resolveAttributes(application, httpRequest, site.second, protocol.get(), v1name.get(), v2name.get()));

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


More information about the commits mailing list