Changeset 1d53fe0 in nscp
- Timestamp:
- 02/12/09 20:28:56 (4 years ago)
- Branches:
- master, 0.4.0, 0.4.1, 0.4.2, stable
- Children:
- b1ac2fa
- Parents:
- 04f2743
- Files:
-
- 28 added
- 18 edited
-
AutoBuild.h (modified) (1 diff)
-
Jamroot (added)
-
NSClient++.cpp (modified) (5 diffs)
-
bjam/boost.jam (added)
-
bjam/lua.jam (added)
-
bjam/msi.jam (added)
-
bjam/openssl.jam (added)
-
bjam/win32.jam (added)
-
bjam/wix.jam (added)
-
bjam/zip.jam (added)
-
build.bat (added)
-
changelog (modified) (1 diff)
-
clean.bat (added)
-
include/REGSettings.h (modified) (2 diffs)
-
include/ServiceCmd.cpp (modified) (8 diffs)
-
include/Socket.h (modified) (2 diffs)
-
include/checkHelpers.hpp (modified) (3 diffs)
-
include/config.h (modified) (1 diff)
-
modules/CheckDisk/Jamfile (added)
-
modules/CheckEventLog/CheckEventLog.cpp (modified) (2 diffs)
-
modules/CheckEventLog/Jamfile (added)
-
modules/CheckExternalScripts/CheckExternalScripts.cpp (modified) (1 diff)
-
modules/CheckExternalScripts/Jamfile (added)
-
modules/CheckHelpers/Jamfile (added)
-
modules/CheckSystem/CheckSystem.cpp (modified) (4 diffs)
-
modules/CheckSystem/CheckSystem.h (modified) (1 diff)
-
modules/CheckSystem/Jamfile (added)
-
modules/CheckTaskSched/Jamfile (added)
-
modules/CheckWMI/Jamfile (added)
-
modules/DebugLogMetrics/Jamfile (added)
-
modules/FileLogger/Jamfile (added)
-
modules/LUAScript/Jamfile (added)
-
modules/NRPEClient/Jamfile (added)
-
modules/NRPEListener/Jamfile (added)
-
modules/NRPEListener/NRPEListener.cpp (modified) (3 diffs)
-
modules/NSCAAgent/Jamfile (added)
-
modules/NSCAAgent/NSCAThread.cpp (modified) (2 diffs)
-
modules/NSCAAgent/NSCAThread.h (modified) (3 diffs)
-
modules/NSClientListener/Jamfile (added)
-
modules/NSClientListener/NSClientListener.cpp (modified) (2 diffs)
-
modules/RemoteConfiguration/Jamfile (added)
-
modules/SysTray/Jamfile (added)
-
modules/SysTray/SysTray.cpp (modified) (1 diff)
-
modules/SysTray/TrayIcon.cpp (modified) (2 diffs)
-
release-build.bat (added)
-
upload.bat (added)
Legend:
- Unmodified
- Added
- Removed
-
AutoBuild.h
r04f2743 r1d53fe0 3 3 // change the FALSE to TRUE for autoincrement of build number 4 4 #define INCREMENT_VERSION TRUE 5 #define FILEVER 0,3,6, 2496 #define PRODUCTVER 0,3,6, 2497 #define STRFILEVER _T("0.3.6. 249")8 #define STRPRODUCTVER _T("0.3.6. 249")9 #define STRPRODUCTDATE _T("2009-0 1-25")5 #define FILEVER 0,3,6,330 6 #define PRODUCTVER 0,3,6,330 7 #define STRFILEVER _T("0.3.6.330") 8 #define STRPRODUCTVER _T("0.3.6.330") 9 #define STRPRODUCTDATE _T("2009-02-11") 10 10 #endif // AUTOBUILD_H -
NSClient++.cpp
r3692371 r1d53fe0 180 180 if ( (argc > 1) && ((*argv[1] == '-') || (*argv[1] == '/')) ) { 181 181 if ( _wcsicmp( _T("install"), argv[1]+1 ) == 0 ) { 182 bool bGui = (argc > 2) && (_wcsicmp( _T("gui"), argv[2] )) || (argc > 3) && (_wcsicmp( _T("gui"), argv[3] )); 183 bool bStart = (argc > 2) && (_wcsicmp( _T("start"), argv[2] )) || (argc > 3) && (_wcsicmp( _T("start"), argv[3] )); 182 bool bGui = false; 183 bool bStart = false; 184 std::wstring service_name, service_description; 185 for (int i=2;i<argc;i++) { 186 if (_wcsicmp( _T("gui"), argv[i]) == 0) { 187 bGui = true; 188 } else if (_wcsicmp( _T("start"), argv[i]) == 0) { 189 bStart = true; 190 } else { 191 if (service_name.empty()) 192 service_name = argv[i]; 193 else { 194 if (!service_description.empty()) 195 service_description += _T(" "); 196 service_description += argv[i]; 197 } 198 } 199 } 200 if (service_name.empty()) 201 service_name = SZSERVICENAME; 202 if (service_description.empty()) 203 service_description = SZSERVICEDISPLAYNAME; 184 204 g_bConsoleLog = true; 185 205 try { 186 serviceControll::Install( SZSERVICENAME, SZSERVICEDISPLAYNAME, SZDEPENDENCIES);206 serviceControll::Install(service_name.c_str(), service_description.c_str(), SZDEPENDENCIES); 187 207 if (bStart) 188 serviceControll::Start( SZSERVICENAME);208 serviceControll::Start(service_name); 189 209 } catch (const serviceControll::SCException& e) { 190 210 if (bGui) … … 194 214 } 195 215 try { 196 serviceControll::SetDescription( SZSERVICENAME, SZSERVICEDESCRIPTION);216 serviceControll::SetDescription(service_name, service_description); 197 217 } catch (const serviceControll::SCException& e) { 198 218 if (bGui) … … 203 223 return 0; 204 224 } else if ( _wcsicmp( _T("uninstall"), argv[1]+1 ) == 0 ) { 205 bool bGui = (argc > 2) && (_wcsicmp( _T("gui"), argv[2] )); 225 bool bGui = false; 226 bool bStop = false; 227 std::wstring service_name; 228 for (int i=2;i<argc;i++) { 229 if (_wcsicmp( _T("gui"), argv[i]) == 0) { 230 bGui = true; 231 } else if (_wcsicmp( _T("stop"), argv[i]) == 0) { 232 bStop = true; 233 } else { 234 service_name = argv[i]; 235 } 236 } 237 if (service_name.empty()) 238 service_name = SZSERVICENAME; 206 239 g_bConsoleLog = true; 207 240 try { 208 serviceControll::Uninstall(SZSERVICENAME); 241 if (bStop) 242 serviceControll::Stop(service_name); 243 serviceControll::Uninstall(service_name); 209 244 } catch (const serviceControll::SCException& e) { 210 245 if (bGui) … … 234 269 } else if ( _wcsicmp( _T("start"), argv[1]+1 ) == 0 ) { 235 270 g_bConsoleLog = true; 271 bool bGui = false; 272 std::wstring service_name; 273 for (int i=2;i<argc;i++) { 274 if (_wcsicmp( _T("gui"), argv[i]) == 0) { 275 bGui = true; 276 } else { 277 service_name = argv[i]; 278 } 279 } 280 if (service_name.empty()) 281 service_name = SZSERVICENAME; 236 282 try { 237 serviceControll::Start( SZSERVICENAME);283 serviceControll::Start(service_name.c_str()); 238 284 } catch (const serviceControll::SCException& e) { 285 if (bGui) 286 display(_T("Service failed to start"), e.error_); 239 287 LOG_MESSAGE_STD(_T("Service failed to start: ") + e.error_); 240 288 return -1; … … 242 290 } else if ( _wcsicmp( _T("stop"), argv[1]+1 ) == 0 ) { 243 291 g_bConsoleLog = true; 292 bool bGui = false; 293 std::wstring service_name; 294 for (int i=2;i<argc;i++) { 295 if (_wcsicmp( _T("gui"), argv[i]) == 0) { 296 bGui = true; 297 } else { 298 service_name = argv[i]; 299 } 300 } 301 if (service_name.empty()) 302 service_name = SZSERVICENAME; 244 303 try { 245 serviceControll::Stop( SZSERVICENAME);304 serviceControll::Stop(service_name.c_str()); 246 305 } catch (const serviceControll::SCException& e) { 306 if (bGui) 307 display(_T("Service failed to stop"), e.error_); 247 308 LOG_MESSAGE_STD(_T("Service failed to stop: ") + e.error_); 248 309 return -1; -
changelog
r04f2743 r1d53fe0 4 4 * Add API for rehashing the daemon (or implement it the API is there but does nothing) 5 5 * Improved socket performance (would be nice if we could be used as a "hub") 6 7 2009-02-11 MickeM 8 * Fixed so that performance data is always(?) renderd regardless of if we have bounds or not. 9 This was primarily to fix issues where we have might not "unexpectedly" get performance data (might still be some issues here so let me know). 10 11 2009-02-06 MickeM 12 * Fixed so that arguments ($ARG1$) are parsed properly for alias in CheckExternalScript 13 14 2009-02-05 MickeM 15 * Fixed so the error message for "to small eventlog buffer" specifies the required size. 16 * Changed so that event log buffer problems are "ignored in the result" (still logged in the error log). 17 18 2009-02-03 MickeM 19 * Added support for changing the time when using NSCA with the time_delay in NSC.ini 20 time_delay=+4h or time_delay=-1h etc should can now be used when system time not the same as NSCA time. 21 22 2009-01-30 MickeM 23 * Added support for changing name and description of service from the /install command line 24 NSClient++ /install [gui] [start] [service name] [description] 25 NSClient++ /uninstall [gui] [stop] [service name] 26 NSClient++ /start [gui] [service name] 27 NSClient++ /stop [gui] [service name] 28 29 2009-01-28 MickeM 30 * Slightly improved error handling around socket creation 31 * Fixed some pretty minor issues with the SysTray module (uncreation as well as new boost build). 6 32 7 33 2009-01-25 MickeM -
include/REGSettings.h
rfebff5f r1d53fe0 148 148 DWORD type; 149 149 DWORD cbData = sizeof(DWORD); 150 BYTE *bData = new BYTE[cbData+1]; 151 bRet = RegQueryValueEx(hTemp, lpszKey, NULL, &type, bData, &cbData); 150 DWORD buffer; 151 //BYTE *bData = new BYTE[cbData+1]; 152 bRet = RegQueryValueEx(hTemp, lpszKey, NULL, &type, reinterpret_cast<LPBYTE>(&buffer), &cbData ); 152 153 if (type != REG_DWORD) { 153 154 bRet = -1; … … 155 156 RegCloseKey(hTemp); 156 157 if (bRet == ERROR_SUCCESS) { 157 ret = static_cast<DWORD>(*bData);158 } 159 delete [] bData;158 ret = buffer; 159 } 160 //delete [] bData; 160 161 return ret; 161 162 } -
include/ServiceCmd.cpp
r3692371 r1d53fe0 21 21 #include <iostream> 22 22 #include <msvc_wrappers.h> 23 #include <error.hpp> 23 24 24 25 namespace serviceControll { … … 45 46 schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); 46 47 if (!schSCManager) 47 throw SCException(_T("OpenSCManager failed ."));48 throw SCException(_T("OpenSCManager failed:") + error::lookup::last_error()); 48 49 schService = CreateService( 49 50 schSCManager, // SCManager database … … 67 68 throw SCException(_T("Service already installed!")); 68 69 } 69 throw SCException(_T("Unable to install service.") , err);70 throw SCException(_T("Unable to install service.") + error::lookup::last_error(err)); 70 71 } 71 72 std::wcout << _T("Service ") << szName << _T(" installed...") << std::endl;; … … 84 85 schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); 85 86 if (!schSCManager) 86 throw SCException(_T("OpenSCManager failed ."));87 throw SCException(_T("OpenSCManager failed: ") + error::lookup::last_error()); 87 88 schService = OpenService(schSCManager, szName, SERVICE_ALL_ACCESS); 88 89 if (!schService) { 89 90 DWORD err = GetLastError(); 90 91 CloseServiceHandle(schSCManager); 91 throw SCException(_T("Unable to open service ."), err);92 throw SCException(_T("Unable to open service: ") + error::lookup::last_error(err)); 92 93 } 93 94 BOOL result = ChangeServiceConfig(schService, dwServiceType, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE , NULL, NULL, NULL, … … 118 119 DWORD err = GetLastError(); 119 120 CloseServiceHandle(schSCManager); 120 throw SCException(_T("Unable to open service ."), err);121 throw SCException(_T("Unable to open service: ") + error::lookup::last_error(err)); 121 122 } 122 123 … … 150 151 schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS ); 151 152 if (!schSCManager) 152 throw SCException(_T("OpenSCManager failed ."));153 throw SCException(_T("OpenSCManager failed: ") + error::lookup::last_error()); 153 154 schService = OpenService(schSCManager, name.c_str(), SERVICE_ALL_ACCESS); 154 155 if (schService) { … … 172 173 CloseServiceHandle(schService); 173 174 } else { 174 CloseServiceHandle(schSCManager); 175 throw SCException(_T("OpenService failed.")); 175 std::wstring err = _T("OpenService failed: ") + error::lookup::last_error(); 176 CloseServiceHandle(schSCManager); 177 throw SCException(err); 176 178 } 177 179 CloseServiceHandle(schSCManager); … … 187 189 schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS ); 188 190 if (!schSCManager) 189 throw SCException(_T("OpenSCManager failed ."));191 throw SCException(_T("OpenSCManager failed: ") + error::lookup::last_error()); 190 192 schService = OpenService(schSCManager, name.c_str(), SERVICE_ALL_ACCESS); 191 193 if (schService) { -
include/Socket.h
r846bbe4 r1d53fe0 507 507 bindAddres_ = INADDR_ANY; 508 508 listenQue_ = queLength; 509 threadManager_.createThread(this); 509 try { 510 threadManager_.createThread(this); 511 } catch (ThreadException e) { 512 throw SocketException(_T("Could not start thread (got exception in thread): ") + e.e_); 513 } 510 514 } 511 515 virtual void StopListener() { … … 518 522 } catch (ThreadException e) { 519 523 tBase::close(); 520 throw SocketException(_T("Could not terminate thread (got exception in thread) ."));524 throw SocketException(_T("Could not terminate thread (got exception in thread): ") + e.e_); 521 525 } 522 526 tBase::close(); -
include/checkHelpers.hpp
r04f2743 r1d53fe0 137 137 std::wstring tstr; 138 138 if (crit.check(value, getAlias(), tstr, critical)) { 139 std::wcout << _T("crit") << std::endl;139 //std::wcout << _T("crit") << std::endl; 140 140 NSCHelper::escalteReturnCodeToCRIT(returnCode); 141 141 } else if (warn.check(value, getAlias(), tstr, warning)) { 142 std::wcout << _T("warn") << std::endl;142 //std::wcout << _T("warn") << std::endl; 143 143 NSCHelper::escalteReturnCodeToWARN(returnCode); 144 144 }else if (show == showLong) { 145 std::wcout << _T("long") << std::endl;145 //std::wcout << _T("long") << std::endl; 146 146 tstr = getAlias() + _T(": ") + TContents::toStringLong(value); 147 147 }else if (show == showShort) { 148 std::wcout << _T("short") << std::endl;148 //std::wcout << _T("short") << std::endl; 149 149 tstr = getAlias() + _T(": ") + TContents::toStringShort(value); 150 150 } 151 std::wcout << _T("result: ") << tstr << _T("--") << std::endl;152 151 if (perfData) 153 152 perf += gatherPerfData(value); … … 682 681 return true; 683 682 } else { 683 NSC_DEBUG_MSG_STD(_T("Missing bounds for check: ") + lable); 684 684 //std::cout << "No bounds specified..." << std::endl; 685 685 } … … 757 757 } else { 758 758 NSC_DEBUG_MSG_STD(_T("Missing bounds for maxmin-bounds check: ") + alias); 759 return min.gatherPerfData(alias, value, 0, 0); 759 760 } 760 761 return _T(""); -
include/config.h
rbb8b6d1 r1d53fe0 184 184 #define NSCA_CACHE_HOST _T("cache_hostname") 185 185 #define NSCA_CACHE_HOST_DEFAULT 0 186 #define NSCA_TIME_DELTA _T("time_delay") 187 #define NSCA_TIME_DELTA_DEFAULT _T("0") 186 188 187 189 #define C_SYSTEM_SVC_ALL_0 _T("check_all_services[SERVICE_BOOT_START]") -
modules/CheckEventLog/CheckEventLog.cpp
r04f2743 r1d53fe0 622 622 //GetOldestEventLogRecord(hLog, &dwThisRecord); 623 623 624 while (ReadEventLog(hLog, EVENTLOG_FORWARDS_READ|EVENTLOG_SEQUENTIAL_READ, 625 0, buffer.getBufferUnsafe(), buffer.getBufferSize(), &dwRead, &dwNeeded)) 626 { 624 while (true) { 625 BOOL bStatus = ReadEventLog(hLog, EVENTLOG_FORWARDS_READ|EVENTLOG_SEQUENTIAL_READ, 626 0, buffer.getBufferUnsafe(), buffer.getBufferSize(), &dwRead, &dwNeeded); 627 if (bStatus == FALSE) { 628 DWORD err = GetLastError(); 629 if (err == ERROR_INSUFFICIENT_BUFFER) { 630 NSC_LOG_ERROR_STD(_T("EvenlogBuffer is too small change the value of ") + EVENTLOG_BUFFER + _T("=") + strEx::itos(dwNeeded+1) + _T(" under [EventLog] in nsc.ini : ") + error::lookup::last_error(err)); 631 } else if (err == ERROR_HANDLE_EOF) { 632 break; 633 } else { 634 NSC_LOG_ERROR_STD(_T("Failed to read from eventlog: ") + error::lookup::last_error(err)); 635 message = _T("Failed to read from eventlog: ") + error::lookup::last_error(err); 636 CloseEventLog(hLog); 637 return NSCAPI::returnUNKNOWN; 638 } 639 } 627 640 EVENTLOGRECORD *pevlr = buffer.getBufferUnsafe(); 628 641 while (dwRead > 0) { … … 719 732 } 720 733 } 721 DWORD err = GetLastError();722 if (err == ERROR_INSUFFICIENT_BUFFER) {723 NSC_LOG_ERROR_STD(_T("EvenlogBuffer is too small (set the value of ") + EVENTLOG_BUFFER + _T("): ") + error::lookup::last_error(err));724 message = std::wstring(_T("EvenlogBuffer is too small (set the value of ")) + EVENTLOG_BUFFER + _T("): ") + error::lookup::last_error(err);725 return NSCAPI::returnUNKNOWN;726 } else if (err != ERROR_HANDLE_EOF) {727 NSC_LOG_ERROR_STD(_T("Failed to read from eventlog: ") + error::lookup::last_error(err));728 message = _T("Failed to read from eventlog: ") + error::lookup::last_error(err);729 return NSCAPI::returnUNKNOWN;730 }731 734 CloseEventLog(hLog); 732 735 for (uniq_eventlog_map::const_iterator cit = uniq_records.begin(); cit != uniq_records.end(); ++cit) { -
modules/CheckExternalScripts/CheckExternalScripts.cpp
r394f7a1 r1d53fe0 135 135 } 136 136 if (isAlias) { 137 return NSCModuleHelper::InjectSplitAndCommand(cd.command, cd.arguments, ' ', message, perf, true);137 return NSCModuleHelper::InjectSplitAndCommand(cd.command, args, ' ', message, perf, true); 138 138 } else { 139 139 int result = process::executeProcess(root_, cd.command + _T(" ") + args, message, perf, timeout); -
modules/CheckSystem/CheckSystem.cpp
r04f2743 r1d53fe0 73 73 NSCModuleHelper::registerCommand(_T("checkMem"), _T("Check free/used memory on the system.")); 74 74 NSCModuleHelper::registerCommand(_T("checkCounter"), _T("Check a PDH counter.")); 75 NSCModuleHelper::registerCommand(_T("listCounterInstances"), _T("List all instances for a counter.")); 76 75 77 } catch (NSCModuleHelper::NSCMHExcpetion &e) { 76 78 NSC_LOG_ERROR_STD(_T("Failed to register command: ") + e.msg_); … … 330 332 } else if (command == _T("checkCounter")) { 331 333 return checkCounter(argLen, char_args, msg, perf); 334 } else if (command == _T("listCounterInstances")) { 335 return listCounterInstances(argLen, char_args, msg, perf); 332 336 } 333 337 return NSCAPI::returnIgnored; … … 1065 1069 msg += strEx::itos(static_cast<float>(value)); 1066 1070 } else { 1071 std::wcout << _T("perf data: ") << bPerfData << std::endl; 1067 1072 counter.perfData = bPerfData; 1068 1073 counter.setDefault(tmpObject); … … 1088 1093 return returnCode; 1089 1094 } 1095 1096 1097 1098 /** 1099 * List all instances for a given counter. 1100 * 1101 * @param command Command to execute 1102 * @param argLen The length of the argument buffer 1103 * @param **char_args The argument buffer 1104 * @param &msg String to put message in 1105 * @param &perf String to put performance data in 1106 * @return The status of the command 1107 * 1108 * @todo add parsing support for NRPE 1109 */ 1110 NSCAPI::nagiosReturn CheckSystem::listCounterInstances(const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf) 1111 { 1112 typedef checkHolders::CheckContainer<checkHolders::MaxMinBoundsDouble> CounterContainer; 1113 1114 std::list<std::wstring> stl_args = arrayBuffer::arrayBuffer2list(argLen, char_args); 1115 if (stl_args.empty()) { 1116 msg = _T("ERROR: Missing argument exception."); 1117 return NSCAPI::returnUNKNOWN; 1118 } 1119 1120 std::wstring counter = arrayBuffer::arrayBuffer2string(char_args, argLen, _T(" ")); 1121 try { 1122 PDH::Enumerations::pdh_object_details obj = PDH::Enumerations::EnumObjectInstances(counter); 1123 for (PDH::Enumerations::pdh_object_details::list::const_iterator it = obj.instances.begin(); it!=obj.instances.end();++it) { 1124 if (!msg.empty()) 1125 msg += _T(", "); 1126 msg += (*it); 1127 } 1128 } catch (const PDH::PDHException e) { 1129 msg = _T("ERROR: Failed to enumerate counter instances: " + e.getError()); 1130 return NSCAPI::returnUNKNOWN; 1131 } catch (...) { 1132 msg = _T("ERROR: Failed to enumerate counter instances: <UNKNOWN EXCEPTION>"); 1133 return NSCAPI::returnUNKNOWN; 1134 } 1135 return NSCAPI::returnOK; 1136 } 1137 1138 1090 1139 NSC_WRAPPERS_MAIN_DEF(gCheckSystem); 1091 1140 NSC_WRAPPERS_IGNORE_MSG_DEF(); -
modules/CheckSystem/CheckSystem.h
r04f2743 r1d53fe0 80 80 NSCAPI::nagiosReturn checkProcState(const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf); 81 81 NSCAPI::nagiosReturn checkCounter(const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf); 82 NSCAPI::nagiosReturn listCounterInstances(const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf); 83 82 84 83 85 }; -
modules/NRPEListener/NRPEListener.cpp
r04f2743 r1d53fe0 89 89 if (buffer_length_ != 1024) 90 90 NSC_DEBUG_MSG_STD(_T("Non-standard buffer length (hope you have recompiled check_nrpe changing #define MAX_PACKETBUFFER_LENGTH = ") + strEx::itos(buffer_length_)); 91 NSC_DEBUG_MSG_STD(_T("Loading all commands (from NRPE)")); 91 92 std::list<std::wstring> commands = NSCModuleHelper::getSettingsSection(NRPE_HANDLER_SECTION_TITLE); 92 93 std::list<std::wstring>::const_iterator it; … … 118 119 allowedHosts.setAllowedHosts(strEx::splitEx(getAllowedHosts(), _T(",")), getCacheAllowedHosts()); 119 120 try { 121 NSC_DEBUG_MSG_STD(_T("Starting NRPE socket...")); 120 122 unsigned short port = NSCModuleHelper::getSettingsInt(NRPE_SECTION_TITLE, NRPE_SETTINGS_PORT, NRPE_SETTINGS_PORT_DEFAULT); 121 123 std::wstring host = NSCModuleHelper::getSettingsString(NRPE_SECTION_TITLE, NRPE_SETTINGS_BINDADDR, NRPE_SETTINGS_BINDADDR_DEFAULT); … … 140 142 return false; 141 143 #endif 144 } catch (...) { 145 NSC_LOG_ERROR_STD(_T("Exception caught: <UNKNOWN EXCEPTION>")); 146 return false; 142 147 } 143 148 root_ = NSCModuleHelper::getBasePath(); -
modules/NSCAAgent/NSCAThread.cpp
rbc97cd8 r1d53fe0 24 24 25 25 NSCAThread::NSCAThread() : hStopEvent_(NULL) { 26 std::wstring tmpstr = NSCModuleHelper::getSettingsString(NSCA_AGENT_SECTION_TITLE, NSCA_TIME_DELTA, NSCA_TIME_DELTA_DEFAULT); 27 if (tmpstr[0] == '-' && tmpstr.size() > 2) 28 timeDelta_ = - strEx::stoui_as_time(tmpstr.substr(1)); 29 if (tmpstr[0] == '+' && tmpstr.size() > 2) 30 timeDelta_ = strEx::stoui_as_time(tmpstr.substr(1)); 31 else 32 timeDelta_ = strEx::stoui_as_time(tmpstr); 33 NSC_DEBUG_MSG_STD(_T("Time difference for NSCA server is: ") + strEx::itos(timeDelta_)); 26 34 checkIntervall_ = NSCModuleHelper::getSettingsInt(NSCA_AGENT_SECTION_TITLE, NSCA_INTERVAL, NSCA_INTERVAL_DEFAULT); 27 35 hostname_ = NSCModuleHelper::getSettingsString(NSCA_AGENT_SECTION_TITLE, NSCA_HOSTNAME, NSCA_HOSTNAME_DEFAULT); … … 192 200 for (std::list<Command::Result>::const_iterator cit = results.begin(); cit != results.end(); ++cit) { 193 201 try { 194 socket.send((*cit).getBuffer(crypt_inst ));202 socket.send((*cit).getBuffer(crypt_inst, timeDelta_)); 195 203 } catch (NSCAPacket::NSCAException &e) { 196 204 NSC_LOG_ERROR_STD(_T("Failed to make command: ") + e.getMessage() ); -
modules/NSCAAgent/NSCAThread.h
r5aebda1 r1d53fe0 160 160 } 161 161 162 simpleSocket::DataBuffer getBuffer(nsca_encrypt &crypt_inst ) const {162 simpleSocket::DataBuffer getBuffer(nsca_encrypt &crypt_inst, __time32_t time_delta) const { 163 163 std::string s = strEx::wstring_to_string(service); 164 164 std::string r = strEx::wstring_to_string(result); … … 169 169 NSCAPacket::data_packet *data = reinterpret_cast<NSCAPacket::data_packet*>(buffer); 170 170 data->packet_version=static_cast<NSCAPacket::int16_t>(htons(NSCA_PACKET_VERSION_3)); 171 data->timestamp=static_cast<NSCAPacket::u_int32_t>(htonl(time ));171 data->timestamp=static_cast<NSCAPacket::u_int32_t>(htonl(time+time_delta)); 172 172 data->return_code = ntohs(code); 173 173 data->crc32_value=static_cast<NSCAPacket::u_int32_t>(0L); … … 230 230 std::string password_; 231 231 int encryption_method_; 232 long timeDelta_; 232 233 233 234 public: -
modules/NSClientListener/NSClientListener.cpp
ra34b229 r1d53fe0 36 36 #define REQ_MEMUSE 7 // Works fine! 37 37 #define REQ_COUNTER 8 // Works fine! 38 #define REQ_FILEAGE 9 // ... in the works ...39 //#define REQ_INSTANCES 10 // ! - not implemented Don't know how to use 38 #define REQ_FILEAGE 9 // Works fine! (i hope) 39 #define REQ_INSTANCES 10 // Works fine! (i hope) 40 40 41 41 BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) … … 219 219 args.push_back(_T("path=") + cmd.second); 220 220 break; 221 case REQ_INSTANCES: 222 cmd.first = _T("listCounterInstances"); 223 args.push_back(cmd.second); 224 break; 225 226 221 227 default: 222 228 split_to_list(args, cmd.second); -
modules/SysTray/SysTray.cpp
rbc97cd8 r1d53fe0 66 66 } 67 67 bool SysTray::unloadModule() { 68 if (systemInfo::isBelowXP(systemInfo::getOSVersion())) { 69 hide(); 68 if (NSCModuleHelper::getSettingsInt(MAIN_SECTION_TITLE, MAIN_SHARED_SESSION, MAIN_SHARED_SESSION_DEFAULT) == 1) { 69 NSC_LOG_ERROR(_T("You have enabled shared session, systray module will not un-load...")); 70 return true; 70 71 } 72 hide(); 71 73 return true; 72 74 } -
modules/SysTray/TrayIcon.cpp
r4bf9740 r1d53fe0 122 122 void IconWidget_::createDialog(void) { 123 123 hDlgWnd = ::CreateDialog(NSCModuleWrapper::getModule(),MAKEINTRESOURCE(IDD_NSTRAYDLG),NULL,TrayIcon::DialogProc); 124 if (hDlgWnd == NULL || !IsWindow(hDlgWnd)) { 125 NSC_LOG_ERROR_STD(_T("Failed to create windows: ") + error::lookup::last_error()); 126 } 124 127 125 128 UINT UDM_TASKBARCREATED = RegisterWindowMessage(_T("TaskbarCreated")); … … 136 139 { 137 140 if (Msg.message == WM_MY_CLOSE) { 141 TrayIcon::removeIcon(Msg.hwnd); 138 142 ::DestroyWindow(hDlgWnd); 139 143 // } else if (Msg.message == WM_QUERYENDSESSION) {
Note: See TracChangeset
for help on using the changeset viewer.








