[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