extern "C" module MODULE_VAR_EXPORT mod_shib;
namespace {
- char* g_szSHIBConfig = SHIBSP_CONFIG;
- char* g_szSchemaDir = SHIBSP_SCHEMAS;
+ char* g_szSHIBConfig = NULL;
+ char* g_szSchemaDir = NULL;
+ char* g_szPrefix = NULL;
SPConfig* g_Config = NULL;
string g_unsetHeaderValue;
bool g_checkSpoofing = true;
SPConfig::Logging |
SPConfig::Handlers
);
- if (!g_Config->init(g_szSchemaDir)) {
+ if (!g_Config->init(g_szSchemaDir, g_szPrefix)) {
ap_log_error(APLOG_MARK,APLOG_CRIT|APLOG_NOERRNO,SH_AP_R(s),"shib_child_init() failed to initialize libraries");
exit(1);
}
g_Config->AccessControlManager.registerFactory(HT_ACCESS_CONTROL,&htAccessFactory);
g_Config->RequestMapperManager.registerFactory(NATIVE_REQUEST_MAPPER,&ApacheRequestMapFactory);
+
+ if (!g_szSHIBConfig)
+ g_szSHIBConfig=getenv("SHIBSP_CONFIG");
+ if (!g_szSHIBConfig)
+ g_szSHIBConfig=SHIBSP_CONFIG;
try {
xercesc::DOMDocument* dummydoc=XMLToolingConfig::getConfig().getParser().newDocument();
// SHIB Module commands
static command_rec shire_cmds[] = {
+ {"ShibPrefix", (config_fn_t)ap_set_global_string_slot, &g_szPrefix,
+ RSRC_CONF, TAKE1, "Shibboleth installation directory"},
{"ShibConfig", (config_fn_t)ap_set_global_string_slot, &g_szSHIBConfig,
RSRC_CONF, TAKE1, "Path to shibboleth.xml config file"},
{"ShibCatalogs", (config_fn_t)ap_set_global_string_slot, &g_szSchemaDir,
extern "C" {
static command_rec shib_cmds[] = {
+ AP_INIT_TAKE1("ShibPrefix", (config_fn_t)ap_set_global_string_slot, &g_szPrefix,
+ RSRC_CONF, "Shibboleth installation directory"),
AP_INIT_TAKE1("ShibConfig", (config_fn_t)ap_set_global_string_slot, &g_szSHIBConfig,
RSRC_CONF, "Path to shibboleth.xml config file"),
AP_INIT_TAKE1("ShibCatalogs", (config_fn_t)ap_set_global_string_slot, &g_szSchemaDir,
-e 's:@-PKGSYSCONFDIR-@:${pkgsysconfdir}:g' \
-e 's:@-PKGDOCDIR-@:${pkgdocdir}:g' \
-e 's:@-PKGXMLDIR-@:${pkgxmldir}:g' \
- -e 's:@-XMLTOOLINGXMLDIR-@:${XMLTOOLINGXMLDIR}:g' \
- -e 's:@-OPENSAMLXMLDIR-@:${OPENSAMLXMLDIR}:g' \
-e 's:@-PKGLOGDIR-@:${pkglogdir}:g' \
-e 's:@-SHIRELOGDIR-@:${shirelogdir}:g' \
-e 's:@-PKGRUNDIR-@:${pkgrundir}:g'
LoadModule mod_shib @-PKGLIBDIR-@/mod_shib_13.so
#
-# Global Configuration
-# This is the XML file that contains all the global, non-apache-specific
-# configuration. Look at this file for most of your configuration parameters.
-#
-ShibSchemaDir @-XMLTOOLINGXMLDIR-@/catalog.xml:@-OPENSAMLXMLDIR-@/saml20-catalog.xml:@-OPENSAMLXMLDIR-@/saml11-catalog.xml:@-PKGXMLDIR-@/catalog.xml
-ShibConfig @-PKGSYSCONFDIR-@/shibboleth2.xml
-
-#
# An Apache handler needs to be established for the "handler" location.
# This applies the handler to any requests for a resource with a ".sso"
# extension.
LoadModule mod_shib @-PKGLIBDIR-@/mod_shib_20.so
#
-# Global Configuration
-# This is the XML file that contains all the global, non-apache-specific
-# configuration. Look at this file for most of your configuration parameters.
-#
-ShibSchemaDir @-XMLTOOLINGXMLDIR-@/catalog.xml:@-OPENSAMLXMLDIR-@/saml20-catalog.xml:@-OPENSAMLXMLDIR-@/saml11-catalog.xml:@-PKGXMLDIR-@/catalog.xml
-ShibConfig @-PKGSYSCONFDIR-@/shibboleth2.xml
-
-#
# Used for example logo and style sheet in error templates.
#
<IfModule mod_alias.c>
LoadModule mod_shib @-PKGLIBDIR-@/mod_shib_22.so
#
-# Global Configuration
-# This is the XML file that contains all the global, non-apache-specific
-# configuration. Look at this file for most of your configuration parameters.
-#
-ShibSchemaDir @-XMLTOOLINGXMLDIR-@/catalog.xml:@-OPENSAMLXMLDIR-@/saml20-catalog.xml:@-OPENSAMLXMLDIR-@/saml11-catalog.xml:@-PKGXMLDIR-@/catalog.xml
-ShibConfig @-PKGSYSCONFDIR-@/shibboleth2.xml
-
-#
# Used for example logo and style sheet in error templates.
#
<IfModule mod_alias.c>
\r
int main(void)\r
{\r
- const char* schemadir=getenv("SHIBSP_SCHEMAS");\r
- if (!schemadir)\r
- schemadir=SHIBSP_SCHEMAS;\r
- const char* config=getenv("SHIBSP_CONFIG");\r
- if (!config)\r
- config=SHIBSP_CONFIG;\r
-\r
- cerr << "SHIBSP_CONFIG = " << config << endl\r
- << "SHIBSP_SCHEMAS = " << schemadir << endl;\r
-\r
SPConfig* g_Config=&SPConfig::getConfig();\r
g_Config->setFeatures(\r
SPConfig::Listener |\r
SPConfig::Logging |\r
SPConfig::Handlers\r
);\r
- if (!g_Config->init(schemadir)) {\r
+ if (!g_Config->init()) {\r
cerr << "failed to initialize Shibboleth libraries" << endl;\r
exit(1);\r
}\r
\r
+ const char* config=getenv("SHIBSP_CONFIG");\r
+ if (!config)\r
+ config=SHIBSP_CONFIG;\r
+\r
try {\r
DOMDocument* dummydoc=XMLToolingConfig::getConfig().getParser().newDocument();\r
XercesJanitor<DOMDocument> docjanitor(dummydoc);\r
\r
int main(void)\r
{\r
- const char* schemadir=getenv("SHIBSP_SCHEMAS");\r
- if (!schemadir)\r
- schemadir=SHIBSP_SCHEMAS;\r
- const char* config=getenv("SHIBSP_CONFIG");\r
- if (!config)\r
- config=SHIBSP_CONFIG;\r
-\r
- cerr << "SHIBSP_CONFIG = " << config << endl\r
- << "SHIBSP_SCHEMAS = " << schemadir << endl;\r
-\r
SPConfig* g_Config=&SPConfig::getConfig();\r
g_Config->setFeatures(\r
SPConfig::Listener |\r
SPConfig::Logging |\r
SPConfig::Handlers\r
);\r
- if (!g_Config->init(schemadir)) {\r
+ if (!g_Config->init()) {\r
cerr << "failed to initialize Shibboleth libraries" << endl;\r
exit(1);\r
}\r
\r
+ const char* config=getenv("SHIBSP_CONFIG");\r
+ if (!config)\r
+ config=SHIBSP_CONFIG;\r
+\r
try {\r
DOMDocument* dummydoc=XMLToolingConfig::getConfig().getParser().newDocument();\r
XercesJanitor<DOMDocument> docjanitor(dummydoc);\r
return TRUE;
}
- LPCSTR schemadir=getenv("SHIBSP_SCHEMAS");
- if (!schemadir)
- schemadir=SHIBSP_SCHEMAS;
- LPCSTR config=getenv("SHIBSP_CONFIG");
- if (!config)
- config=SHIBSP_CONFIG;
g_Config=&SPConfig::getConfig();
g_Config->setFeatures(
SPConfig::Listener |
SPConfig::Logging |
SPConfig::Handlers
);
- if (!g_Config->init(schemadir)) {
+ if (!g_Config->init()) {
g_Config=NULL;
LogEvent(NULL, EVENTLOG_ERROR_TYPE, 2100, NULL,
"Filter startup failed during library initialization, check native log for help.");
return FALSE;
}
+ LPCSTR config=getenv("SHIBSP_CONFIG");
+ if (!config)
+ config=SHIBSP_CONFIG;
+
try {
DOMDocument* dummydoc=XMLToolingConfig::getConfig().getParser().newDocument();
XercesJanitor<DOMDocument> docjanitor(dummydoc);
FileSystemObj.MoveFile ConfigFile, DistDir & "native.logger"
ConfigFile = DistDir & "apache.config.in"
- ReplaceInFile ConfigFile, "@-XMLTOOLINGXMLDIR-@", ConvertedDir & "/share/xml/xmltooling"
- ReplaceInFile ConfigFile, "@-OPENSAMLXMLDIR-@", ConvertedDir & "/share/xml/opensaml"
- ReplaceInFile ConfigFile, "@-PKGXMLDIR-@", ConvertedDir & "/share/xml/shibboleth"
- ReplaceInFile ConfigFile, "catalog.xml:", "catalog.xml;"
- ReplaceInFile ConfigFile, "@-PKGDOCDIR-@", ConvertedDir & "/share/doc/shibboleth"
- ReplaceInFile ConfigFile, "@-PKGSYSCONFDIR-@", ConvertedDir & "/etc/shibboleth"
ReplaceInFile ConfigFile, "@-PKGLIBDIR-@", ConvertedDir & "/lib/shibboleth"
+ ReplaceInFile ConfigFile, "@-PKGDOCDIR-@", ConvertedDir & "/share/doc/shibboleth"
If (NOT FileSystemObj.FileExists(ConfigDir & "apache.config")) then
FileSystemObj.CopyFile ConfigFile, ConfigDir & "apache.config", false
End If
FileSystemObj.MoveFile ConfigFile, DistDir & "apache.config"
ConfigFile = DistDir & "apache2.config.in"
- ReplaceInFile ConfigFile, "@-XMLTOOLINGXMLDIR-@", ConvertedDir & "/share/xml/xmltooling"
- ReplaceInFile ConfigFile, "@-OPENSAMLXMLDIR-@", ConvertedDir & "/share/xml/opensaml"
- ReplaceInFile ConfigFile, "@-PKGXMLDIR-@", ConvertedDir & "/share/xml/shibboleth"
- ReplaceInFile ConfigFile, "catalog.xml:", "catalog.xml;"
- ReplaceInFile ConfigFile, "@-PKGDOCDIR-@", ConvertedDir & "/share/doc/shibboleth"
- ReplaceInFile ConfigFile, "@-PKGSYSCONFDIR-@", ConvertedDir & "/etc/shibboleth"
ReplaceInFile ConfigFile, "@-PKGLIBDIR-@", ConvertedDir & "/lib/shibboleth"
+ ReplaceInFile ConfigFile, "@-PKGDOCDIR-@", ConvertedDir & "/share/doc/shibboleth"
If (NOT FileSystemObj.FileExists(ConfigDir & "apache2.config")) then
FileSystemObj.CopyFile ConfigFile, ConfigDir & "apache2.config", false
End If
FileSystemObj.MoveFile ConfigFile, DistDir & "apache2.config"
ConfigFile = DistDir & "apache22.config.in"
- ReplaceInFile ConfigFile, "@-XMLTOOLINGXMLDIR-@", ConvertedDir & "/share/xml/xmltooling"
- ReplaceInFile ConfigFile, "@-OPENSAMLXMLDIR-@", ConvertedDir & "/share/xml/opensaml"
- ReplaceInFile ConfigFile, "@-PKGXMLDIR-@", ConvertedDir & "/share/xml/shibboleth"
- ReplaceInFile ConfigFile, "catalog.xml:", "catalog.xml;"
- ReplaceInFile ConfigFile, "@-PKGDOCDIR-@", ConvertedDir & "/share/doc/shibboleth"
- ReplaceInFile ConfigFile, "@-PKGSYSCONFDIR-@", ConvertedDir & "/etc/shibboleth"
ReplaceInFile ConfigFile, "@-PKGLIBDIR-@", ConvertedDir & "/lib/shibboleth"
+ ReplaceInFile ConfigFile, "@-PKGDOCDIR-@", ConvertedDir & "/share/doc/shibboleth"
If (NOT FileSystemObj.FileExists(ConfigDir & "apache22.config")) then
FileSystemObj.CopyFile ConfigFile, ConfigDir & "apache22.config", false
End If
log_error(LOG_INFORM,"nsapi_shib_init",sn,rq,"nsapi_shib loaded for host (%s)",g_ServerName.c_str());
const char* schemadir=pblock_findval("shib-schemas",pb);
- if (!schemadir)
- schemadir=getenv("SHIBSP_SCHEMAS");
- if (!schemadir)
- schemadir=SHIBSP_SCHEMAS;
- const char* config=pblock_findval("shib-config",pb);
- if (!config)
- config=getenv("SHIBSP_CONFIG");
- if (!config)
- config=SHIBSP_CONFIG;
+ const char* prefix=pblock_findval("shib-prefix",pb);
+
g_Config=&SPConfig::getConfig();
g_Config->setFeatures(
SPConfig::Listener |
SPConfig::Logging |
SPConfig::Handlers
);
- if (!g_Config->init(schemadir)) {
+ if (!g_Config->init(schemadir,prefix)) {
g_Config=NULL;
pblock_nvinsert("error","unable to initialize Shibboleth libraries",pb);
return REQ_ABORTED;
g_Config->RequestMapperManager.registerFactory(XML_REQUEST_MAPPER,&SunRequestMapFactory);
+ const char* config=pblock_findval("shib-config",pb);
+ if (!config)
+ config=getenv("SHIBSP_CONFIG");
+ if (!config)
+ config=SHIBSP_CONFIG;
+
try {
xercesc::DOMDocument* dummydoc=XMLToolingConfig::getConfig().getParser().newDocument();
XercesJanitor<xercesc::DOMDocument> docjanitor(dummydoc);
bool shibd_shutdown = false;\r
const char* shar_config = NULL;\r
const char* shar_schemadir = NULL;\r
+const char* shar_prefix = NULL;\r
bool shar_checkonly = false;\r
bool shar_version = false;\r
static int unlink_socket = 0;\r
SPConfig::OutOfProcess |\r
(shar_checkonly ? SPConfig::RequestMapping : SPConfig::Logging)\r
);\r
- if (!shar_config)\r
- shar_config=getenv("SHIBSP_CONFIG");\r
- if (!shar_schemadir)\r
- shar_schemadir=getenv("SHIBSP_SCHEMAS");\r
- if (!shar_schemadir)\r
- shar_schemadir=SHIBSP_SCHEMAS;\r
- if (!shar_config)\r
- shar_config=SHIBSP_CONFIG;\r
- if (!conf.init(shar_schemadir)) {\r
+ if (!conf.init(shar_schemadir, shar_prefix)) {\r
fprintf(stderr, "configuration is invalid, see console for specific problems\n");\r
return -1;\r
}\r
\r
+ if (!shar_config)\r
+ shar_config=getenv("SHIBSP_CONFIG");\r
+ if (!shar_config)\r
+ shar_config=SHIBSP_CONFIG;\r
+\r
try {\r
static const XMLCh path[] = UNICODE_LITERAL_4(p,a,t,h);\r
static const XMLCh validate[] = UNICODE_LITERAL_8(v,a,l,i,d,a,t,e);\r
\r
static void usage(char* whoami)\r
{\r
- fprintf(stderr, "usage: %s [-fcdt]\n", whoami);\r
+ fprintf(stderr, "usage: %s [-dcxtfpvh]\n", whoami);\r
+ fprintf(stderr, " -d\tinstallation prefix to use.\n");\r
fprintf(stderr, " -c\tconfig file to use.\n");\r
fprintf(stderr, " -x\tXML schema catalogs to use.\n");\r
fprintf(stderr, " -t\tcheck configuration file for problems.\n");\r
{\r
int opt;\r
\r
- while ((opt = getopt(argc, argv, "c:x:p:ftvh")) > 0) {\r
+ while ((opt = getopt(argc, argv, "d:c:x:p:ftvh")) > 0) {\r
switch (opt) {\r
+ case 'd':\r
+ shar_prefix=optarg;\r
+ break;\r
case 'c':\r
shar_config=optarg;\r
break;\r
if (setup_signals() != 0)\r
return -1;\r
\r
- if (!shar_config)\r
- shar_config=getenv("SHIBSP_CONFIG");\r
- if (!shar_schemadir)\r
- shar_schemadir=getenv("SHIBSP_SCHEMAS");\r
- if (!shar_schemadir)\r
- shar_schemadir=SHIBSP_SCHEMAS;\r
- if (!shar_config)\r
- shar_config=SHIBSP_CONFIG;\r
-\r
// initialize the shib-target library\r
SPConfig& conf=SPConfig::getConfig();\r
conf.setFeatures(\r
SPConfig::OutOfProcess |\r
(shar_checkonly ? SPConfig::RequestMapping : SPConfig::Logging)\r
);\r
- if (!conf.init(shar_schemadir)) {\r
+ if (!conf.init(shar_schemadir, shar_prefix)) {\r
fprintf(stderr, "configuration is invalid, check console for specific problems\n");\r
return -1;\r
}\r
\r
+ if (!shar_config)\r
+ shar_config=getenv("SHIBSP_CONFIG");\r
+ if (!shar_config)\r
+ shar_config=SHIBSP_CONFIG;\r
+ \r
try {\r
static const XMLCh path[] = UNICODE_LITERAL_4(p,a,t,h);\r
static const XMLCh validate[] = UNICODE_LITERAL_8(v,a,l,i,d,a,t,e);\r
#define _CRT_SECURE_NO_DEPRECATE 1\r
\r
#include <shibsp/base.h>\r
+#include <string>\r
#include <windows.h>\r
\r
+using namespace std;\r
+\r
extern bool shibd_shutdown; // signals shutdown to Unix side\r
extern const char* shar_schemadir;\r
extern const char* shar_config;\r
+extern const char* shar_prefix;\r
extern bool shar_checkonly;\r
\r
// internal variables\r
if (argc > ++i)\r
shar_config = argv[i++];\r
}\r
+ else if (_stricmp( "prefix", argv[i]+1) == 0)\r
+ {\r
+ if (argc > ++i)\r
+ shar_prefix = argv[i++];\r
+ }\r
else if (_stricmp( "catalogs", argv[i]+1) == 0)\r
{\r
if (argc > ++i)\r
printf("%s -remove <name> to remove the named service\n", argv[0]);\r
printf("%s -console to run as a console app for debugging\n", argv[0]);\r
printf("%s -check to run as a console app and check configuration\n", argv[0]);\r
+ printf("\t-prefix <dir> to specify the installation directory\n");\r
printf("\t-config <file> to specify the config file to use\n");\r
- printf("\t-catalogs <dir> to specify schema catalogs\n");\r
+ printf("\t-catalogs <catalog1:catalog2> to specify schema catalogs\n");\r
printf("\nService starting.\nThis may take several seconds. Please wait.\n" );\r
\r
SERVICE_TABLE_ENTRY dispatchTable[] =\r
SC_HANDLE schSCManager;\r
\r
char szPath[256];\r
- char dispName[512];\r
- char realName[512];\r
- char cmd[2048];\r
\r
if ( GetModuleFileName( NULL, szPath, 256 ) == 0 )\r
{\r
return;\r
}\r
\r
- sprintf(dispName,"Shibboleth %s Daemon (%s)",PACKAGE_VERSION,name);\r
- sprintf(realName,"shibd_%s",name);\r
- if (shar_config && shar_schemadir)\r
- sprintf(cmd,"%s -config %s -schemadir %s",szPath,shar_config,shar_schemadir);\r
- else if (shar_config)\r
- sprintf(cmd,"%s -config %s",szPath,shar_config);\r
- else if (shar_schemadir)\r
- sprintf(cmd,"%s -schemadir %s",szPath,shar_schemadir);\r
- else\r
- sprintf(cmd,"%s",szPath);\r
+ string dispName = string("Shibboleth ") + PACKAGE_VERSION + " Daemon (" + name + ")";\r
+ string realName = string("shibd_") + name;\r
+ string cmd(szPath);\r
+ if (shar_prefix)\r
+ cmd = cmd + " -prefix " + shar_prefix;\r
+ if (shar_config)\r
+ cmd = cmd + " -config " + shar_config;\r
+ if (shar_schemadir)\r
+ cmd = cmd + " -schemadir " + shar_schemadir;\r
\r
schSCManager = OpenSCManager(\r
NULL, // machine (NULL == local)\r
{\r
schService = CreateService(\r
schSCManager, // SCManager database\r
- realName, // name of service\r
- dispName, // name to display\r
+ realName.c_str(), // name of service\r
+ dispName.c_str(), // name to display\r
SERVICE_ALL_ACCESS, // desired access\r
SERVICE_WIN32_OWN_PROCESS, // service type\r
SERVICE_AUTO_START, // start type\r
SERVICE_ERROR_NORMAL, // error control type\r
- cmd, // service's command line\r
+ cmd.c_str(), // service's command line\r
NULL, // no load ordering group\r
NULL, // no tag identifier\r
NULL, // dependencies\r
\r
if ( schService )\r
{\r
- printf("%s installed.\n",realName);\r
+ printf("%s installed.\n", realName.c_str());\r
CloseServiceHandle(schService);\r
}\r
else\r
SC_HANDLE schSCManager;\r
char realName[512];\r
\r
- sprintf(realName,"shibd_%s",name);\r
+ _snprintf(realName,sizeof(realName),"shibd_%s",name);\r
\r
schSCManager = OpenSCManager(\r
NULL, // machine (NULL == local)\r
#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");
loglevel = SHIBSP_LOGGING;
XMLToolingConfig::getConfig().log_config(loglevel);
+ if (!inst_prefix)
+ inst_prefix = getenv("SHIBSP_PREFIX");
+ if (!inst_prefix)
+ inst_prefix = SHIBSP_PREFIX;
+
if (!catalog_path)
catalog_path = getenv("SHIBSP_SCHEMAS");
if (!catalog_path)
}
#endif
XMLToolingConfig::getConfig().getPathResolver()->setDefaultPackageName(PACKAGE_NAME);
- XMLToolingConfig::getConfig().getPathResolver()->setDefaultPrefix(getenv("SHIBSP_PREFIX") ? getenv("SHIBSP_PREFIX") : SHIBSP_PREFIX);
+ 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");
*/
class SHIBSP_API SPConfig
{
- MAKE_NONCOPYABLE(SPConfig);
+ MAKE_NONCOPYABLE(SPConfig);
public:
+ SPConfig() : attribute_value_delimeter(';'), m_serviceProvider(NULL),
+#ifndef SHIBSP_LITE
+ m_artifactResolver(NULL),
+#endif
+ m_features(0) {}
+
virtual ~SPConfig() {}
/**
* before using any library classes.
*
* @param catalog_path delimited set of schema catalog files to load
+ * @param inst_prefix installation prefix for software
* @return true iff initialization was successful
*/
- virtual bool init(const char* catalog_path)=0;
+ virtual bool init(const char* catalog_path=NULL, const char* inst_prefix=NULL);
/**
* Shuts down library
* Each process using the library SHOULD call this function exactly once
* before terminating itself.
*/
- virtual void term()=0;
+ virtual void term();
/**
* Sets the global ServiceProvider instance.
xmltooling::PluginManager< Handler,std::string,std::pair<const xercesc::DOMElement*,const char*> > SingleLogoutServiceManager;
protected:
- SPConfig() : attribute_value_delimeter(';'), m_serviceProvider(NULL),
-#ifndef SHIBSP_LITE
- m_artifactResolver(NULL),
-#endif
- m_features(0) {}
-
/** Global ServiceProvider instance. */
ServiceProvider* m_serviceProvider;
#include <sstream>
#include <xmltooling/XMLToolingConfig.h>
#include <xmltooling/util/NDC.h>
+#include <xmltooling/util/PathResolver.h>
#include <xmltooling/util/URLEncoder.h>
#include <xmltooling/util/XMLHelper.h>
pathname=props->getString(page);
}
if (pathname.first) {
- ifstream infile(pathname.second);
+ string fname(pathname.second);
+ ifstream infile(XMLToolingConfig::getConfig().getPathResolver()->resolve(fname, PathResolver::XMLTOOLING_CFG_FILE).c_str());
if (infile) {
tp.setPropertySet(props);
stringstream str;
# define SHIBSP_SCHEMAS "c:/opt/shibboleth-sp/share/xml/xmltooling/catalog.xml;c:/opt/shibboleth-sp/share/xml/opensaml/saml20-catalog.xml;c:/opt/shibboleth-sp/share/xml/opensaml/saml11-catalog.xml;c:/opt/shibboleth-sp/share/xml/shibboleth/catalog.xml"
/**
- * Default path to configuration file on Windows.
+ * Default name of configuration file on Windows.
*/
-# define SHIBSP_CONFIG "c:/opt/shibboleth-sp/etc/shibboleth/shibboleth2.xml"
+# define SHIBSP_CONFIG "shibboleth2.xml"
/**
* Controls default logging level of console tools and other situations
* where fully-configured logging isn't used.
*/
-#define SHIBSP_LOGGING "c:/opt/shibboleth-sp/etc/shibboleth/console.logger"
+#define SHIBSP_LOGGING "console.logger"
/**
* Default prefix for installation (used to resolve relative paths).
#include <fstream>
#include <xmltooling/XMLToolingConfig.h>
+#include <xmltooling/util/PathResolver.h>
#include <xmltooling/util/URLEncoder.h>
using namespace shibsp;
response.setContentType("text/html");
response.setResponseHeader("Expires","01-Jan-1997 12:00:00 GMT");
response.setResponseHeader("Cache-Control","private,no-store,no-cache");
- ifstream infile(prop.second);
+ string fname(prop.second);
+ ifstream infile(XMLToolingConfig::getConfig().getPathResolver()->resolve(fname, PathResolver::XMLTOOLING_CFG_FILE).c_str());
if (!infile)
throw ConfigurationException("Unable to access $1 HTML template.", params(1,local ? "localLogout" : "globalLogout"));
TemplateParameters tp;
using namespace xmltooling::logging;
using namespace xercesc;
-namespace shibsp {
-
- /// @cond OFF
- class SPInternalConfig : public SPConfig
- {
- public:
- SPInternalConfig() {}
-
- static SPInternalConfig& getInternalConfig();
-
- bool init(const char* catalog_path);
- void term();
-
- private:
- };
- /// @endcond
-
-};
-
#endif /* __shibsp_internal_h__ */
#define SHIBSP_SCHEMAS "@-XMLTOOLINGXMLDIR-@/catalog.xml:@-OPENSAMLXMLDIR-@/saml20-catalog.xml:@-OPENSAMLXMLDIR-@/saml11-catalog.xml:@-PKGXMLDIR-@/catalog.xml"\r
\r
/**\r
- * Default location of SP configuration file.\r
+ * Default name of SP configuration file.\r
*/\r
-#define SHIBSP_CONFIG "@-PKGSYSCONFDIR-@/shibboleth2.xml"\r
+#define SHIBSP_CONFIG "shibboleth2.xml"\r
\r
/**\r
- * Default location of SP console tool logging file.\r
+ * Default name of SP console tool logging file.\r
*/\r
-#define SHIBSP_LOGGING "@-PKGSYSCONFDIR-@/console.logger"\r
+#define SHIBSP_LOGGING "console.logger"\r
\r
/**\r
* Default prefix for installation (used to resolve relative paths).\r