[cpp-sp] branch master updated: SSPCPP-794 - Change default logging for inproc half of SP

Scott Cantor cantor.2 at osu.edu
Wed Apr 18 17:07:54 EDT 2018


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository cpp-sp.

View the commit online:
http://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=73ec9710d01ffeaa1986ac65d6b1fb61d990e2d8

The following commit(s) were added to refs/heads/master by this push:
       new  73ec971   SSPCPP-794 - Change default logging for inproc half of SP
73ec971 is described below

commit 73ec9710d01ffeaa1986ac65d6b1fb61d990e2d8
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Apr 18 17:07:31 2018 -0400

    SSPCPP-794 - Change default logging for inproc half of SP
    
    https://issues.shibboleth.net/jira/browse/SSPCPP-794
    
    Retrofit IIS EventLog behavior on Windows.
---
 iis7_shib/IIS7Request.cpp       |  7 ++--
 iis7_shib/headers/IIS7_shib.hpp |  6 ++--
 iis7_shib/register.cpp          | 33 +++++++----------
 isapi_shib/isapi_shib.cpp       | 78 +++++++++++++++++++----------------------
 shibd/shibd_win32.cpp           |  3 +-
 util/message.mc                 | 35 ++++--------------
 6 files changed, 66 insertions(+), 96 deletions(-)

diff --git a/iis7_shib/IIS7Request.cpp b/iis7_shib/IIS7Request.cpp
index 7da0be7..50e1917 100644
--- a/iis7_shib/IIS7Request.cpp
+++ b/iis7_shib/IIS7Request.cpp
@@ -34,6 +34,7 @@
 #include "ShibUser.hpp"
 
 using namespace Config;
+using xmltooling::logging::Priority;
 
 IIS7Request::IIS7Request(IHttpContext *pHttpContext, IHttpEventProvider *pEventProvider, bool checkUser) : AbstractSPRequest(SHIBSP_LOGCAT ".NATIVE"),
     m_ctx(pHttpContext), m_request(pHttpContext->GetRequest()), m_response(pHttpContext->GetResponse()),
@@ -263,7 +264,7 @@ void IIS7Request::log(SPLogLevel level, const string& msg) const
 {
     AbstractSPRequest::log(level, msg);
     if (level >= SPCrit)
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CRITICAL, nullptr, msg.c_str());
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CRITICAL, Priority::CRIT, msg.c_str());
 }
 
 string IIS7Request::getRemoteAddr() const
@@ -470,9 +471,9 @@ string IIS7Request::makeSafeHeader(const char* rawname) const
 void IIS7Request::logFatal(const string& operation, HRESULT hr) const
 {
     string msg(operation + " failed: " + lexical_cast<string>(hr));
-    LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CRITICAL, nullptr, msg.c_str());
+    LogEvent(EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CRITICAL, Priority::FATAL, msg.c_str());
     if (m_response) {
-        (void)m_response->SetStatus(static_cast<USHORT>(XMLTOOLING_HTTP_STATUS_ERROR), "Fatal Server Error", 0, hr);
+        m_response->SetStatus(static_cast<USHORT>(XMLTOOLING_HTTP_STATUS_ERROR), "Fatal Server Error", 0, hr);
     }
 }
 
diff --git a/iis7_shib/headers/IIS7_shib.hpp b/iis7_shib/headers/IIS7_shib.hpp
index dcb8b96..2dfd6de 100644
--- a/iis7_shib/headers/IIS7_shib.hpp
+++ b/iis7_shib/headers/IIS7_shib.hpp
@@ -45,8 +45,9 @@
 #include <shibsp/ServiceProvider.h>
 #include <shibsp/util/PropertySet.h>
 
-#include <xmltooling/util/XMLHelper.h>
 #include <xmltooling/Lockable.h>
+#include <xmltooling/logging.h>
+#include <xmltooling/util/XMLHelper.h>
 #include <shibsp/exceptions.h>
 
 #include <message.h>
@@ -115,8 +116,7 @@ namespace Config {
 }
 
 BOOL LogEvent(
-    LPCSTR  lpUNCServerName,
     WORD  wType,
     DWORD  dwEventID,
-    PSID  lpUserSid,
+    xmltooling::logging::Priority::PriorityLevel priority,
     LPCSTR  message);
