X-Git-Url: http://ftp.carnet.hr/pub/carnet-debian/scm?a=blobdiff_plain;f=src%2Fwin32%2Fadd-localfile.c;h=8168af5913eed3d1273619d8b156d0664b8be11d;hb=HEAD;hp=f62342c668befec7c43b45a387f5631e0b74f44d;hpb=914feba5d54f979cd5d7e69c349c3d01f630042a;p=ossec-hids.git diff --git a/src/win32/add-localfile.c b/src/win32/add-localfile.c old mode 100755 new mode 100644 index f62342c..8168af5 --- a/src/win32/add-localfile.c +++ b/src/win32/add-localfile.c @@ -1,20 +1,18 @@ -/* @(#) $Id: add-localfile.c,v 1.13 2009/06/24 18:53:10 dcid Exp $ */ - /* Copyright (C) 2009 Trend Micro Inc. * All rights reserved. * * This program is a free software; you can redistribute it * and/or modify it under the terms of the GNU General Public - * License (version 3) as published by the FSF - Free Software + * License (version 2) as published by the FSF - Free Software * Foundation */ - #include #include #include #include #include + #include "os_regex/os_regex.h" #define OSSECCONF "ossec.conf" @@ -22,181 +20,129 @@ int total; + int fileexist(char *file) { FILE *fp; - /* Opening file */ + /* Open file */ fp = fopen(file, "r"); - if(!fp) - return(0); + if (!fp) { + return (0); + } fclose(fp); - return(1); + return (1); } int dogrep(char *file, char *str) { - char line[OS_MAXSTR +1]; + char line[OS_MAXSTR + 1]; FILE *fp; - /* Opening file */ + /* Open file */ fp = fopen(file, "r"); - if(!fp) - return(0); + if (!fp) { + return (0); + } - /* Clearing memory */ - memset(line, '\0', OS_MAXSTR +1); + /* Clear memory */ + memset(line, '\0', OS_MAXSTR + 1); - /* Reading file and looking for str */ - while(fgets(line, OS_MAXSTR, fp) != NULL) - { - if(OS_Match(str, line)) - { + /* Read file and look for str */ + while (fgets(line, OS_MAXSTR, fp) != NULL) { + if (OS_Match(str, line)) { fclose(fp); - return(1); + return (1); } } fclose(fp); - return(0); + return (0); } - - -/* Check is syscheck is present in the config */ +/* Check if syscheck is present in the config */ int config_file(char *name, char *file, int quiet) { - int add = 0; - char ffile[256]; FILE *fp; ffile[255] = '\0'; - - /* Checking if the file has a variable format */ - if(strchr(file, '%') != NULL) - { + /* Check if the file has a variable format */ + if (strchr(file, '%') != NULL) { time_t tm; struct tm *p; tm = time(NULL); p = localtime(&tm); - if(strftime(ffile, 255, file, p) == 0) - { - return(-1); + if (strftime(ffile, 255, file, p) == 0) { + return (-1); } - } - else - { + } else { strncpy(ffile, file, 255); } - - - /* Looking for ffile */ - if(!fileexist(ffile)) - { - if(quiet == 0) - { + + /* Look for ffile */ + if (!fileexist(ffile)) { + if (quiet == 0) { printf("%s: Log file not existent: '%s'.\n", name, file); } - return(-1); + return (-1); } - - if(dogrep(OSSECCONF, file)) - { - printf("%s: Log file already configured: '%s'.\n", - name, file); - return(0); + + if (dogrep(OSSECCONF, file)) { + printf("%s: Log file already configured: '%s'.\n", + name, file); + return (0); } - - - /* Add iis config config */ + + /* Add IIS config */ fp = fopen(OSSECCONF, "a"); - if(!fp) - { + if (!fp) { printf("%s: Unable to edit configuration file.\n", name); - return(0); - } - - printf("%s: Adding log file to be monitored: '%s'.\n", name,file); - printf("%s: Continue? (y/n):", name); - while(1) - { - char u_buffer[256]; - memset(u_buffer, '\0', 256); - if((fgets(u_buffer, 254, stdin) != NULL) && - (strlen(u_buffer) < 250)) - { - if((u_buffer[0] == 'y') || (u_buffer[0] == 'Y')) - { - add = 1; - break; - } - else if((u_buffer[0] == 'n') || (u_buffer[0] == 'N')) - { - add = 0; - break; - } - } - printf("%s: Continue? (y/n):", name); - } - - if(add == 0) - { - printf("%s: Action not taken.\n", name); - fclose(fp); - return(0); + return (0); } - - fprintf(fp, "\r\n" - "\r\n" - "\r\n" - "\r\n" - " \r\n" - " %s\r\n" - " syslog\r\n" - " \r\n" - "\r\n\r\n", file); + printf("%s: Adding log file to be monitored: '%s'.\n", name, file); + fprintf(fp, "\r\n" + "\r\n" + "\r\n" + "\r\n" + " \r\n" + " %s\r\n" + " syslog\r\n" + " \r\n" + "\r\n\r\n", file); printf("%s: Action completed.\n", name); fclose(fp); - return(0); - + return (0); } -/* Setup windows after install */ +/* Setup Windows after install */ int main(int argc, char **argv) { int quiet = 0; - - if(argc < 2) - { + + if (argc < 2) { printf("%s: Invalid syntax.\n", argv[0]); printf("Try: '%s '\n\n", argv[0]); } - /* Looking for the quiet option */ - if((argc == 3) && (strcmp(argv[2],"--quiet") == 0)) - { + /* Look for the quiet option */ + if ((argc == 3) && (strcmp(argv[2], "--quiet") == 0)) { quiet = 1; } - - /* Checking if ossec was installed already */ - if(!fileexist(OSSECCONF)) - { + /* Check if OSSEC-HIDS was installed already */ + if (!fileexist(OSSECCONF)) { printf("%s: Unable to find ossec config: '%s'.\n", argv[0], OSSECCONF); - } - - else - { + } else { config_file(argv[0], argv[1], quiet); } - - return(0); + + return (0); }