1 /* @(#) $Id: ./src/monitord/manage_files.c, 2011/09/08 dcid Exp $
4 /* Copyright (C) 2009 Trend Micro Inc.
7 * This program is a free software; you can redistribute it
8 * and/or modify it under the terms of the GNU General Public
9 * License (version 2) as published by the FSF - Free Software
17 char *(months[])={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug",
18 "Sep","Oct","Nov","Dec"};
21 /* OS_GetLogLocation: v0.1, 2005/04/25 */
22 void manage_files(int cday, int cmon, int cyear)
32 char elogfile[OS_FLSIZE +1];
33 char elogfile_old[OS_FLSIZE +1];
35 char alogfile[OS_FLSIZE +1];
36 char alogfile_old[OS_FLSIZE +1];
38 char flogfile[OS_FLSIZE +1];
39 char flogfile_old[OS_FLSIZE +1];
42 /* Getting time from the day before (for log signing) */
46 pp_old = localtime_r(&tm_old, &p_old);
48 pp_old = localtime(&tm_old);
52 memset(elogfile, '\0', OS_FLSIZE +1);
53 memset(elogfile_old, '\0', OS_FLSIZE +1);
54 memset(alogfile, '\0', OS_FLSIZE +1);
55 memset(alogfile_old, '\0', OS_FLSIZE +1);
56 memset(flogfile, '\0', OS_FLSIZE +1);
57 memset(flogfile_old, '\0', OS_FLSIZE +1);
60 /* When the day changes, we wait up to day_wait
61 * before compressing the file.
67 snprintf(elogfile, OS_FLSIZE, "%s/%d/%s/ossec-%s-%02d.log",
73 /* Event log file old */
74 snprintf(elogfile_old, OS_FLSIZE, "%s/%d/%s/ossec-%s-%02d.log",
77 months[pp_old->tm_mon],
81 OS_SignLog(elogfile, elogfile_old, 0);
82 OS_CompressLog(elogfile);
86 snprintf(alogfile, OS_FLSIZE, "%s/%d/%s/ossec-%s-%02d.log",
92 /* alert logfile old */
93 snprintf(alogfile_old, OS_FLSIZE, "%s/%d/%s/ossec-%s-%02d.log",
96 months[pp_old->tm_mon],
99 OS_SignLog(alogfile, alogfile_old, 1);
100 OS_CompressLog(alogfile);
103 /* firewall events */
104 snprintf(flogfile, OS_FLSIZE, "%s/%d/%s/ossec-%s-%02d.log",
110 /* firewall events old */
111 snprintf(flogfile_old, OS_FLSIZE, "%s/%d/%s/ossec-%s-%02d.log",
113 pp_old->tm_year+1900,
114 months[pp_old->tm_mon],
117 OS_SignLog(flogfile, flogfile_old, 0);
118 OS_CompressLog(flogfile);