\ No newline at end of file
diff --git a/iis7_shib/register.cpp b/iis7_shib/register.cpp
index babd0c7..09af594 100644
--- a/iis7_shib/register.cpp
+++ b/iis7_shib/register.cpp
@@ -32,6 +32,7 @@
 #include <codecvt> // 16 bit to 8 bit and vice versa chars
 #include <boost/algorithm/string.hpp>
 
+using xmltooling::logging::Priority;
 
 namespace Config {
     HINSTANCE g_hinstDLL;
@@ -92,19 +93,16 @@ RegisterModule(
 )
 {
     if (g_Config) {
-        LogEvent(nullptr, EVENTLOG_WARNING_TYPE, SHIB_NATIVE_REENTRANT_INIT, nullptr,
-                 "Reentrant filter initialization, ignoring...");
+        LogEvent(EVENTLOG_WARNING_TYPE, SHIB_NATIVE_REENTRANT_INIT, Priority::WARN, "SHIB_NATIVE_REENTRANT_INIT");
         return S_OK;
     }
 
     RegistrySignature::CheckSigResult checkSig = RegistrySignature::CheckSignature('IIS7');
     if (RegistrySignature::CheckSigResult::Failed == checkSig) {
-        LogEvent(nullptr, EVENTLOG_WARNING_TYPE, SHIB_NATIVE_CANNOT_CHECK_SIGNATURE, nullptr,
-                 "Couldn't Check signature");
+        LogEvent(EVENTLOG_WARNING_TYPE, SHIB_NATIVE_CANNOT_CHECK_SIGNATURE, Priority::WARN, "SHIB_NATIVE_CANNOT_CHECK_SIGNATURE");
     }
     else if (RegistrySignature::CheckSigResult::Mismatched == checkSig) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CANNOT_CHECK_SIGNATURE, nullptr,
-                 "ISAPI Filter is already running, exiting");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_NATIVE_SIGNATURE_MISMATCH, Priority::FATAL, "SHIB_NATIVE_SIGNATURE_MISMATCH");
         return FALSE;
     }
 
@@ -119,18 +117,17 @@ RegisterModule(
     );
     if (!g_Config->init()) {
         g_Config = nullptr;
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_NATIVE_STARTUP_FAILED, nullptr,
-                 "Filter startup failed during library initialization, check native log for help.");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_NATIVE_STARTUP_FAILED, Priority::FATAL, "SHIB_NATIVE_STARTUP_FAILED");
         return E_FAIL;
     }
 
     try {
         if (!g_Config->instantiate(nullptr, true))
             throw runtime_error("unknown error");
-    } catch (std::exception& ex) {
+    } catch (const std::exception& ex) {
         g_Config->term();
         g_Config=nullptr;
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_NATIVE_STARTUP_FAILED_EXCEPTION, nullptr, ex.what());
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_NATIVE_STARTUP_FAILED_EXCEPTION, Priority::FATAL, ex.what());
         return FALSE;
     }
 
@@ -161,8 +158,7 @@ RegisterModule(
                 }
                 else {
                     _set_invalid_parameter_handler(old);
-                    LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CANNOT_CREATE_ANTISPOOF, nullptr,
-                             "Filter failed to generate a random anti-spoofing key (if this is Windows 2000 set one manually).");
+                    LogEvent(EVENTLOG_ERROR_TYPE, SHIB_NATIVE_CANNOT_CREATE_ANTISPOOF, Priority::FATAL, "SHIB_NATIVE_CANNOT_CREATE_ANTISPOOF");
                     locker.assign();    // pops lock on SP config
                     g_Config->term();
                     g_Config = nullptr;
@@ -213,24 +209,21 @@ RegisterModule(
                                                       RQ_AUTHENTICATE_REQUEST);
 
     if (SUCCEEDED(hr))
