X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=ossec-hids.git;a=blobdiff_plain;f=src%2Fclient-agent%2Fmain.c;fp=src%2Fclient-agent%2Fmain.c;h=cfb3661259832d87567ab01688fa39c9f7ff60d3;hp=bda8ced488adde484445fc6eaa1a6681fb2fc7bb;hb=789cbc8e52da68eba3517b920ef22e000cf3c9fd;hpb=ef70704f0b31b59bb719b884d6a99cb9e3e2044a diff --git a/src/client-agent/main.c b/src/client-agent/main.c index bda8ced..cfb3661 100755 --- a/src/client-agent/main.c +++ b/src/client-agent/main.c @@ -36,6 +36,7 @@ int main(int argc, char **argv) { int c = 0; int test_config = 0; + int debug_level = 0; char *dir = DEFAULTDIR; char *user = USER; @@ -44,12 +45,13 @@ int main(int argc, char **argv) int uid = 0; int gid = 0; + run_foreground = 0; /* Setting the name */ OS_SetName(ARGV0); - while((c = getopt(argc, argv, "Vtdhu:g:D:")) != -1){ + while((c = getopt(argc, argv, "Vtdfhu:g:D:")) != -1){ switch(c){ case 'V': print_version(); @@ -59,6 +61,10 @@ int main(int argc, char **argv) break; case 'd': nowDebug(); + debug_level = 1; + break; + case 'f': + run_foreground = 1; break; case 'u': if(!optarg) @@ -69,7 +75,7 @@ int main(int argc, char **argv) if(!optarg) ErrorExit("%s: -g needs an argument",ARGV0); group = optarg; - break; + break; case 't': test_config = 1; break; @@ -81,27 +87,58 @@ int main(int argc, char **argv) } } + debug1(STARTED_MSG, ARGV0); - logr = (agent *)calloc(1, sizeof(agent)); - if(!logr) + agt = (agent *)calloc(1, sizeof(agent)); + if(!agt) { ErrorExit(MEM_ERROR, ARGV0); } + /* Check current debug_level + * Command line setting takes precedence + */ + if (debug_level == 0) + { + /* Getting debug level */ + debug_level = getDefine_Int("agent","debug", 0, 2); + while(debug_level != 0) + { + nowDebug(); + debug_level--; + } + } + + /* Reading config */ if(ClientConf(DEFAULTCPATH) < 0) { ErrorExit(CLIENT_ERROR,ARGV0); } - if(!logr->rip) + if(!agt->rip) { merror(AG_INV_IP, ARGV0); ErrorExit(CLIENT_ERROR,ARGV0); } + if(agt->notify_time == 0) + { + agt->notify_time = NOTIFY_TIME; + } + if(agt->max_time_reconnect_try == 0 ) + { + agt->max_time_reconnect_try = NOTIFY_TIME * 3; + } + if(agt->max_time_reconnect_try <= agt->notify_time) + { + agt->max_time_reconnect_try = (agt->notify_time * 3); + verbose("%s: INFO: Max time to reconnect can't be less than notify_time(%d), using notify_time*3 (%d)",ARGV0,agt->notify_time,agt->max_time_reconnect_try); + } + verbose("%s: INFO: Using notify time: %d and max time to reconnect: %d",ARGV0,agt->notify_time,agt->max_time_reconnect_try); + /* Checking auth keys */ if(!OS_CheckKeys()) @@ -126,7 +163,7 @@ int main(int argc, char **argv) /* Starting the signal manipulation */ - StartSIG(ARGV0); + StartSIG(ARGV0); /* Agentd Start */