X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=ossec-hids.git;a=blobdiff_plain;f=src%2Flogcollector%2Fread_fullcommand.c;h=075060a8a274d529688e8834ca9f4ceef0a30773;hp=c79eb22771e027e9ab3dbd384fd243466ff51c90;hb=3f728675941dc69d4e544d3a880a56240a6e394a;hpb=927951d1c1ad45ba9e7325f07d996154a91c911b diff --git a/src/logcollector/read_fullcommand.c b/src/logcollector/read_fullcommand.c old mode 100755 new mode 100644 index c79eb22..075060a --- a/src/logcollector/read_fullcommand.c +++ b/src/logcollector/read_fullcommand.c @@ -1,6 +1,3 @@ -/* @(#) $Id: ./src/logcollector/read_fullcommand.c, 2011/09/08 dcid Exp $ - */ - /* Copyright (C) 2010 Trend Micro Inc. * All right reserved. * @@ -10,76 +7,62 @@ * Foundation */ -/* Read the syslog */ - - #include "shared.h" #include "logcollector.h" - /* Read Output of commands */ void *read_fullcommand(int pos, int *rc, int drop_it) { - int n = 0; - int cmd_size = 0; + size_t n = 0; + size_t cmd_size = 0; char *p; - char str[OS_MAXSTR+1]; - char strfinal[OS_MAXSTR+1]; - + char str[OS_MAXSTR + 1]; + char strfinal[OS_MAXSTR + 1]; FILE *cmd_output; - str[OS_MAXSTR]= '\0'; - strfinal[OS_MAXSTR]= '\0'; + str[OS_MAXSTR] = '\0'; + strfinal[OS_MAXSTR] = '\0'; *rc = 0; - debug2("%s: DEBUG: Running full command '%s'", ARGV0, logff[pos].command); - cmd_output = popen(logff[pos].command, "r"); - if(!cmd_output) - { + if (!cmd_output) { merror("%s: ERROR: Unable to execute command: '%s'.", ARGV0, logff[pos].command); logff[pos].command = NULL; + return (NULL); } - snprintf(str, 256, "ossec: output: '%s':\n", - (NULL != logff[pos].alias) - ? logff[pos].alias - : logff[pos].command); + (NULL != logff[pos].alias) + ? logff[pos].alias + : logff[pos].command); cmd_size = strlen(str); n = fread(str + cmd_size, 1, OS_MAXSTR - OS_LOG_HEADER - 256, cmd_output); - if(n > 0) - { - str[cmd_size +n] = '\0'; + if (n > 0) { + str[cmd_size + n] = '\0'; - /* Getting the last occurence of \n */ - if ((p = strrchr(str, '\n')) != NULL) - { + /* Get the last occurrence of \n */ + if ((p = strrchr(str, '\n')) != NULL) { *p = '\0'; } - debug2("%s: DEBUG: Reading command message: '%s'", ARGV0, str); - /* Removing empty lines. */ + /* Remove empty lines */ n = 0; p = str; - while(*p != '\0') - { - if(p[0] == '\r') - { + while (*p != '\0') { + if (p[0] == '\r') { p++; continue; } - if(p[0] == '\n' && p[1] == '\n') - { + if (p[0] == '\n' && p[1] == '\n') { p++; } strfinal[n] = *p; @@ -88,17 +71,13 @@ void *read_fullcommand(int pos, int *rc, int drop_it) } strfinal[n] = '\0'; - - /* Sending message to queue */ - if(drop_it == 0) - { - if(SendMSG(logr_queue,strfinal, + /* Send message to queue */ + if (drop_it == 0) { + if (SendMSG(logr_queue, strfinal, (NULL != logff[pos].alias) ? logff[pos].alias : logff[pos].command, - LOCALFILE_MQ) < 0) - { + LOCALFILE_MQ) < 0) { merror(QUEUE_SEND, ARGV0); - if((logr_queue = StartMQ(DEFAULTQPATH,WRITE)) < 0) - { + if ((logr_queue = StartMQ(DEFAULTQPATH, WRITE)) < 0) { ErrorExit(QUEUE_FATAL, ARGV0, DEFAULTQPATH); } } @@ -107,7 +86,6 @@ void *read_fullcommand(int pos, int *rc, int drop_it) pclose(cmd_output); - return(NULL); + return (NULL); } -/* EOF */