-    LogEvent(nullptr, EVENTLOG_INFORMATION_TYPE, SHIB_NATIVE_INITIALIZED, nullptr, "Filter initialized...");
+        LogEvent(EVENTLOG_INFORMATION_TYPE, SHIB_NATIVE_INITIALIZED, Priority::INFO, "SHIB_NATIVE_INITIALIZED");
 
     return hr;
 }
 
 BOOL LogEvent(
-    LPCSTR  lpUNCServerName,
     WORD  wType,
     DWORD  dwEventID,
-    PSID  lpUserSid,
+    Priority::PriorityLevel priority,
     LPCSTR  message)
 {
     LPCSTR  messages[] ={ message, nullptr };
     DWORD gle = GetLastError();
 
-    HANDLE hElog = RegisterEventSource(lpUNCServerName, "Shibboleth NATIVE Filter");
-    BOOL res = ReportEvent(hElog, wType, CATEGORY_NATIVE, dwEventID, lpUserSid, 1, sizeof(DWORD), messages, &gle);
-    return (DeregisterEventSource(hElog) && res);
+    HANDLE hElog = ::RegisterEventSource(nullptr, SHIBSP_EVENTLOGSOURCE);
+    BOOL res = ::ReportEvent(hElog, wType, (priority / 100) + 1, dwEventID, nullptr, 1, sizeof(DWORD), messages, &gle);
+    return (::DeregisterEventSource(hElog) && res);
 }
-
-
diff --git a/isapi_shib/isapi_shib.cpp b/isapi_shib/isapi_shib.cpp
index 6393830..c722e52 100644
--- a/isapi_shib/isapi_shib.cpp
+++ b/isapi_shib/isapi_shib.cpp
@@ -64,6 +64,9 @@ using namespace xercesc;
 using namespace boost;
 using namespace std;
 
+using xmltooling::logging::Category;
+using xmltooling::logging::Priority;
+
 // globals
 namespace {
     static const XMLCh path[] =             UNICODE_LITERAL_4(p,a,t,h);
@@ -110,18 +113,17 @@ namespace {
 }
 
 BOOL LogEvent(
-    LPCSTR  lpUNCServerName,
     WORD  wType,
     DWORD  dwEventID,
-    PSID  lpUserSid,
+    Priority::PriorityLevel priority,
     LPCSTR  message)
 {
     LPCSTR  messages[] = {message, nullptr};
-    DWORD gle = GetLastError();
+    DWORD gle = ::GetLastError();
 
-    HANDLE hElog = RegisterEventSource(lpUNCServerName, "Shibboleth ISAPI Filter");
-    BOOL res = ReportEvent(hElog, wType, CATEGORY_ISAPI, dwEventID, lpUserSid, 1, sizeof(DWORD), messages, &gle);
-    return (DeregisterEventSource(hElog) && res);
+    HANDLE hElog = ::RegisterEventSource(nullptr, SHIBSP_EVENTLOGSOURCE);
+    BOOL res = ::ReportEvent(hElog, wType, (priority / 100) + 1, dwEventID, nullptr, 1, sizeof(DWORD), messages, &gle);
+    return (::DeregisterEventSource(hElog) && res);
 }
 
 void _my_invalid_parameter_handler(
@@ -148,8 +150,7 @@ extern "C" BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO* pVer)
         return FALSE;
 
     if (!g_Config) {
-        LogEvent(nullptr, SHIB_ISAPI_CANNOT_LOAD, 2100, nullptr,
-                "Extension mode startup not possible, is the DLL loaded as a filter?");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CANNOT_LOAD, Priority::FATAL, "SHIB_ISAPI_CANNOT_LOAD");
         return FALSE;
     }
 
@@ -168,18 +169,15 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
     if (!pVer)
         return FALSE;
     else if (g_Config) {
-        LogEvent(nullptr, EVENTLOG_WARNING_TYPE, SHIB_ISAPI_REENTRANT_INIT, nullptr,
-                "Reentrant filter initialization, ignoring...");
+        LogEvent(EVENTLOG_WARNING_TYPE, SHIB_ISAPI_REENTRANT_INIT, Priority::WARN, "SHIB_ISAPI_REENTRANT_INIT");
         return TRUE;
     }
 
     RegistrySignature::CheckSigResult checkSig = RegistrySignature::CheckSignature('IIS6');
     if (RegistrySignature::Failed == checkSig) {
-        LogEvent(nullptr, EVENTLOG_WARNING_TYPE, SHIB_ISAPI_CANNOT_CHECK_SIGNATURE, nullptr,
-                 "Couldn't Check signature");
+        LogEvent(EVENTLOG_WARNING_TYPE, SHIB_ISAPI_CANNOT_CHECK_SIGNATURE, Priority::WARN, "SHIB_ISAPI_CANNOT_CHECK_SIGNATURE");
     } else if (RegistrySignature::Mismatched == checkSig) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CANNOT_CHECK_SIGNATURE, nullptr,
