Path resolution for error templates.
[shibboleth/sp.git] / fastcgi / shibauthorizer.cpp
index 284793a..65fc832 100644 (file)
@@ -67,7 +67,8 @@ class ShibTargetFCGIAuth : public AbstractSPRequest
 public:\r
     map<string,string> m_request_headers;\r
 \r
-    ShibTargetFCGIAuth(FCGX_Request* req, const char* scheme=NULL, const char* hostname=NULL, int port=0) : m_req(req) {\r
+    ShibTargetFCGIAuth(FCGX_Request* req, const char* scheme=NULL, const char* hostname=NULL, int port=0)\r
+            : AbstractSPRequest(SHIBSP_LOGCAT".FastCGI"), m_req(req) {\r
         const char* server_name_str = hostname;\r
         if (!server_name_str || !*server_name_str)\r
             server_name_str = FCGX_GetParam("SERVER_NAME", req->envp);\r
@@ -87,6 +88,8 @@ public:
         if (!server_scheme_str || !*server_scheme_str)\r
             server_scheme_str = (m_port == 443 || m_port == 8443) ? "https" : "http";\r
         m_scheme = server_scheme_str;\r
+\r
+        setRequestURI(FCGX_GetParam("REQUEST_URI", m_req->envp));\r
     }\r
 \r
     ~ShibTargetFCGIAuth() { }\r
@@ -100,9 +103,6 @@ public:
     int getPort() const {\r
         return m_port;\r
     }\r
-    const char* getRequestURI() const {\r
-        return FCGX_GetParam("REQUEST_URI", m_req->envp);\r
-    }\r
     const char* getMethod() const {\r
         return FCGX_GetParam("REQUEST_METHOD", m_req->envp);\r
     }\r
@@ -236,16 +236,6 @@ static void print_error(const char* msg)
 \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
@@ -255,11 +245,15 @@ int main(void)
         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