[cpp-sp] branch main updated: Sanitize xmltooling PathResolver out.

Scott Cantor cantor.2 at osu.edu
Mon Dec 2 17:39:02 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=cacce321cf04b3dc0beddf72da0633dfe71b1fcb

The following commit(s) were added to refs/heads/main by this push:
     new cacce321 Sanitize xmltooling PathResolver out.
cacce321 is described below

commit cacce321cf04b3dc0beddf72da0633dfe71b1fcb
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Dec 2 12:38:58 2024 -0500

    Sanitize xmltooling PathResolver out.
---
 shibsp/SPConfig.cpp                             | 28 +------------------------
 shibsp/handler/impl/AbstractHandler.cpp         |  6 ++++--
 shibsp/handler/impl/AttributeCheckerHandler.cpp |  5 +++--
 shibsp/handler/impl/LogoutHandler.cpp           |  5 +++--
 shibsp/impl/XMLServiceProvider.cpp              |  5 +++--
 5 files changed, 14 insertions(+), 35 deletions(-)

diff --git a/shibsp/SPConfig.cpp b/shibsp/SPConfig.cpp
index f41732df..313237f9 100644
--- a/shibsp/SPConfig.cpp
+++ b/shibsp/SPConfig.cpp
@@ -56,7 +56,6 @@
 #include <xmltooling/version.h>
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/util/ParserPool.h>
-#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
 #include <xmltooling/util/Threads.h>
 #include <xmltooling/util/XMLHelper.h>
@@ -143,31 +142,6 @@ bool SPConfig::init(const char* catalog_path, const char* inst_prefix)
 
     XMLToolingConfig::getConfig().user_agent = string(PACKAGE_NAME) + '/' + PACKAGE_VERSION;
 
-    PathResolver* pr = XMLToolingConfig::getConfig().getPathResolver();
-    pr->setDefaultPackageName(PACKAGE_NAME);
-    pr->setDefaultPrefix(inst_prefix2.c_str());
-    pr->setCfgDir(inst_prefix);
-    inst_prefix = getenv("SHIBSP_LIBDIR");
-    if (!inst_prefix || !*inst_prefix)
-        inst_prefix = SHIBSP_LIBDIR;
-    pr->setLibDir(inst_prefix);
-    inst_prefix = getenv("SHIBSP_LOGDIR");
-    if (!inst_prefix || !*inst_prefix)
-        inst_prefix = SHIBSP_LOGDIR;
-    pr->setLogDir(inst_prefix);
-    inst_prefix = getenv("SHIBSP_RUNDIR");
-    if (!inst_prefix || !*inst_prefix)
-        inst_prefix = SHIBSP_RUNDIR;
-    pr->setRunDir(inst_prefix);
-    inst_prefix = getenv("SHIBSP_CACHEDIR");
-    if (!inst_prefix || !*inst_prefix)
-        inst_prefix = SHIBSP_CACHEDIR;
-    pr->setCacheDir(inst_prefix);
-    inst_prefix = getenv("SHIBSP_XMLDIR");
-    if (!inst_prefix || !*inst_prefix)
-        inst_prefix = SHIBSP_XMLDIR;
-    pr->setXMLDir(inst_prefix);
-
     if (!catalog_path)
         catalog_path = getenv("SHIBSP_SCHEMAS");
     if (!catalog_path || !*catalog_path)
@@ -265,7 +239,7 @@ bool SPConfig::instantiate(const char* config, bool rethrow)
             stringstream snippet;
             snippet
                 << "<Dummy path='"
-                << XMLToolingConfig::getConfig().getPathResolver()->resolve(resolved, PathResolver::XMLTOOLING_CFG_FILE)
+                << resolved
                 << "' validate='1'/>";
             dummydoc = XMLToolingConfig::getConfig().getParser().parse(snippet);
             XercesJanitor<xercesc::DOMDocument> docjanitor(dummydoc);
diff --git a/shibsp/handler/impl/AbstractHandler.cpp b/shibsp/handler/impl/AbstractHandler.cpp
index ccb22612..d617661e 100644
--- a/shibsp/handler/impl/AbstractHandler.cpp
+++ b/shibsp/handler/impl/AbstractHandler.cpp
@@ -25,7 +25,9 @@
  */
 
 #include "internal.h"
+
 #include "exceptions.h"
+#include "AgentConfig.h"
 #include "Application.h"
 #include "ServiceProvider.h"
 #include "SPRequest.h"
@@ -34,6 +36,7 @@
 #include "remoting/ListenerService.h"
 #include "util/CGIParser.h"
 #include "util/SPConstants.h"
+#include "util/PathResolver.h"
 #include "util/TemplateParameters.h"
 
 #include <vector>
@@ -43,7 +46,6 @@
 #include <boost/lexical_cast.hpp>
 #include <boost/algorithm/string.hpp>
 #include <xmltooling/XMLToolingConfig.h>
-#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/URLEncoder.h>
 
 #include <xmltooling/XMLToolingConfig.h>