-                 "Native Filter is already running, exiting");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_SIGNATURE_MISMATCH, Priority::FATAL, "SHIB_ISAPI_SIGNATURE_MISMATCH");
         return FALSE;
     }
 
@@ -194,8 +192,7 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
         );
     if (!g_Config->init()) {
         g_Config = nullptr;
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_STARTUP_FAILED, nullptr,
-                "Filter startup failed during library initialization, check native log for help.");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_STARTUP_FAILED, Priority::FATAL, "SHIB_ISAPI_STARTUP_FAILED");
         return FALSE;
     }
 
@@ -203,10 +200,10 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
         if (!g_Config->instantiate(nullptr, true))
             throw runtime_error("unknown error");
     }
-    catch (std::exception& ex) {
+    catch (const std::exception& ex) {
         g_Config->term();
         g_Config=nullptr;
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_STARTUP_FAILED_EXCEPTION, nullptr, ex.what());
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_STARTUP_FAILED_EXCEPTION, Priority::FATAL, ex.what());
         return FALSE;
     }
 
@@ -237,8 +234,7 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
                 }
                 else {
                     _set_invalid_parameter_handler(old);
-                    LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CANNOT_CREATE_ANTISPOOF, nullptr,
-                            "Filter failed to generate a random anti-spoofing key (if this is Windows 2000 set one manually).");
+                    LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CANNOT_CREATE_ANTISPOOF, Priority::FATAL, "SHIB_ISAPI_CANNOT_CREATE_ANTISPOOF");
                     locker.assign();    // pops lock on SP config
                     g_Config->term();
                     g_Config = nullptr;
@@ -254,9 +250,9 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
             flag = props->getBool("safeHeaderNames");
             g_bSafeHeaderNames = flag.first && flag.second;
             if (props->getString("useHeaders").first)
-                log4shib::Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useHeaders attribute not valid for this filter");
+                Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useHeaders attribute not valid for this filter");
             if (props->getString("useVariables").first)
-                log4shib::Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useVariables attribute not valid for this filter");
+                Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useVariables attribute not valid for this filter");
 
             const DOMElement* child = XMLHelper::getFirstChildElement(props->getElement(), Site);
             while (child) {
@@ -264,15 +260,15 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
                 if (!id.empty()) {
                     g_Sites.insert(make_pair(id, site_t(child)));
                     if (!XMLHelper::getAttrString(child, "", useHeaders).empty())
-                        log4shib::Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useHeaders attribute not valid for this filter");
+                        Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useHeaders attribute not valid for this filter");
                     if (!XMLHelper::getAttrString(child, "", useVariables).empty())
-                        log4shib::Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useVariables attribute not valid for this filter");
+                        Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("useVariables attribute not valid for this filter");
                 }
                 child = XMLHelper::getNextSiblingElement(child, Site);
             }
 
             if (nullptr != props->getPropertySet("Roles"))
-                log4shib::Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("<Roles> element not valid for this filter");
+                Category::getInstance(SHIBSP_LOGCAT ".ISAPI").warn("<Roles> element not valid for this filter");
         }
     }
 
@@ -283,7 +279,7 @@ extern "C" BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer)
                    SF_NOTIFY_NONSECURE_PORT |
                    SF_NOTIFY_PREPROC_HEADERS |
                    SF_NOTIFY_LOG);
-    LogEvent(nullptr, EVENTLOG_INFORMATION_TYPE, SHIB_ISAPI_INITIALIZED, nullptr, "Filter initialized...");
+    LogEvent(EVENTLOG_INFORMATION_TYPE, SHIB_ISAPI_INITIALIZED, Priority::INFO, "SHIB_ISAPI_INITIALIZED");
     return TRUE;
 }
 
@@ -292,7 +288,7 @@ extern "C" BOOL WINAPI TerminateFilter(DWORD)
     if (g_Config)
         g_Config->term();
     g_Config = nullptr;
