summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-08-18 20:06:59 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-08-18 20:06:59 +0000
commite90e90fb5fc32bd34c9e3efec4d89e9a9c4caa01 (patch)
tree15a2e5f17b32da049df41b6f77dde272e45a5e62 /src
parentb0b1e5513427852cf02098edf26c181371bc2c9b (diff)
downloadzabbix-e90e90fb5fc32bd34c9e3efec4d89e9a9c4caa01.tar.gz
zabbix-e90e90fb5fc32bd34c9e3efec4d89e9a9c4caa01.tar.xz
zabbix-e90e90fb5fc32bd34c9e3efec4d89e9a9c4caa01.zip
- fixed W32 agent crash in eventlog[]
git-svn-id: svn://svn.zabbix.com/trunk@1987 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rwxr-xr-xsrc/zabbix_agent_win32/Debug/ZabbixW32.exebin331849 -> 331849 bytes
-rwxr-xr-xsrc/zabbix_agent_win32/Release/ZabbixW32.exebin106496 -> 102400 bytes
-rwxr-xr-xsrc/zabbix_agent_win32/active.cpp54
-rwxr-xr-xsrc/zabbix_agent_win32/eventlog.cpp98
-rw-r--r--src/zabbix_agent_win32/main.cpp2
5 files changed, 90 insertions, 64 deletions
diff --git a/src/zabbix_agent_win32/Debug/ZabbixW32.exe b/src/zabbix_agent_win32/Debug/ZabbixW32.exe
index 8e78f239..2c9cfcde 100755
--- a/src/zabbix_agent_win32/Debug/ZabbixW32.exe
+++ b/src/zabbix_agent_win32/Debug/ZabbixW32.exe
Binary files differ
diff --git a/src/zabbix_agent_win32/Release/ZabbixW32.exe b/src/zabbix_agent_win32/Release/ZabbixW32.exe
index 40327380..53b1bde6 100755
--- a/src/zabbix_agent_win32/Release/ZabbixW32.exe
+++ b/src/zabbix_agent_win32/Release/ZabbixW32.exe
Binary files differ
diff --git a/src/zabbix_agent_win32/active.cpp b/src/zabbix_agent_win32/active.cpp
index f2a62ad8..064d4f63 100755
--- a/src/zabbix_agent_win32/active.cpp
+++ b/src/zabbix_agent_win32/active.cpp
@@ -93,14 +93,14 @@ void disable_all_metrics()
{
int i;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","disable_all_metrics: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","disable_all_metrics: start");
for(i=0;;i++)
{
if(metrics[i].key == NULL) break;
metrics[i].status = ITEM_STATUS_NOTSUPPORTED;
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","disable_all_metrics: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","disable_all_metrics: end");
}
int get_min_nextcheck()
@@ -109,7 +109,7 @@ int get_min_nextcheck()
int min=-1;
int nodata=0;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_min_nextcheck: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_min_nextcheck: start");
for(i=0;;i++)
{
@@ -125,10 +125,10 @@ int get_min_nextcheck()
if(nodata==0)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_min_nextcheck: end: FAIL");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_min_nextcheck: end: FAIL");
return FAIL;
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_min_nextcheck: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_min_nextcheck: end");
return min;
}
@@ -137,7 +137,7 @@ void add_check(char *key, int refresh, int lastlogsize)
{
int i;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","add_check: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","add_check: start");
for(i=0;;i++)
{
@@ -165,7 +165,7 @@ void add_check(char *key, int refresh, int lastlogsize)
break;
}
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","add_check: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","add_check: end");
}
// Return position of Nth delimiter from right size, 0 - otherwise
@@ -174,14 +174,14 @@ int strnrchr(char *str, int num, char delim)
int i=0;
int n=0;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","strnrchr: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","strnrchr: start");
for(i=strlen(str)-1;i>=0;i--)
{
if(str[i]==delim) n++;
if(n==num) break;
}
if(i==-1) i=0;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","strnrchr: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","strnrchr: end");
return i;
}
@@ -198,7 +198,7 @@ int parse_list_of_checks(char *str)
char *str_copy;
int p1,p2;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","parse_list_of_checks: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","parse_list_of_checks: start");
disable_all_metrics();
str_copy=str;
@@ -243,7 +243,7 @@ int parse_list_of_checks(char *str)
pos=strchr(str_copy,'\n');
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","parse_list_of_checks: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","parse_list_of_checks: end");
return SUCCEED;
}
@@ -259,7 +259,7 @@ int get_active_checks(char *server, int port, char *error, int max_error_len)
struct sockaddr_in servaddr_in;
// zabbix_log( LOG_LEVEL_DEBUG, "get_active_checks: host[%s] port[%d]", server, port);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_active_checks: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_active_checks: start");
servaddr_in.sin_family=AF_INET;
hp=gethostbyname(server);
@@ -404,7 +404,7 @@ int get_active_checks(char *server, int port, char *error, int max_error_len)
// zabbix_log(LOG_LEVEL_WARNING, "Problem with close [%s]", strerror(errno));
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_active_checks: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","get_active_checks: end");
return SUCCEED;
}
@@ -421,7 +421,7 @@ int send_value(char *server,int port,char *host, char *key,char *value,char *las
struct sockaddr_in servaddr_in;
// zabbix_log( LOG_LEVEL_DEBUG, "In send_value()");
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","send_value: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","send_value: start");
servaddr_in.sin_family=AF_INET;
hp=gethostbyname(server);
@@ -510,7 +510,7 @@ sprintf(tmp,"Error in recvfrom()");
// zabbix_log( LOG_LEVEL_WARNING, "Error in close() [%s] [%s]",server, strerror(errno));
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","send_value: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","send_value: end");
return SUCCEED;
}
@@ -533,7 +533,7 @@ int process_active_checks(char *server, int port)
char c[MAX_STRING_LEN];
char *filename;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: start");
now=time(NULL);
for(i=0;;i++)
@@ -580,12 +580,12 @@ int process_active_checks(char *server, int port)
/* Special processing for log files */
else if(strncmp(metrics[i].key,"eventlog[",9) == 0)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 1");
strscpy(c,metrics[i].key);
filename=strtok(c,"[]");
filename=strtok(NULL,"[]");
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 2");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 2");
count=0;
while(process_eventlog_new(filename,&metrics[i].lastlogsize, timestamp, source, severity, value) == 0)
@@ -596,7 +596,7 @@ int process_active_checks(char *server, int port)
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","In loop()");
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s",value);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 3");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 3");
sprintf(lastlogsize,"%d",metrics[i].lastlogsize);
if(send_value(server,port,confHostname,metrics[i].key,value,lastlogsize,timestamp,source,severity) == FAIL)
{
@@ -613,7 +613,7 @@ int process_active_checks(char *server, int port)
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","End of loop()");
/* Do not flood ZABBIX server if file grows too fast */
if(count >= MAX_LINES_PER_SECOND*metrics[i].refresh) break;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 4");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: 4");
}
}
else
@@ -654,13 +654,13 @@ int process_active_checks(char *server, int port)
metrics[i].nextcheck=time(NULL)+metrics[i].refresh;
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_active_checks: end");
return ret;
}
void refresh_metrics(char *server, int port, char *error, int max_error_len)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","refresh_metrics: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","refresh_metrics: start");
// zabbix_log( LOG_LEVEL_DEBUG, "In refresh_metrics()");
while(get_active_checks(server, port, error, sizeof(error)) != SUCCEED)
{
@@ -670,7 +670,7 @@ void refresh_metrics(char *server, int port, char *error, int max_error_len)
#endif
Sleep(60*1000);
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","refresh_metrics: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","refresh_metrics: end");
}
void ActiveChecksThread(void *)
@@ -684,7 +684,7 @@ void ActiveChecksThread(void *)
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"d",confServerPort);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: start");
init_list();
refresh_metrics(confServer, confServerPort, error, sizeof(error));
@@ -692,7 +692,7 @@ void ActiveChecksThread(void *)
for(;;)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: loop 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: loop 1");
if(process_active_checks(confServer, confServerPort) == FAIL)
{
Sleep(60*1000);
@@ -732,7 +732,7 @@ void ActiveChecksThread(void *)
refresh_metrics(confServer, confServerPort, error, sizeof(error));
nextrefresh=time(NULL)+300;
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: loop 2");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: loop 2");
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","ActiveChecksThread: end");
}
diff --git a/src/zabbix_agent_win32/eventlog.cpp b/src/zabbix_agent_win32/eventlog.cpp
index 367e0c54..eda98fed 100755
--- a/src/zabbix_agent_win32/eventlog.cpp
+++ b/src/zabbix_agent_win32/eventlog.cpp
@@ -1,7 +1,7 @@
#include "zabbixw32.h"
#define DllExport __declspec( dllexport )
-#define MAX_INSERT_STRS 8
+#define MAX_INSERT_STRS 64
#define MAX_MSG_LENGTH 1024
DllExport long MyOpenEventLog(char *pAppName,HANDLE
@@ -21,31 +21,40 @@ int process_eventlog_new(char *source,int *lastlogsize, char *timestamp, char *s
double time;
DWORD t,type;
WORD category;
+
+ char tmp[1024];
+
+// sprintf(tmp,"process_ebent_log_new([%s],[%d],[%s],[%s],[%s])", source,*lastlogsize, timestamp, src,message);
// open up event log
// if (!MyOpenEventLog("Application",&hAppLog,&nRecords,&Latest))
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s",tmp);
if (!MyOpenEventLog(source,&hAppLog,&nRecords,&Latest))
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 1");
// for (i = nRecords + 1;--i;++Latest)
for (i = 0; i<nRecords;i++)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: for 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: for 1");
// if (Latest > nRecords) // need totreat as circular que
// Latest = 1;
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","i");
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"d",i);
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: for 1.1");
+ sprintf(tmp,"[%d],[%d],[%d]", i, nRecords, *lastlogsize);
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s",tmp);
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: for 1.2");
if(*lastlogsize <= i)
{
// MyGetAEventLog("Application",hAppLog,Latest,&time,src,msg,&type,&category);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 2");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 2");
if(0 == MyGetAEventLog(source,hAppLog,Latest,&time,src,message,&type,&category,&t))
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 3");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 3");
sprintf(timestamp,"%ld",t);
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","YO");
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"d",type);
@@ -60,21 +69,21 @@ int process_eventlog_new(char *source,int *lastlogsize, char *timestamp, char *s
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"d",Latest);
// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s",severity);
*lastlogsize = Latest;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 4");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 4");
MyCloseEventLog(hAppLog);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 5");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 5");
return 0;
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 6");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: if 6");
}
Latest++;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: for 8");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: for 8");
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: 6");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: 6");
MyCloseEventLog(hAppLog);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: 7");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: 7");
}
-WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: end");
+//WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","process_eventlog_new: end");
return 1;
}
@@ -85,19 +94,19 @@ DllExport long MyOpenEventLog(char *pAppName,HANDLE
HANDLE hAppLog; /* handle to the
application log */
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyOpenEventLog: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyOpenEventLog: start");
*pEventHandle = 0;
*pNumRecords = 0;
hAppLog = OpenEventLog(NULL,pAppName); // open log file
if (!hAppLog)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyOpenEventLog: 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyOpenEventLog: 1");
return(GetLastError());
}
GetNumberOfEventLogRecords(hAppLog,(unsigned long*)pNumRecords);// get number of records
GetOldestEventLogRecord(hAppLog,(unsigned long*)pLatestRecord);
*pEventHandle = hAppLog;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyOpenEventLog: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyOpenEventLog: end");
return(0);
}
@@ -105,10 +114,10 @@ application log */
// close event logger
DllExport long MyCloseEventLog(HANDLE hAppLog)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyCloseEventLog: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyCloseEventLog: start");
if (hAppLog)
CloseEventLog(hAppLog);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyCloseEventLog: end");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyCloseEventLog: end");
return(0);
}
@@ -116,13 +125,13 @@ DllExport long MyCloseEventLog(HANDLE hAppLog)
// clear event log
DllExport long MyClearEventLog(HANDLE hAppLog)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyClearEventLog: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyClearEventLog: start");
if (!(ClearEventLog(hAppLog,0)))
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyClearEventLog: end1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyClearEventLog: end1");
return(GetLastError());
}
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyClearEventLog: end2");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyClearEventLog: end2");
return(0);
}
@@ -150,10 +159,10 @@ messagetable DLL */
LPTSTR msgBuf; // hold text of the error message that we
long err;
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: start");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: start");
if (!hAppLog)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 1");
return(0);
}
bSuccess = ReadEventLog(hAppLog, /* event-log handle */
@@ -169,7 +178,7 @@ read */
record */
if (!bSuccess)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 2");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 2");
return(GetLastError());
}
pELR = (EVENTLOGRECORD*)bBuffer; // point to data
@@ -182,7 +191,7 @@ record */
strcat(temp,((char*)pELR + sizeof(EVENTLOGRECORD)));
if (RegOpenKey(HKEY_LOCAL_MACHINE, temp, &hk))
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 3");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 3");
return(GetLastError());
}
Data = MAX_PATH;
@@ -199,7 +208,7 @@ value data */
&Data)) /* length of value
data */
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 4");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 4");
return(GetLastError());
}
pFile = temp;
@@ -207,23 +216,35 @@ data */
for (;;)
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 1");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s",pFile);
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 1.1");
+
+
if ((pNextFile = strchr(pFile,';')))
+ {
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 1.2");
*pNextFile = 0;
+ }
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 1.3");
+
+
if (!ExpandEnvironmentStrings(pFile, MsgDll, MAX_PATH))
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 2");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 2");
return(GetLastError());
}
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 2.1");
if (!(hLib = LoadLibraryEx(MsgDll, NULL, LOAD_LIBRARY_AS_DATAFILE)))
{
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 3");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 3");
return(1);
}
/* prepare the array of insert strings for FormatMessage - the
insert strings are in the log entry. */
pCh = (char *)((LPBYTE)pELR + pELR->StringOffset);
+
for (i = 0; i < pELR->NumStrings && i < MAX_INSERT_STRS; i++)
{
aInsertStrs[i] = pCh;
@@ -231,6 +252,7 @@ data */
next string */
}
+
/* Format the message from the message DLL with the insert strings */
if (FormatMessage(
FORMAT_MESSAGE_FROM_HMODULE | /* get the
@@ -239,8 +261,10 @@ message from the DLL */
the msg buffer for us */
FORMAT_MESSAGE_ARGUMENT_ARRAY | /* lpArgs is
an array of pointers */
- 60, /* line length
+ //60,
+ /* line length
for the mesages */
+ FORMAT_MESSAGE_FROM_SYSTEM,
hLib, /* the
messagetable DLL handle */
pELR->EventID, /* message ID */
@@ -251,13 +275,16 @@ pointer to buffer for message */
size of the message buffer */
aInsertStrs)) /* array of
insert strings for the message */
+ {
break;
+ }
+
FreeLibrary(hLib);
- if (!pNextFile) // more files to read ?
+
+ if (!pNextFile) // more files to read ?
{
RegCloseKey(hk);
i = GetLastError();
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: for 4");
return(i);
}
pFile = ++pNextFile;
@@ -274,18 +301,17 @@ insert strings for the message */
/* Free the buffer that FormatMessage allocated for us. */
-WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 10");
LocalFree((HLOCAL) msgBuf);
/* free the message DLL since we don't know if we'll need it again */
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 11");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 11");
FreeLibrary(hLib);
- WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 12");
+// WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: 12");
RegCloseKey(hk);
//WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","Y");
//WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"d",*pType);
-WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: end");
+//WriteLog(MSG_ACTIVE_CHECKS,EVENTLOG_ERROR_TYPE,"s","MyGetAEventLog: end");
return(0);
} \ No newline at end of file
diff --git a/src/zabbix_agent_win32/main.cpp b/src/zabbix_agent_win32/main.cpp
index 9e84b339..880d9f57 100644
--- a/src/zabbix_agent_win32/main.cpp
+++ b/src/zabbix_agent_win32/main.cpp
@@ -42,7 +42,7 @@ WORD confServerPort=10051;
DWORD confServerAddr[MAX_SERVERS];
DWORD confServerCount=0;
DWORD confTimeout=3000; // 3 seconds default timeout
-DWORD confMaxProcTime=100; // 100 milliseconds is default acceptable collector sample processing time
+DWORD confMaxProcTime=1000; // 1000 milliseconds is default acceptable collector sample processing time
DWORD g_dwLogLevel = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE;
SUBAGENT *subagentList; // List of loaded subagents