From 2fbd48f9f927dbd93974e8e6d985815331a12b15 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 22 Feb 2009 03:53:14 +0000 Subject: fixed build on Windows (after logging chances) --- src/anytun.cpp | 10 +++++++++- src/anytun.suo | Bin 62464 -> 64000 bytes src/anytun.vcproj | 16 ++++++++++++---- src/logTargets.cpp | 24 ++++++++++++------------ src/logTargets.h | 8 +++++--- src/win32/tunDevice.cpp | 2 +- 6 files changed, 39 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/anytun.cpp b/src/anytun.cpp index d954eae..1fb1fd8 100644 --- a/src/anytun.cpp +++ b/src/anytun.cpp @@ -362,8 +362,16 @@ int main(int argc, char* argv[]) { try { +#ifndef _MSC_VER cLog.addTarget("syslog:7,anytun,daemon"); - cLog.msg(Log::PRIO_DEBUG) << "anytun started..."; +#else + #ifdef WIN_SERVICE + cLog.addTarget("eventlog:7,anytun"); + #else + cLog.addTarget("stdout:7"); + #endif +#endif + cLog.msg(Log::PRIO_NOTICE) << "anytun started..."; /// std::cout << "anytun - secure anycast tunneling protocol" << std::endl; bool result = gOpt.parse(argc, argv); diff --git a/src/anytun.suo b/src/anytun.suo index 8b70223..05fc354 100644 Binary files a/src/anytun.suo and b/src/anytun.suo differ diff --git a/src/anytun.vcproj b/src/anytun.vcproj index 3b0727f..16cb37f 100644 --- a/src/anytun.vcproj +++ b/src/anytun.vcproj @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/I "C:\Program Files\boost\boost_1_35_0\"" Optimization="0" - PreprocessorDefinitions="LOG_STDOUT;USE_SSL_CRYPTO;NO_DAEMON;NO_EXEC;NO_SIGNALCONTROLLER;WIN32_LEAN_AND_MEAN" + PreprocessorDefinitions="LOG_FILE;LOG_STDOUT;LOG_WINEVENTLOG;USE_SSL_CRYPTO;NO_DAEMON;NO_EXEC;NO_SIGNALCONTROLLER;WIN32_LEAN_AND_MEAN" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -116,7 +116,7 @@ /> + + @@ -540,6 +544,10 @@ RelativePath=".\log.cpp" > + + diff --git a/src/logTargets.cpp b/src/logTargets.cpp index 82bb6fd..ac41c0b 100644 --- a/src/logTargets.cpp +++ b/src/logTargets.cpp @@ -141,7 +141,7 @@ LogTarget* LogTargetList::add(target_type_t type, int prio, std::string conf) } case TARGET_WINEVENTLOG: { #ifdef LOG_WINEVENTLOG - if(!LogTargetSyslog::duplicateAllowed() && targets.count(TARGET_WINEVENTLOG)) + if(!LogTargetWinEventlog::duplicateAllowed() && targets.count(TARGET_WINEVENTLOG)) throw std::runtime_error(targetTypeToString(TARGET_WINEVENTLOG) + " logtarget is supported only once"); return targets.insert(TargetsMap::value_type(TARGET_WINEVENTLOG, new LogTargetWinEventlog(prio, conf)))->second; @@ -403,11 +403,11 @@ void LogTargetWinEventlog::log(std::string msg, int prio) CHAR buffer[STERROR_TEXT_MAX]; StringCchPrintfA(buffer, STERROR_TEXT_MAX, "%s", msg.c_str()); lpszStrings[0] = buffer; - if(log.h_event_source) - ReportEventA(log.h_event_source_, Log::prioToEventLogType(prio), 0, prio, NULL, 1, 0, lpszStrings, NULL); + if(h_event_source) + ReportEventA(h_event_source, prioToEventLogType(prio), 0, prio, NULL, 1, 0, lpszStrings, NULL); } -LogTargetEventlog& LogTargetWinEventlog::setLogName(std::string l) +LogTargetWinEventlog& LogTargetWinEventlog::setLogName(std::string l) { logname = l; if(opened) @@ -419,14 +419,14 @@ LogTargetEventlog& LogTargetWinEventlog::setLogName(std::string l) WORD LogTargetWinEventlog::prioToEventLogType(int prio) { switch(prio) { - case PRIO_EMERG: return EVENTLOG_ERROR_TYPE; - case PRIO_ALERT: return EVENTLOG_ERROR_TYPE; - case PRIO_CRIT: return EVENTLOG_ERROR_TYPE; - case PRIO_ERR: return EVENTLOG_ERROR_TYPE; - case PRIO_WARNING: return EVENTLOG_WARNING_TYPE; - case PRIO_NOTICE: return EVENTLOG_INFORMATION_TYPE; - case PRIO_INFO: return EVENTLOG_SUCCESS; - case PRIO_DEBUG: return EVENTLOG_INFORMATION_TYPE; + case Log::PRIO_EMERG: return EVENTLOG_ERROR_TYPE; + case Log::PRIO_ALERT: return EVENTLOG_ERROR_TYPE; + case Log::PRIO_CRIT: return EVENTLOG_ERROR_TYPE; + case Log::PRIO_ERR: return EVENTLOG_ERROR_TYPE; + case Log::PRIO_WARNING: return EVENTLOG_WARNING_TYPE; + case Log::PRIO_NOTICE: return EVENTLOG_INFORMATION_TYPE; + case Log::PRIO_INFO: return EVENTLOG_SUCCESS; + case Log::PRIO_DEBUG: return EVENTLOG_INFORMATION_TYPE; default: return EVENTLOG_ERROR_TYPE; } } diff --git a/src/logTargets.h b/src/logTargets.h index 4f249d4..a7e9b60 100644 --- a/src/logTargets.h +++ b/src/logTargets.h @@ -43,6 +43,8 @@ #include #endif +#include "datatypes.h" + class LogTarget { public: @@ -178,6 +180,8 @@ private: class LogTargetWinEventlog : public LogTarget { public: + static WORD prioToEventLogType(int prio); + LogTargetWinEventlog(int prio, std::string conf); ~LogTargetWinEventlog(); @@ -187,11 +191,9 @@ public: static bool duplicateAllowed() { return false; }; LogTargetWinEventlog& setLogName(std::string l); - std::string getLogName() const { return logname; } + std::string getLogName() const { return logname; }; private: - static WORD prioToEventLogType(int prio); - std::string logname; HANDLE h_event_source; }; diff --git a/src/win32/tunDevice.cpp b/src/win32/tunDevice.cpp index 538269e..9d95b30 100644 --- a/src/win32/tunDevice.cpp +++ b/src/win32/tunDevice.cpp @@ -277,7 +277,7 @@ void TunDevice::do_ifconfig() } u_long mtu; - err = performIoControl(TAP_IOCTL_CONFIG_DHCP_MASQ, &mtu, sizeof(mtu), &mtu, sizeof(mtu)); + err = performIoControl(TAP_IOCTL_GET_MTU, &mtu, sizeof(mtu), &mtu, sizeof(mtu)); if(err != ERROR_SUCCESS) { CloseHandle(handle_); std::stringstream msg; -- cgit v1.2.3