-    LogEvent(nullptr, EVENTLOG_INFORMATION_TYPE, SHIB_ISAPI_SHUTDOWN, nullptr, "Filter shut down...");
+    LogEvent(EVENTLOG_INFORMATION_TYPE, SHIB_ISAPI_SHUTDOWN, Priority::INFO, "SHIB_ISAPI_SHUTDOWN");
     return TRUE;
 }
 
@@ -459,7 +455,7 @@ public:
   void log(SPLogLevel level, const string& msg) const {
     AbstractSPRequest::log(level,msg);
     if (level >= SPCrit)
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CRITICAL, nullptr, msg.c_str());
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CRITICAL, Priority::CRIT, msg.c_str());
   }
   string makeSafeHeader(const char* rawname) const {
       string hdr;
@@ -620,7 +616,7 @@ public:
 DWORD WriteClientError(PHTTP_FILTER_CONTEXT pfc, const char* msg, DWORD eventID=SHIB_ISAPI_CLIENT_ERROR)
 {
     if (eventID)
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, eventID, nullptr, msg);
+        LogEvent(EVENTLOG_ERROR_TYPE, eventID, Priority::ERROR, msg);
     static const char* ctype="Connection: close\r\nContent-Type: text/html\r\n\r\n";
     pfc->ServerSupportFunction(pfc,SF_REQ_SEND_RESPONSE_HEADER,"200 OK",(ULONG_PTR)ctype,0);
     static const char* xmsg="<HTML><HEAD><TITLE>Shibboleth Filter Error</TITLE></HEAD><BODY>"
@@ -650,7 +646,7 @@ void GetServerVariable(PHTTP_FILTER_CONTEXT pfc, LPSTR lpszVariable, dynabuf& s,
             break;
     }
     if (bRequired && s.empty()) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_MISSING_VARIABLE, nullptr, lpszVariable);
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_MISSING_VARIABLE, Priority::ERROR, lpszVariable);
     }
 }
 
@@ -696,7 +692,7 @@ extern "C" DWORD WINAPI HttpFilterProc(PHTTP_FILTER_CONTEXT pfc, DWORD notificat
 
         return SF_STATUS_REQ_NEXT_NOTIFICATION;
     }
-    catch(bad_alloc) {
+    catch(const bad_alloc&) {
         return WriteClientError(pfc, "Out of Memory");
     }
     catch(long e) {
@@ -705,12 +701,12 @@ extern "C" DWORD WINAPI HttpFilterProc(PHTTP_FILTER_CONTEXT pfc, DWORD notificat
         else
             return WriteClientError(pfc, "Shibboleth Filter detected unexpected IIS error.");
     }
-    catch (std::exception& e) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_EXCEPTION, nullptr, e.what());
+    catch (const std::exception& e) {
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_EXCEPTION, Priority::ERROR, e.what());
         return WriteClientError(pfc, "Shibboleth Filter caught an exception, check Event Log for details.", 0);
     }
     catch(...) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_UNKNOWN_EXCEPTION, nullptr, "Shibboleth Filter threw an unknown exception.");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_UNKNOWN_EXCEPTION, Priority::ERROR, "SHIB_ISAPI_UNKNOWN_EXCEPTION");
         if (g_catchAll)
             return WriteClientError(pfc, "Shibboleth Filter threw an unknown exception.", 0);
         throw;
@@ -725,7 +721,7 @@ extern "C" DWORD WINAPI HttpFilterProc(PHTTP_FILTER_CONTEXT pfc, DWORD notificat
 DWORD WriteClientError(LPEXTENSION_CONTROL_BLOCK lpECB, const char* msg, DWORD eventID=SHIB_ISAPI_CLIENT_ERROR)
 {
     if (eventID)
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, eventID, nullptr, msg);
+        LogEvent(EVENTLOG_ERROR_TYPE, eventID, Priority::ERROR, msg);
     static const char* ctype="Connection: close\r\nContent-Type: text/html\r\n\r\n";
     lpECB->ServerSupportFunction(lpECB->ConnID,HSE_REQ_SEND_RESPONSE_HEADER,"200 OK",0,(LPDWORD)ctype);
     static const char* xmsg="<HTML><HEAD><TITLE>Shibboleth Error</TITLE></HEAD><BODY><H1>Shibboleth Error</H1>";
@@ -881,7 +877,7 @@ public:
   void log(SPLogLevel level, const string& msg) const {
       AbstractSPRequest::log(level,msg);
       if (level >= SPCrit)
-          LogEvent(nullptr, EVENTLOG_ERROR_TYPE, 2100, nullptr, msg.c_str());
+          LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_CRITICAL, Priority::CRIT, msg.c_str());
   }
   string getHeader(const char* name) const {
     string hdr("HTTP_");
@@ -1050,7 +1046,7 @@ void GetServerVariable(LPEXTENSION_CONTROL_BLOCK lpECB, LPSTR lpszVariable, dyna
             break;
     }
     if (bRequired && s.empty()) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_MISSING_VARIABLE, nullptr, lpszVariable);
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_MISSING_VARIABLE, Priority::ERROR, lpszVariable);
     }
 }
 
