# include "metadata/MetadataExt.h"
# include "security/PKIXTrustEngine.h"
# include <saml/SAMLConfig.h>
+# include <xmltooling/util/CurlNetAccessor.hpp>
#else
# include <xmltooling/XMLToolingConfig.h>
#endif
#include <xmltooling/util/NDC.h>
+#include <xmltooling/util/PathResolver.h>
#include <xmltooling/util/TemplateEngine.h>
using namespace shibsp;
#endif
namespace shibsp {
- SPInternalConfig g_config;
+ SPConfig g_config;
}
SPConfig& SPConfig::getConfig()
return g_config;
}
-SPInternalConfig& SPInternalConfig::getInternalConfig()
-{
- return g_config;
-}
-
void SPConfig::setServiceProvider(ServiceProvider* serviceProvider)
{
delete m_serviceProvider;
m_serviceProvider = serviceProvider;
}
-bool SPInternalConfig::init(const char* catalog_path)
+bool SPConfig::init(const char* catalog_path, const char* inst_prefix)
{
#ifdef _DEBUG
NDC ndc("init");
#endif
- Category& log=Category::getInstance(SHIBSP_LOGCAT".Config");
- log.debug("%s library initialization started", PACKAGE_STRING);
-
+ if (!inst_prefix)
+ inst_prefix = getenv("SHIBSP_PREFIX");
+ if (!inst_prefix)
+ inst_prefix = SHIBSP_PREFIX;
+
const char* loglevel=getenv("SHIBSP_LOGGING");
if (!loglevel)
loglevel = SHIBSP_LOGGING;
- XMLToolingConfig::getConfig().log_config(loglevel);
+ std::string ll(loglevel);
+ PathResolver localpr;
+ XMLToolingConfig::getConfig().log_config(localpr.resolve(ll, PathResolver::XMLTOOLING_CFG_FILE, PACKAGE_NAME, inst_prefix).c_str());
+
+ Category& log=Category::getInstance(SHIBSP_LOGCAT".Config");
+ log.debug("%s library initialization started", PACKAGE_STRING);
if (!catalog_path)
catalog_path = getenv("SHIBSP_SCHEMAS");
log.fatal("failed to initialize OpenSAML library");
return false;
}
+ XMLPlatformUtils::fgNetAccessor = new CurlNetAccessor();
#else
if (!XMLToolingConfig::getConfig().init()) {
log.fatal("failed to initialize XMLTooling library");
return false;
}
-#endif
-
+#endif
+ XMLToolingConfig::getConfig().getPathResolver()->setDefaultPackageName(PACKAGE_NAME);
+ XMLToolingConfig::getConfig().getPathResolver()->setDefaultPrefix(inst_prefix);
XMLToolingConfig::getConfig().setTemplateEngine(new TemplateEngine());
XMLToolingConfig::getConfig().getTemplateEngine()->setTagPrefix("shibmlp");
return true;
}
-void SPInternalConfig::term()
+void SPConfig::term()
{
#ifdef _DEBUG
NDC ndc("term");