@@ -715,7 +717,7 @@ long AbstractHandler::sendPostResponse(
         postTemplate.second = "postTemplate.html";
 
     string fname(postTemplate.second);
-    ifstream infile(XMLToolingConfig::getConfig().getPathResolver()->resolve(fname, PathResolver::XMLTOOLING_CFG_FILE).c_str());
+    ifstream infile(AgentConfig::getConfig().getPathResolver().resolve(fname, PathResolver::SHIBSP_CFG_FILE).c_str());
     if (!infile)
         throw ConfigurationException("Unable to access HTML template ($1).", params(1, fname.c_str()));
     TemplateParameters respParam;
diff --git a/shibsp/handler/impl/AttributeCheckerHandler.cpp b/shibsp/handler/impl/AttributeCheckerHandler.cpp
index 910870d3..55e8838a 100644
--- a/shibsp/handler/impl/AttributeCheckerHandler.cpp
+++ b/shibsp/handler/impl/AttributeCheckerHandler.cpp
@@ -26,6 +26,7 @@
 
 #include "internal.h"
 #include "AccessControl.h"
+#include "AgentConfig.h"
 #include "Application.h"
 #include "exceptions.h"
 #include "ServiceProvider.h"
@@ -33,6 +34,7 @@
 #include "SPRequest.h"
 #include "attribute/Attribute.h"
 #include "handler/AbstractHandler.h"
+#include "util/PathResolver.h"
 #include "util/TemplateParameters.h"
 
 #include <fstream>
@@ -43,7 +45,6 @@
 #include <boost/algorithm/string.hpp>
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xmltooling/XMLToolingConfig.h>
-#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/XMLHelper.h>
 
 using namespace shibsp;
@@ -113,7 +114,7 @@ AttributeCheckerHandler::AttributeCheckerHandler(const DOMElement* e, const char
     m_template = XMLHelper::getAttrString(e, nullptr, _template);
     if (m_template.empty())
         throw ConfigurationException("AttributeChecker missing required template setting.");
-    XMLToolingConfig::getConfig().getPathResolver()->resolve(m_template, PathResolver::XMLTOOLING_CFG_FILE);
+    AgentConfig::getConfig().getPathResolver().resolve(m_template, PathResolver::SHIBSP_CFG_FILE);
 
     m_flushSession = XMLHelper::getAttrBool(e, false, _flushSession);
 
diff --git a/shibsp/handler/impl/LogoutHandler.cpp b/shibsp/handler/impl/LogoutHandler.cpp
index c38bb0ac..33f8d9c2 100644
--- a/shibsp/handler/impl/LogoutHandler.cpp
+++ b/shibsp/handler/impl/LogoutHandler.cpp
@@ -26,17 +26,18 @@
 
 #include "internal.h"
 #include "exceptions.h"
+#include "AgentConfig.h"
 #include "Application.h"
 #include "ServiceProvider.h"
 #include "SessionCache.h"
 #include "SPRequest.h"
 #include "handler/LogoutHandler.h"
 #include "util/TemplateParameters.h"
+#include "util/PathResolver.h"
 
 #include <fstream>
 #include <boost/lexical_cast.hpp>
 #include <xmltooling/XMLToolingConfig.h>
-#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/URLEncoder.h>
 
 using namespace shibsp;
@@ -68,7 +69,7 @@ pair<bool,long> LogoutHandler::sendLogoutPage(
     response.setResponseHeader("Expires","Wed, 01 Jan 1997 12:00:00 GMT");
     response.setResponseHeader("Cache-Control","private,no-store,no-cache,max-age=0");
     string fname(prop.second);
-    ifstream infile(XMLToolingConfig::getConfig().getPathResolver()->resolve(fname, PathResolver::XMLTOOLING_CFG_FILE).c_str());
+    ifstream infile(AgentConfig::getConfig().getPathResolver().resolve(fname, PathResolver::SHIBSP_CFG_FILE).c_str());
     if (!infile)
         throw ConfigurationException("Unable to access $1 HTML template.", params(1,prop.second));
     TemplateParameters tp;
diff --git a/shibsp/impl/XMLServiceProvider.cpp b/shibsp/impl/XMLServiceProvider.cpp
index 788b5db6..fc535fb2 100644
--- a/shibsp/impl/XMLServiceProvider.cpp
+++ b/shibsp/impl/XMLServiceProvider.cpp
@@ -26,12 +26,14 @@
 
 #include "internal.h"
 #include "version.h"
+#include "AgentConfig.h"
 #include "RequestMapper.h"
 #include "SessionCache.h"
 #include "SPConfig.h"
 #include "SPRequest.h"
 #include "impl/XMLApplication.h"
 #include "impl/XMLServiceProvider.h"
+#include "util/PathResolver.h"
 #include "util/SPConstants.h"
 
 #include <fstream>
@@ -40,7 +42,6 @@
 #include <xmltooling/XMLToolingConfig.h>
 #include <xmltooling/version.h>
 #include <xmltooling/util/ParserPool.h>
-#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
 #include <xmltooling/util/Threads.h>
 #include <xmltooling/util/XMLHelper.h>
@@ -338,7 +339,7 @@ XMLConfigImpl::XMLConfigImpl(const DOMElement* e, bool first, XMLConfig* outer,
     override = XMLHelper::getFirstChildElement(child, ExternalApplicationOverrides);
     while (override) {
         string extoverridepath(XMLHelper::getAttrString(override, nullptr, _path));
-        XMLToolingConfig::getConfig().getPathResolver()->resolve(extoverridepath, PathResolver::XMLTOOLING_CFG_FILE);
+        AgentConfig::getConfig().getPathResolver().resolve(extoverridepath, PathResolver::SHIBSP_CFG_FILE);
         if (!extoverridepath.empty()) {
             log.info("adding external ApplicationOverride search path: %s", extoverridepath.c_str());
             m_externalAppPaths.push_back(extoverridepath);

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


More information about the commits mailing list