@@ -1079,7 +1075,7 @@ extern "C" DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
         return WriteClientError(lpECB, "Shibboleth Extension failed to process request");
 
     }
-    catch(bad_alloc) {
+    catch(const bad_alloc&) {
         return WriteClientError(lpECB, "Out of Memory");
     }
     catch(long e) {
@@ -1088,12 +1084,12 @@ extern "C" DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
         else
             return WriteClientError(lpECB, "Server detected unexpected IIS error.");
     }
-    catch (std::exception& e) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_EXCEPTION, nullptr, e.what());
+    catch (const std::exception& e) {
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_EXCEPTION, Priority::ERROR, e.what());
         return WriteClientError(lpECB, "Shibboleth Extension caught an exception, check Event Log for details.", 0);
     }
     catch(...) {
-        LogEvent(nullptr, EVENTLOG_ERROR_TYPE, SHIB_ISAPI_UNKNOWN_EXCEPTION, nullptr, "Shibboleth Extension threw an unknown exception.");
+        LogEvent(EVENTLOG_ERROR_TYPE, SHIB_ISAPI_UNKNOWN_EXCEPTION, Priority::ERROR, "SHIB_ISAPI_UNKNOWN_EXCEPTION");
         if (g_catchAll)
             return WriteClientError(lpECB, "Shibboleth Extension threw an unknown exception.", 0);
         throw;
diff --git a/shibd/shibd_win32.cpp b/shibd/shibd_win32.cpp
index 26fac6e..820336e 100644
--- a/shibd/shibd_win32.cpp
+++ b/shibd/shibd_win32.cpp
@@ -35,9 +35,10 @@
 #include <string>
 #include <windows.h>
 
-using namespace xmltooling::logging;
 using namespace std;
 
+using xmltooling::logging::Priority;
+
 extern bool shibd_shutdown;                    // signals shutdown to Unix side
 extern const char* shar_schemadir;
 extern const char* shar_config;
diff --git a/util/message.mc b/util/message.mc
index c208f89..64f159f 100644
--- a/util/message.mc
+++ b/util/message.mc
@@ -1,37 +1,16 @@
 LanguageNames=(Neutral=0x0:MSG00)
 
-MessageIdTypedef=WORD
-
-MessageId=1
-SymbolicName=CATEGORY_SHIBD
-Language=Neutral
-Shibboleth Daemon
-.
-
-MessageId=
-SymbolicName=CATEGORY_ISAPI
-Language=Neutral
-Shibboleth Daemon ISAPI plugin
-.
-
-MessageId=
-SymbolicName=CATEGORY_NATIVE
-Language=Neutral
-Shibboleth Daemon Ntaive IIS plugin
-.
-
-
 MessageIdTypedef=DWORD
 
-SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
-               Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
-               Warning=0x2:STATUS_SEVERITY_WARNING
-               Error=0x3:STATUS_SEVERITY_ERROR
+SeverityNames=(Success=0x0
+               Informational=0x1
+               Warning=0x2
+               Error=0x3
               )
 
-FacilityNames=(Shibboleth=0x231:FACILITY_SYSTEM
-               ShibbolethISAPI=0x232:FACILITY_RUNTIME
-               ShibbolethNative=0x233:FACILITY_RUNTIME
+FacilityNames=(Shibboleth=0x231
+               ShibbolethISAPI=0x232
+               ShibbolethNative=0x233
                )
 
 

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


More information about the commits mailing list