[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