import logrotate-3.14.0-3.el8
This commit is contained in:
commit
c378e06a27
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/logrotate-3.14.0.tar.xz
|
1
.logrotate.metadata
Normal file
1
.logrotate.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
10416a3aaea4fbf6c1a01858f2fb994e132c4127 SOURCES/logrotate-3.14.0.tar.xz
|
34
SOURCES/0001-logrotate-3.14.0-man-version.patch
Normal file
34
SOURCES/0001-logrotate-3.14.0-man-version.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From b0d067cfba64956893fc095bb37f8c767f5a910e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Mon, 6 Aug 2018 17:13:31 +0200
|
||||||
|
Subject: [PATCH] logrotate.8: document the --version option
|
||||||
|
|
||||||
|
The man page now covers all the options that are listed
|
||||||
|
by `logrotate --help`.
|
||||||
|
|
||||||
|
Bug: https://bugzilla.redhat.com/1611498
|
||||||
|
|
||||||
|
Upstream-commit: 4088ef987df2ec48cc3d968eb87ad27c840fa2d8
|
||||||
|
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
---
|
||||||
|
logrotate.8.in | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/logrotate.8.in b/logrotate.8.in
|
||||||
|
index 004229e..5ef09c5 100644
|
||||||
|
--- a/logrotate.8.in
|
||||||
|
+++ b/logrotate.8.in
|
||||||
|
@@ -87,6 +87,10 @@ Prints a short usage message.
|
||||||
|
\fB\-v\fR, \fB\-\-verbose\fR
|
||||||
|
Turns on verbose mode, for example to display messages during rotation.
|
||||||
|
|
||||||
|
+.TP
|
||||||
|
+\fB\-\-version\fR
|
||||||
|
+Display version information.
|
||||||
|
+
|
||||||
|
.SH CONFIGURATION FILE
|
||||||
|
|
||||||
|
\fBlogrotate\fR reads everything about the log files it should be handling
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
630
SOURCES/0002-logrotate-3.14.0-coverity.patch
Normal file
630
SOURCES/0002-logrotate-3.14.0-coverity.patch
Normal file
@ -0,0 +1,630 @@
|
|||||||
|
From a4ac21e9a8cfe8a73471a195308a742e07d7fe8d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Wed, 1 Aug 2018 15:32:38 +0200
|
||||||
|
Subject: [PATCH 1/3] readConfigFile: assign and check 'key' separately
|
||||||
|
|
||||||
|
... to make the code readable. No changes in behavior intended
|
||||||
|
by this commit.
|
||||||
|
---
|
||||||
|
config.c | 312 +++++++++++++++++++++++++++----------------------------
|
||||||
|
1 file changed, 152 insertions(+), 160 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config.c b/config.c
|
||||||
|
index 84db36f..d2fba10 100644
|
||||||
|
--- a/config.c
|
||||||
|
+++ b/config.c
|
||||||
|
@@ -1037,7 +1037,8 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isalpha((unsigned char)*start)) {
|
||||||
|
- if ((key = isolateWord(&start, &buf, length)) == NULL)
|
||||||
|
+ key = isolateWord(&start, &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
continue;
|
||||||
|
if (!strcmp(key, "compress")) {
|
||||||
|
newlog->flags |= LOG_FLAG_COMPRESS;
|
||||||
|
@@ -1191,16 +1192,16 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
}
|
||||||
|
} else if (!strcmp(key, "shredcycles")) {
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue(configFile, lineNum, "shred cycles",
|
||||||
|
- &start, &buf, length)) != NULL) {
|
||||||
|
- newlog->shred_cycles = strtoul(key, &chptr, 0);
|
||||||
|
- if (*chptr || newlog->shred_cycles < 0) {
|
||||||
|
- message(MESS_ERROR, "%s:%d bad shred cycles '%s'\n",
|
||||||
|
- configFile, lineNum, key);
|
||||||
|
- goto error;
|
||||||
|
- }
|
||||||
|
+ key = isolateValue(configFile, lineNum, "shred cycles",
|
||||||
|
+ &start, &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ newlog->shred_cycles = strtoul(key, &chptr, 0);
|
||||||
|
+ if (*chptr || newlog->shred_cycles < 0) {
|
||||||
|
+ message(MESS_ERROR, "%s:%d bad shred cycles '%s'\n",
|
||||||
|
+ configFile, lineNum, key);
|
||||||
|
+ goto error;
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "hourly")) {
|
||||||
|
newlog->criterium = ROT_HOURLY;
|
||||||
|
} else if (!strcmp(key, "daily")) {
|
||||||
|
@@ -1232,59 +1233,53 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
newlog->criterium = ROT_YEARLY;
|
||||||
|
} else if (!strcmp(key, "rotate")) {
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue
|
||||||
|
- (configFile, lineNum, "rotate count", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
-
|
||||||
|
- newlog->rotateCount = strtoul(key, &chptr, 0);
|
||||||
|
- if (*chptr || newlog->rotateCount < 0) {
|
||||||
|
- message(MESS_ERROR,
|
||||||
|
- "%s:%d bad rotation count '%s'\n",
|
||||||
|
- configFile, lineNum, key);
|
||||||
|
- RAISE_ERROR();
|
||||||
|
- }
|
||||||
|
+ key = isolateValue(configFile, lineNum, "rotate count", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ newlog->rotateCount = strtoul(key, &chptr, 0);
|
||||||
|
+ if (*chptr || newlog->rotateCount < 0) {
|
||||||
|
+ message(MESS_ERROR,
|
||||||
|
+ "%s:%d bad rotation count '%s'\n",
|
||||||
|
+ configFile, lineNum, key);
|
||||||
|
+ RAISE_ERROR();
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "start")) {
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue
|
||||||
|
- (configFile, lineNum, "start count", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
-
|
||||||
|
- newlog->logStart = strtoul(key, &chptr, 0);
|
||||||
|
- if (*chptr || newlog->logStart < 0) {
|
||||||
|
- message(MESS_ERROR, "%s:%d bad start count '%s'\n",
|
||||||
|
- configFile, lineNum, key);
|
||||||
|
- RAISE_ERROR();
|
||||||
|
- }
|
||||||
|
+ key = isolateValue(configFile, lineNum, "start count", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ newlog->logStart = strtoul(key, &chptr, 0);
|
||||||
|
+ if (*chptr || newlog->logStart < 0) {
|
||||||
|
+ message(MESS_ERROR, "%s:%d bad start count '%s'\n",
|
||||||
|
+ configFile, lineNum, key);
|
||||||
|
+ RAISE_ERROR();
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "minage")) {
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue
|
||||||
|
- (configFile, lineNum, "minage count", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
- newlog->rotateMinAge = strtoul(key, &chptr, 0);
|
||||||
|
- if (*chptr || newlog->rotateMinAge < 0) {
|
||||||
|
- message(MESS_ERROR, "%s:%d bad minimum age '%s'\n",
|
||||||
|
- configFile, lineNum, start);
|
||||||
|
- RAISE_ERROR();
|
||||||
|
- }
|
||||||
|
+ key = isolateValue(configFile, lineNum, "minage count", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ newlog->rotateMinAge = strtoul(key, &chptr, 0);
|
||||||
|
+ if (*chptr || newlog->rotateMinAge < 0) {
|
||||||
|
+ message(MESS_ERROR, "%s:%d bad minimum age '%s'\n",
|
||||||
|
+ configFile, lineNum, start);
|
||||||
|
+ RAISE_ERROR();
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "maxage")) {
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue
|
||||||
|
- (configFile, lineNum, "maxage count", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
- newlog->rotateAge = strtoul(key, &chptr, 0);
|
||||||
|
- if (*chptr || newlog->rotateAge < 0) {
|
||||||
|
- message(MESS_ERROR, "%s:%d bad maximum age '%s'\n",
|
||||||
|
- configFile, lineNum, start);
|
||||||
|
- RAISE_ERROR();
|
||||||
|
- }
|
||||||
|
+ key = isolateValue(configFile, lineNum, "maxage count", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ newlog->rotateAge = strtoul(key, &chptr, 0);
|
||||||
|
+ if (*chptr || newlog->rotateAge < 0) {
|
||||||
|
+ message(MESS_ERROR, "%s:%d bad maximum age '%s'\n",
|
||||||
|
+ configFile, lineNum, start);
|
||||||
|
+ RAISE_ERROR();
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "errors")) {
|
||||||
|
message(MESS_DEBUG,
|
||||||
|
"%s: %d: the errors directive is deprecated and no longer used.\n",
|
||||||
|
@@ -1337,48 +1332,48 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue(configFile, lineNum, "tabooext", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
- endtag = key;
|
||||||
|
- if (*endtag == '+') {
|
||||||
|
+ key = isolateValue(configFile, lineNum, "tabooext", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ endtag = key;
|
||||||
|
+ if (*endtag == '+') {
|
||||||
|
+ endtag++;
|
||||||
|
+ while (isspace((unsigned char)*endtag) && *endtag)
|
||||||
|
endtag++;
|
||||||
|
- while (isspace((unsigned char)*endtag) && *endtag)
|
||||||
|
- endtag++;
|
||||||
|
- } else {
|
||||||
|
- free_2d_array(tabooPatterns, tabooCount);
|
||||||
|
- tabooCount = 0;
|
||||||
|
- /* realloc of NULL is safe by definition */
|
||||||
|
- tabooPatterns = NULL;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- while (*endtag) {
|
||||||
|
- int bytes;
|
||||||
|
- char *pattern = NULL;
|
||||||
|
+ } else {
|
||||||
|
+ free_2d_array(tabooPatterns, tabooCount);
|
||||||
|
+ tabooCount = 0;
|
||||||
|
+ /* realloc of NULL is safe by definition */
|
||||||
|
+ tabooPatterns = NULL;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- chptr = endtag;
|
||||||
|
- while (!isspace((unsigned char)*chptr) && *chptr != ',' && *chptr)
|
||||||
|
- chptr++;
|
||||||
|
+ while (*endtag) {
|
||||||
|
+ int bytes;
|
||||||
|
+ char *pattern = NULL;
|
||||||
|
|
||||||
|
- /* accept only non-empty patterns to avoid exclusion of everything */
|
||||||
|
- if (endtag < chptr) {
|
||||||
|
- tabooPatterns = realloc(tabooPatterns, sizeof(*tabooPatterns) *
|
||||||
|
- (tabooCount + 1));
|
||||||
|
- bytes = asprintf(&pattern, "*%.*s", (int)(chptr - endtag), endtag);
|
||||||
|
+ chptr = endtag;
|
||||||
|
+ while (!isspace((unsigned char)*chptr) && *chptr != ',' && *chptr)
|
||||||
|
+ chptr++;
|
||||||
|
|
||||||
|
- /* should test for malloc() failure */
|
||||||
|
- assert(bytes != -1);
|
||||||
|
- tabooPatterns[tabooCount] = pattern;
|
||||||
|
- tabooCount++;
|
||||||
|
- }
|
||||||
|
+ /* accept only non-empty patterns to avoid exclusion of everything */
|
||||||
|
+ if (endtag < chptr) {
|
||||||
|
+ tabooPatterns = realloc(tabooPatterns, sizeof(*tabooPatterns) *
|
||||||
|
+ (tabooCount + 1));
|
||||||
|
+ bytes = asprintf(&pattern, "*%.*s", (int)(chptr - endtag), endtag);
|
||||||
|
|
||||||
|
- endtag = chptr;
|
||||||
|
- if (*endtag == ',')
|
||||||
|
- endtag++;
|
||||||
|
- while (*endtag && isspace((unsigned char)*endtag))
|
||||||
|
- endtag++;
|
||||||
|
+ /* should test for malloc() failure */
|
||||||
|
+ assert(bytes != -1);
|
||||||
|
+ tabooPatterns[tabooCount] = pattern;
|
||||||
|
+ tabooCount++;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ endtag = chptr;
|
||||||
|
+ if (*endtag == ',')
|
||||||
|
+ endtag++;
|
||||||
|
+ while (*endtag && isspace((unsigned char)*endtag))
|
||||||
|
+ endtag++;
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "taboopat")) {
|
||||||
|
if (newlog != defConfig) {
|
||||||
|
message(MESS_ERROR,
|
||||||
|
@@ -1389,68 +1384,68 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue(configFile, lineNum, "taboopat", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
- endtag = key;
|
||||||
|
- if (*endtag == '+') {
|
||||||
|
+ key = isolateValue(configFile, lineNum, "taboopat", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ endtag = key;
|
||||||
|
+ if (*endtag == '+') {
|
||||||
|
+ endtag++;
|
||||||
|
+ while (isspace((unsigned char)*endtag) && *endtag)
|
||||||
|
endtag++;
|
||||||
|
- while (isspace((unsigned char)*endtag) && *endtag)
|
||||||
|
- endtag++;
|
||||||
|
- } else {
|
||||||
|
- free_2d_array(tabooPatterns, tabooCount);
|
||||||
|
- tabooCount = 0;
|
||||||
|
- /* realloc of NULL is safe by definition */
|
||||||
|
- tabooPatterns = NULL;
|
||||||
|
- }
|
||||||
|
+ } else {
|
||||||
|
+ free_2d_array(tabooPatterns, tabooCount);
|
||||||
|
+ tabooCount = 0;
|
||||||
|
+ /* realloc of NULL is safe by definition */
|
||||||
|
+ tabooPatterns = NULL;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- while (*endtag) {
|
||||||
|
- int bytes;
|
||||||
|
- char *pattern = NULL;
|
||||||
|
+ while (*endtag) {
|
||||||
|
+ int bytes;
|
||||||
|
+ char *pattern = NULL;
|
||||||
|
|
||||||
|
- chptr = endtag;
|
||||||
|
- while (!isspace((unsigned char)*chptr) && *chptr != ',' && *chptr)
|
||||||
|
- chptr++;
|
||||||
|
+ chptr = endtag;
|
||||||
|
+ while (!isspace((unsigned char)*chptr) && *chptr != ',' && *chptr)
|
||||||
|
+ chptr++;
|
||||||
|
|
||||||
|
- tabooPatterns = realloc(tabooPatterns, sizeof(*tabooPatterns) *
|
||||||
|
- (tabooCount + 1));
|
||||||
|
- bytes = asprintf(&pattern, "%.*s", (int)(chptr - endtag), endtag);
|
||||||
|
+ tabooPatterns = realloc(tabooPatterns, sizeof(*tabooPatterns) *
|
||||||
|
+ (tabooCount + 1));
|
||||||
|
+ bytes = asprintf(&pattern, "%.*s", (int)(chptr - endtag), endtag);
|
||||||
|
|
||||||
|
- /* should test for malloc() failure */
|
||||||
|
- assert(bytes != -1);
|
||||||
|
- tabooPatterns[tabooCount] = pattern;
|
||||||
|
- tabooCount++;
|
||||||
|
+ /* should test for malloc() failure */
|
||||||
|
+ assert(bytes != -1);
|
||||||
|
+ tabooPatterns[tabooCount] = pattern;
|
||||||
|
+ tabooCount++;
|
||||||
|
|
||||||
|
- endtag = chptr;
|
||||||
|
- if (*endtag == ',')
|
||||||
|
- endtag++;
|
||||||
|
- while (*endtag && isspace((unsigned char)*endtag))
|
||||||
|
- endtag++;
|
||||||
|
- }
|
||||||
|
+ endtag = chptr;
|
||||||
|
+ if (*endtag == ',')
|
||||||
|
+ endtag++;
|
||||||
|
+ while (*endtag && isspace((unsigned char)*endtag))
|
||||||
|
+ endtag++;
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "include")) {
|
||||||
|
free(key);
|
||||||
|
- if ((key = isolateValue(configFile, lineNum, "include", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
-
|
||||||
|
- message(MESS_DEBUG, "including %s\n", key);
|
||||||
|
- if (recursion_depth >= MAX_NESTING) {
|
||||||
|
- message(MESS_ERROR, "%s:%d include nesting too deep\n",
|
||||||
|
- configFile, lineNum);
|
||||||
|
- logerror = 1;
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
+ key = isolateValue(configFile, lineNum, "include", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ message(MESS_DEBUG, "including %s\n", key);
|
||||||
|
+ if (recursion_depth >= MAX_NESTING) {
|
||||||
|
+ message(MESS_ERROR, "%s:%d include nesting too deep\n",
|
||||||
|
+ configFile, lineNum);
|
||||||
|
+ logerror = 1;
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- ++recursion_depth;
|
||||||
|
- rv = readConfigPath(key, newlog);
|
||||||
|
- --recursion_depth;
|
||||||
|
+ ++recursion_depth;
|
||||||
|
+ rv = readConfigPath(key, newlog);
|
||||||
|
+ --recursion_depth;
|
||||||
|
|
||||||
|
- if (rv) {
|
||||||
|
- logerror = 1;
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
+ if (rv) {
|
||||||
|
+ logerror = 1;
|
||||||
|
+ continue;
|
||||||
|
}
|
||||||
|
- else continue;
|
||||||
|
} else if (!strcmp(key, "olddir")) {
|
||||||
|
freeLogItem (oldDir);
|
||||||
|
|
||||||
|
@@ -1460,28 +1455,23 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
}
|
||||||
|
message(MESS_DEBUG, "olddir is now %s\n", newlog->oldDir);
|
||||||
|
} else if (!strcmp(key, "extension")) {
|
||||||
|
- if ((key = isolateValue
|
||||||
|
- (configFile, lineNum, "extension name", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
- freeLogItem (extension);
|
||||||
|
- newlog->extension = key;
|
||||||
|
- key = NULL;
|
||||||
|
- }
|
||||||
|
- else continue;
|
||||||
|
-
|
||||||
|
- message(MESS_DEBUG, "extension is now %s\n",
|
||||||
|
- newlog->extension);
|
||||||
|
+ key = isolateValue(configFile, lineNum, "extension name", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ freeLogItem (extension);
|
||||||
|
+ newlog->extension = key;
|
||||||
|
+ key = NULL;
|
||||||
|
+ message(MESS_DEBUG, "extension is now %s\n", newlog->extension);
|
||||||
|
|
||||||
|
} else if (!strcmp(key, "addextension")) {
|
||||||
|
- if ((key = isolateValue
|
||||||
|
- (configFile, lineNum, "addextension name", &start,
|
||||||
|
- &buf, length)) != NULL) {
|
||||||
|
- freeLogItem (addextension);
|
||||||
|
- newlog->addextension = key;
|
||||||
|
- key = NULL;
|
||||||
|
- }
|
||||||
|
- else continue;
|
||||||
|
-
|
||||||
|
+ key = isolateValue(configFile, lineNum, "addextension name", &start,
|
||||||
|
+ &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
+ continue;
|
||||||
|
+ freeLogItem (addextension);
|
||||||
|
+ newlog->addextension = key;
|
||||||
|
+ key = NULL;
|
||||||
|
message(MESS_DEBUG, "addextension is now %s\n",
|
||||||
|
newlog->addextension);
|
||||||
|
|
||||||
|
@@ -1827,7 +1817,8 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
break;
|
||||||
|
case STATE_LOAD_SCRIPT:
|
||||||
|
case STATE_LOAD_SCRIPT | STATE_SKIP_CONFIG:
|
||||||
|
- if ((key = isolateWord(&start, &buf, length)) == NULL)
|
||||||
|
+ key = isolateWord(&start, &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (strcmp(key, "endscript") == 0) {
|
||||||
|
@@ -1862,7 +1853,8 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
newlog = defConfig;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
- if ((key = isolateWord(&start, &buf, length)) == NULL)
|
||||||
|
+ key = isolateWord(&start, &buf, length);
|
||||||
|
+ if (key == NULL)
|
||||||
|
continue;
|
||||||
|
if (
|
||||||
|
(strcmp(key, "postrotate") == 0) ||
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
|
|
||||||
|
From a3a955494999bd4861f14b846c345cbc96715262 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Wed, 1 Aug 2018 15:09:40 +0200
|
||||||
|
Subject: [PATCH 2/3] readConfigFile: assign and free 'key' consistently
|
||||||
|
|
||||||
|
This commit fixes the following memory leaks (detected by Coverity):
|
||||||
|
|
||||||
|
Error: RESOURCE_LEAK:
|
||||||
|
config.c:1466: overwrite_var: Overwriting "key" in "key = isolateValue(configFile, lineNum, "extension name", &start, &buf, length)" leaks the storage that "key" points to.
|
||||||
|
|
||||||
|
Error: RESOURCE_LEAK:
|
||||||
|
config.c:1479: overwrite_var: Overwriting "key" in "key = isolateValue(configFile, lineNum, "addextension name", &start, &buf, length)" leaks the storage that "key" points to.
|
||||||
|
|
||||||
|
Error: RESOURCE_LEAK:
|
||||||
|
config.c:1043: alloc_fn: Storage is returned from allocation function "isolateWord".
|
||||||
|
config.c:219:2: alloc_fn: Storage is returned from allocation function "strndup".
|
||||||
|
config.c:219:2: assign: Assigning: "key" = "strndup(start, endtag - start)".
|
||||||
|
config.c:221:2: return_alloc: Returning allocated memory "key".
|
||||||
|
config.c:1043: var_assign: Assigning: "key" = storage returned from "isolateWord(&start, &buf, length)".
|
||||||
|
config.c:1928: leaked_storage: Variable "key" going out of scope leaks the storage it points to.
|
||||||
|
|
||||||
|
Error: RESOURCE_LEAK:
|
||||||
|
config.c:1153: alloc_fn: Storage is returned from allocation function "isolateValue".
|
||||||
|
config.c:204:2: alloc_fn: Storage is returned from allocation function "isolateLine".
|
||||||
|
config.c:178:2: alloc_fn: Storage is returned from allocation function "strndup".
|
||||||
|
config.c:178:2: assign: Assigning: "key" = "strndup(start, endtag - start + 1L)".
|
||||||
|
config.c:180:2: return_alloc: Returning allocated memory "key".
|
||||||
|
config.c:204:2: return_alloc_fn: Directly returning storage allocated by "isolateLine".
|
||||||
|
config.c:1153: var_assign: Assigning: "key" = storage returned from "isolateValue(configFile, lineNum, opt, &start, &buf, length)".
|
||||||
|
config.c:1928: leaked_storage: Variable "key" going out of scope leaks the storage it points to.
|
||||||
|
|
||||||
|
Error: RESOURCE_LEAK:
|
||||||
|
config.c:1219: alloc_fn: Storage is returned from allocation function "isolateLine".
|
||||||
|
config.c:178:2: alloc_fn: Storage is returned from allocation function "strndup".
|
||||||
|
config.c:178:2: assign: Assigning: "key" = "strndup(start, endtag - start + 1L)".
|
||||||
|
config.c:180:2: return_alloc: Returning allocated memory "key".
|
||||||
|
config.c:1219: var_assign: Assigning: "key" = storage returned from "isolateLine(&start, &buf, length)".
|
||||||
|
config.c:1928: leaked_storage: Variable "key" going out of scope leaks the storage it points to.
|
||||||
|
|
||||||
|
Closes #208
|
||||||
|
---
|
||||||
|
config.c | 19 +++++++------------
|
||||||
|
1 file changed, 7 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config.c b/config.c
|
||||||
|
index d2fba10..39c9bc7 100644
|
||||||
|
--- a/config.c
|
||||||
|
+++ b/config.c
|
||||||
|
@@ -1022,10 +1022,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
|
||||||
|
start = buf;
|
||||||
|
for (start = buf; start - buf < length; start++) {
|
||||||
|
- if (key) {
|
||||||
|
- free(key);
|
||||||
|
- key = NULL;
|
||||||
|
- }
|
||||||
|
switch (state) {
|
||||||
|
case STATE_DEFAULT:
|
||||||
|
if (isblank((unsigned char)*start))
|
||||||
|
@@ -1037,6 +1033,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isalpha((unsigned char)*start)) {
|
||||||
|
+ free(key);
|
||||||
|
key = isolateWord(&start, &buf, length);
|
||||||
|
if (key == NULL)
|
||||||
|
continue;
|
||||||
|
@@ -1455,6 +1452,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
}
|
||||||
|
message(MESS_DEBUG, "olddir is now %s\n", newlog->oldDir);
|
||||||
|
} else if (!strcmp(key, "extension")) {
|
||||||
|
+ free(key);
|
||||||
|
key = isolateValue(configFile, lineNum, "extension name", &start,
|
||||||
|
&buf, length);
|
||||||
|
if (key == NULL)
|
||||||
|
@@ -1465,6 +1463,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
message(MESS_DEBUG, "extension is now %s\n", newlog->extension);
|
||||||
|
|
||||||
|
} else if (!strcmp(key, "addextension")) {
|
||||||
|
+ free(key);
|
||||||
|
key = isolateValue(configFile, lineNum, "addextension name", &start,
|
||||||
|
&buf, length);
|
||||||
|
if (key == NULL)
|
||||||
|
@@ -1557,8 +1556,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
if (*start != '\n')
|
||||||
|
state = STATE_SKIP_LINE;
|
||||||
|
}
|
||||||
|
- free(key);
|
||||||
|
- key = NULL;
|
||||||
|
} else if (*start == '/' || *start == '"' || *start == '\''
|
||||||
|
#ifdef GLOB_TILDE
|
||||||
|
|| *start == '~'
|
||||||
|
@@ -1817,6 +1814,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
break;
|
||||||
|
case STATE_LOAD_SCRIPT:
|
||||||
|
case STATE_LOAD_SCRIPT | STATE_SKIP_CONFIG:
|
||||||
|
+ free(key);
|
||||||
|
key = isolateWord(&start, &buf, length);
|
||||||
|
if (key == NULL)
|
||||||
|
continue;
|
||||||
|
@@ -1853,6 +1851,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
newlog = defConfig;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
+ free(key);
|
||||||
|
key = isolateWord(&start, &buf, length);
|
||||||
|
if (key == NULL)
|
||||||
|
continue;
|
||||||
|
@@ -1884,8 +1883,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
state = STATE_SKIP_LINE | STATE_SKIP_CONFIG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- free(key);
|
||||||
|
- key = NULL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
@@ -1893,10 +1890,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
"%s: %d: readConfigFile() unknown state\n",
|
||||||
|
configFile, lineNum);
|
||||||
|
}
|
||||||
|
- if (key) {
|
||||||
|
- free(key);
|
||||||
|
- key = NULL;
|
||||||
|
- }
|
||||||
|
if (*start == '\n') {
|
||||||
|
lineNum++;
|
||||||
|
}
|
||||||
|
@@ -1910,6 +1903,8 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ free(key);
|
||||||
|
+
|
||||||
|
munmap(buf, (size_t) length);
|
||||||
|
close(fd);
|
||||||
|
return logerror;
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
|
|
||||||
|
From 771af94fd6c6299a7cb3d20c8b247591775653d3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Wed, 1 Aug 2018 16:06:27 +0200
|
||||||
|
Subject: [PATCH 3/3] simplify code of prerotateSingleLog()
|
||||||
|
|
||||||
|
... to eliminate a use-after-free false positive reported by Coverity:
|
||||||
|
|
||||||
|
Error: USE_AFTER_FREE:
|
||||||
|
logrotate.c:1800: freed_arg: "free" frees "oldName".
|
||||||
|
logrotate.c:1779: use_after_free: Using freed pointer "oldName".
|
||||||
|
|
||||||
|
Closes #209
|
||||||
|
---
|
||||||
|
logrotate.c | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/logrotate.c b/logrotate.c
|
||||||
|
index 02d45e9..95fd70b 100644
|
||||||
|
--- a/logrotate.c
|
||||||
|
+++ b/logrotate.c
|
||||||
|
@@ -1353,7 +1353,7 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
|
||||||
|
struct logState *state, struct logNames *rotNames)
|
||||||
|
{
|
||||||
|
struct tm now = *localtime(&nowSecs);
|
||||||
|
- char *oldName, *newName = NULL;
|
||||||
|
+ char *oldName = NULL;
|
||||||
|
const char *compext = "";
|
||||||
|
const char *fileext = "";
|
||||||
|
int hasErrors = 0;
|
||||||
|
@@ -1670,6 +1670,7 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
|
||||||
|
free(glob_pattern);
|
||||||
|
} else {
|
||||||
|
int i;
|
||||||
|
+ char *newName = NULL;
|
||||||
|
if (log->rotateAge) {
|
||||||
|
struct stat fst_buf;
|
||||||
|
for (i = 1; i <= rotateCount + 1; i++) {
|
||||||
|
@@ -1697,7 +1698,6 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
|
||||||
|
compext) < 0) {
|
||||||
|
message(MESS_FATAL, "could not allocate disposeName memory\n");
|
||||||
|
}
|
||||||
|
- newName = strdup(oldName);
|
||||||
|
|
||||||
|
rotNames->disposeName = strdup(oldName);
|
||||||
|
|
||||||
|
@@ -1711,6 +1711,8 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
|
||||||
|
if (asprintf(&oldName, "%s/%s.%d%s%s", rotNames->dirName,
|
||||||
|
rotNames->baseName, i, fileext, compext) < 0) {
|
||||||
|
message(MESS_FATAL, "could not allocate oldName memory\n");
|
||||||
|
+ oldName = NULL;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
|
||||||
|
message(MESS_DEBUG,
|
||||||
|
@@ -1727,11 +1729,9 @@ static int prerotateSingleLog(struct logInfo *log, int logNum,
|
||||||
|
hasErrors = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- if (hasErrors || i - 1 < 0)
|
||||||
|
- free(oldName);
|
||||||
|
-
|
||||||
|
}
|
||||||
|
free(newName);
|
||||||
|
+ free(oldName);
|
||||||
|
} /* !LOG_FLAG_DATEEXT */
|
||||||
|
|
||||||
|
if (log->flags & LOG_FLAG_DATEEXT) {
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
1
SOURCES/rwtab
Normal file
1
SOURCES/rwtab
Normal file
@ -0,0 +1 @@
|
|||||||
|
dirs /var/lib/logrotate
|
670
SPECS/logrotate.spec
Normal file
670
SPECS/logrotate.spec
Normal file
@ -0,0 +1,670 @@
|
|||||||
|
Summary: Rotates, compresses, removes and mails system log files
|
||||||
|
Name: logrotate
|
||||||
|
Version: 3.14.0
|
||||||
|
Release: 3%{?dist}
|
||||||
|
License: GPLv2+
|
||||||
|
Url: https://github.com/logrotate/logrotate
|
||||||
|
Source: https://github.com/logrotate/logrotate/releases/download/%{version}/logrotate-%{version}.tar.xz
|
||||||
|
Source1: rwtab
|
||||||
|
|
||||||
|
BuildRequires: acl
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: git
|
||||||
|
BuildRequires: libacl-devel
|
||||||
|
BuildRequires: libselinux-devel
|
||||||
|
BuildRequires: popt-devel
|
||||||
|
Requires: coreutils
|
||||||
|
|
||||||
|
# document the --version option in the logrotate(8) man page (#1611498)
|
||||||
|
Patch1: 0001-logrotate-3.14.0-man-version.patch
|
||||||
|
|
||||||
|
# fix programming mistakes detected by Coverity Analysis
|
||||||
|
Patch2: 0002-logrotate-3.14.0-coverity.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
The logrotate utility is designed to simplify the administration of
|
||||||
|
log files on a system which generates a lot of log files. Logrotate
|
||||||
|
allows for the automatic rotation compression, removal and mailing of
|
||||||
|
log files. Logrotate can be set to handle a log file daily, weekly,
|
||||||
|
monthly or when the log file gets to a certain size. Normally,
|
||||||
|
logrotate runs as a daily cron job.
|
||||||
|
|
||||||
|
Install the logrotate package if you need a utility to deal with the
|
||||||
|
log files on your system.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -S git
|
||||||
|
|
||||||
|
cat >> .gitignore << EOF
|
||||||
|
/autom4te.cache
|
||||||
|
/build
|
||||||
|
/config.h.in~
|
||||||
|
EOF
|
||||||
|
git add .gitignore
|
||||||
|
git commit -m "update .gitignore"
|
||||||
|
|
||||||
|
%if 0%{?fedora} == 0 && 0%{?rhel} < 7
|
||||||
|
sed -e 's/^AM_EXTRA_RECURSIVE_TARGETS/dnl AM_EXTRA_RECURSIVE_TARGETS/' \
|
||||||
|
-e 's/ serial-tests//' \
|
||||||
|
-i configure.ac
|
||||||
|
git add configure.ac
|
||||||
|
git commit -m "configure.ac: compatibility fixes for RHEL-6"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
autoreconf -fiv
|
||||||
|
git add --all
|
||||||
|
git commit -m "force autoreconf" --allow-empty
|
||||||
|
|
||||||
|
%build
|
||||||
|
mkdir build && cd build
|
||||||
|
%global _configure ../configure
|
||||||
|
%configure --with-state-file-path=%{_localstatedir}/lib/logrotate/logrotate.status
|
||||||
|
make %{?_smp_mflags} V=1
|
||||||
|
|
||||||
|
%check
|
||||||
|
make %{?_smp_mflags} -C build check
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install -C build
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/logrotate
|
||||||
|
|
||||||
|
install -p -m 644 examples/logrotate-default $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.conf
|
||||||
|
install -p -m 644 examples/{b,w}tmp $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
|
||||||
|
install -p -m 755 examples/logrotate.cron $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/logrotate
|
||||||
|
|
||||||
|
# Make sure logrotate is able to run on read-only root
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d
|
||||||
|
install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rwtab.d/logrotate
|
||||||
|
|
||||||
|
%pre
|
||||||
|
# If /var/lib/logrotate/logrotate.status does not exist, create it and copy
|
||||||
|
# the /var/lib/logrotate.status in it (if it exists). We have to do that in pre
|
||||||
|
# script, otherwise the /var/lib/logrotate/logrotate.status would not be there,
|
||||||
|
# because during the update, it is removed/renamed.
|
||||||
|
if [ ! -d %{_localstatedir}/lib/logrotate/ -a -f %{_localstatedir}/lib/logrotate.status ]; then
|
||||||
|
mkdir -p %{_localstatedir}/lib/logrotate
|
||||||
|
cp -a %{_localstatedir}/lib/logrotate.status %{_localstatedir}/lib/logrotate
|
||||||
|
fi
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{!?_licensedir:%global license %%doc}
|
||||||
|
%license COPYING
|
||||||
|
%doc ChangeLog.md
|
||||||
|
%{_sbindir}/logrotate
|
||||||
|
%{_mandir}/man8/logrotate.8*
|
||||||
|
%{_mandir}/man5/logrotate.conf.5*
|
||||||
|
%dir %{_sysconfdir}/cron.daily
|
||||||
|
%config(noreplace) %{_sysconfdir}/cron.daily/logrotate
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.conf
|
||||||
|
%dir %{_sysconfdir}/logrotate.d
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/{b,w}tmp
|
||||||
|
%dir %{_localstatedir}/lib/logrotate
|
||||||
|
%ghost %verify(not size md5 mtime) %attr(0644, root, root) %{_localstatedir}/lib/logrotate/logrotate.status
|
||||||
|
%config(noreplace) %{_sysconfdir}/rwtab.d/logrotate
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Aug 10 2018 Kamil Dudka <kdudka@redhat.com> - 3.14.0-3
|
||||||
|
- fix programming mistakes detected by Coverity Analysis
|
||||||
|
- document the --version option in the logrotate(8) man page (#1611498)
|
||||||
|
|
||||||
|
* Wed Jul 11 2018 Kamil Dudka <kdudka@redhat.com> - 3.14.0-2
|
||||||
|
- fix license tag to match the source code license
|
||||||
|
|
||||||
|
* Fri Mar 09 2018 Kamil Dudka <kdudka@redhat.com> - 3.14.0-1
|
||||||
|
- new upstream version 3.14.0
|
||||||
|
|
||||||
|
* Mon Feb 19 2018 Kamil Dudka <kdudka@redhat.com> - 3.13.0-3
|
||||||
|
- add explicit BR for the gcc compiler
|
||||||
|
|
||||||
|
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Oct 13 2017 Kamil Dudka <kdudka@redhat.com> - 3.13.0-1
|
||||||
|
- new upstream version 3.13.0
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 30 2017 Kamil Dudka <kdudka@redhat.com> - 3.12.3-1
|
||||||
|
- new upstream version 3.12.3
|
||||||
|
|
||||||
|
* Tue May 02 2017 Kamil Dudka <kdudka@redhat.com> - 3.12.2-1
|
||||||
|
- new upstream version 3.12.2
|
||||||
|
|
||||||
|
* Fri Apr 21 2017 Kamil Dudka <kdudka@redhat.com> - 3.12.1-1
|
||||||
|
- new upstream version 3.12.1
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 25 2017 Kamil Dudka <kdudka@redhat.com> - 3.11.0-3
|
||||||
|
- mark cron.daily/logrotate as config file (#1174207)
|
||||||
|
|
||||||
|
* Thu Dec 08 2016 Kamil Dudka <kdudka@redhat.com> - 3.11.0-2
|
||||||
|
- make the package build on RHEL-6, too
|
||||||
|
|
||||||
|
* Fri Dec 02 2016 Kamil Dudka <kdudka@redhat.com> - 3.11.0-1
|
||||||
|
- build out of source tree
|
||||||
|
- new upstream version 3.11.0
|
||||||
|
|
||||||
|
* Thu Nov 24 2016 Kamil Dudka <kdudka@redhat.com> - 3.10.0-4
|
||||||
|
- make /var/lib/logrotate/logrotate.status the default state file (#1381719)
|
||||||
|
|
||||||
|
* Fri Nov 11 2016 Kamil Dudka <kdudka@redhat.com> - 3.10.0-3
|
||||||
|
- fix migration of state file from its previous location (#1393247)
|
||||||
|
|
||||||
|
* Tue Aug 23 2016 Kamil Dudka <kdudka@redhat.com> - 3.10.0-2
|
||||||
|
- own /etc/cron.daily because no dependency of logrotate installs it
|
||||||
|
- do not explicitly declare mode for each single installed file
|
||||||
|
|
||||||
|
* Wed Aug 03 2016 Kamil Dudka <kdudka@redhat.com> - 3.10.0-1
|
||||||
|
- document default state file used by logrotate cron job (#1357215)
|
||||||
|
- modernize spec file
|
||||||
|
- new upstream version 3.10.0
|
||||||
|
|
||||||
|
* Wed Jul 20 2016 Kamil Dudka <kdudka@redhat.com> - 3.9.2-5
|
||||||
|
- do not log to syslog by default (#1304828)
|
||||||
|
|
||||||
|
* Thu Jul 14 2016 Kamil Dudka <kdudka@redhat.com> - 3.9.2-4
|
||||||
|
- make the /var/lib/logrotate directory owned by logrotate
|
||||||
|
|
||||||
|
* Tue Feb 16 2016 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 3.9.2-3
|
||||||
|
- Fix code indentation to get it build with gcc6.
|
||||||
|
- Fixed dates in changelog.
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 20 2016 Jan Kaluza <jkaluza@redhat.com> - 3.9.2-1
|
||||||
|
- new upstream version 3.9.2
|
||||||
|
- log to syslog
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Jan Kaluza <jkaluza@redhat.com> - 3.9.1-2
|
||||||
|
- move logrotate.status to /var/lib/logrotate and add it to rwtab.d (#1127415)
|
||||||
|
|
||||||
|
* Fri Apr 03 2015 Jan Kaluza <jkaluza@redhat.com> - 3.9.1-1
|
||||||
|
- new upstream version 3.9.1
|
||||||
|
|
||||||
|
* Fri Apr 03 2015 Jan Kaluza <jkaluza@redhat.com> - 3.9.0-1
|
||||||
|
- new upstream version 3.9.0
|
||||||
|
|
||||||
|
* Fri Feb 13 2015 Jan Kaluza <jkaluza@redhat.com> - 3.8.9-1
|
||||||
|
- new upstream version 3.8.9
|
||||||
|
|
||||||
|
* Thu Oct 16 2014 Jan Kaluza <jkaluza@redhat.com> - 3.8.8-1
|
||||||
|
- new upstream version 3.8.8
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.7-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 18 2014 Tom Callaway <spot@fedoraproject.org> - 3.8.7-3
|
||||||
|
- fix license handling
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.7-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 10 2013 Jan Kaluza <jkaluza@redhat.com> - 3.8.7-1
|
||||||
|
- new usptream version 3.8.7
|
||||||
|
|
||||||
|
* Wed Jul 31 2013 Jan Kaluza <jkaluza@redhat.com> - 3.8.6-1
|
||||||
|
- new upstream version 3.8.6
|
||||||
|
|
||||||
|
* Wed Jul 10 2013 Jan Kaluza <jkaluza@redhat.com> - 3.8.5-2
|
||||||
|
- fix #982409 - do not crash when no logs are rotated and "sharedscripts" and
|
||||||
|
"prerotate" is used
|
||||||
|
|
||||||
|
* Mon Jun 10 2013 Jan Kaluza <jkaluza@redhat.com> - 3.8.5-1
|
||||||
|
- new upstream version 3.8.5
|
||||||
|
|
||||||
|
* Tue May 14 2013 Jan Kaluza <jkaluza@redhat.com> - 3.8.4-2
|
||||||
|
- do not try to parse config files bigger than 16MB
|
||||||
|
- remove unused patches
|
||||||
|
|
||||||
|
* Tue Apr 30 2013 Jan Kaluza <jkaluza@redhat.com> - 3.8.4-1
|
||||||
|
- new upstream version 3.8.4
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 04 2012 Jan Kaluza <jkaluza@redhat.com> 3.8.3-1
|
||||||
|
- new upstream version 3.8.3
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Jan Kaluza <jkaluza@redhat.com> 3.8.2-1
|
||||||
|
- new upstream version 3.8.2
|
||||||
|
- tests are enabled during build
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 04 2012 Jan Kaluza <jkaluza@redhat.com> 3.8.1-3
|
||||||
|
- fix #736054 - check for missing '{' in config file
|
||||||
|
|
||||||
|
* Mon Oct 03 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.1-2
|
||||||
|
- fix #742731 - man page syntax, formatting, and spelling fixes
|
||||||
|
|
||||||
|
* Tue Sep 06 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.1-1
|
||||||
|
- new upstream version 3.8.1
|
||||||
|
|
||||||
|
* Mon Aug 08 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.0-5
|
||||||
|
- fix #723797 - added maxsize option
|
||||||
|
|
||||||
|
* Mon Aug 01 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.0-4
|
||||||
|
- fix #726980 - work properly when acl_get_fd is supported,
|
||||||
|
but acl_set_fd is not
|
||||||
|
|
||||||
|
* Fri Jul 22 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.0-3
|
||||||
|
- fix #723547 - fixed size directive parsing
|
||||||
|
|
||||||
|
* Wed Jul 20 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.0-2
|
||||||
|
- fix #722825 - do not redirect logrotate output in cron script
|
||||||
|
|
||||||
|
* Tue Jun 21 2011 Jan Kaluza <jkaluza@redhat.com> 3.8.0-1
|
||||||
|
- new upstream version 3.8.0
|
||||||
|
- removed unused patches
|
||||||
|
|
||||||
|
* Tue May 31 2011 Jan Kaluza <jkaluza@redhat.com> 3.7.9-11
|
||||||
|
- fix #709034 - work properly when ACLs are not supported
|
||||||
|
|
||||||
|
* Mon May 30 2011 Jan Kaluza <jkaluza@redhat.com> 3.7.9-10
|
||||||
|
- fix #708367 - fixed mail directive parsing
|
||||||
|
|
||||||
|
* Mon Mar 28 2011 Jan Kaluza <jkaluza@redhat.com> 3.7.9-9
|
||||||
|
- fix #689061 - added Url
|
||||||
|
|
||||||
|
* Mon Mar 21 2011 Jan Kaluza <jkaluza@redhat.com> 3.7.9-8
|
||||||
|
- fix #688520 - fixed CVE-2011-1154, CVE-2011-1155 and CVE-2011-1098
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.9-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 02 2011 Jan Kaluza <jkaluza@redhat.com> 3.7.9-6
|
||||||
|
- fix #671926 - fixed crash when tabooext is used in config file
|
||||||
|
|
||||||
|
* Wed Dec 15 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.9-5
|
||||||
|
- fix #661181 - fixed SIGBUS when config file is empty or 4096 bytes
|
||||||
|
- fix #666677 - preserve ACLs when rotating files
|
||||||
|
|
||||||
|
* Tue Oct 19 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.9-4
|
||||||
|
- fix #644309 - mention all logrotate params in man page
|
||||||
|
|
||||||
|
* Wed Sep 29 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.9-3
|
||||||
|
- fix #638629 - better size directive description
|
||||||
|
|
||||||
|
* Mon Aug 09 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.9-2
|
||||||
|
- fixed AUTHORS in man page
|
||||||
|
|
||||||
|
* Mon Jun 28 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.9-1
|
||||||
|
- new upstream version 3.7.9
|
||||||
|
|
||||||
|
* Tue Jun 22 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.8-12
|
||||||
|
- fix #602643 - update manpage to reflect scripts changes
|
||||||
|
- fix #606675 - pass currently rotated file as argument to
|
||||||
|
postrotate/prerotate script in nosharedscripts mode
|
||||||
|
|
||||||
|
* Tue Jun 15 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.8-11
|
||||||
|
- fix #603040 - do not remove log if there is an error in
|
||||||
|
rotate process
|
||||||
|
|
||||||
|
* Tue Apr 20 2010 Jan Kaluza <jkaluza@redhat.com> 3.7.8-10
|
||||||
|
- fix #602643 - logrotate "size" directive cannot exceed
|
||||||
|
1895825408 bytes
|
||||||
|
|
||||||
|
* Tue Apr 20 2010 Daniel Novotny <dnovotny@redhat.com> 3.7.8-9
|
||||||
|
- revert the "create 0640 root adm" permission change (#489038)
|
||||||
|
|
||||||
|
* Tue Apr 06 2010 Daniel Novotny <dnovotny@redhat.com> 3.7.8-8
|
||||||
|
- fix #578115 - missingok problem with globs
|
||||||
|
|
||||||
|
* Mon Jan 11 2010 Daniel Novotny <dnovotny@redhat.com> 3.7.8-7
|
||||||
|
- fix #489038 - RFE: useful permissions on log files
|
||||||
|
|
||||||
|
* Wed Dec 09 2009 Henrique Martins <bugzilla-redhat-2009@martins.cc> 3.7.8-6
|
||||||
|
- fix #545919 (rotate non-writable files when copy is set)
|
||||||
|
|
||||||
|
* Tue Sep 29 2009 Daniel Novotny <dnovotny@redhat.com> 3.7.8-5
|
||||||
|
- fix #525659 (man page for logrotate.conf)
|
||||||
|
|
||||||
|
* Thu Sep 17 2009 Daniel Novotny <dnovotny@redhat.com> 3.7.8-4
|
||||||
|
- fix #517321 (logrotate blocking anacron)
|
||||||
|
|
||||||
|
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.8-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7.8-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Feb 02 2009 Daniel Novotny <dnovotny@redhat.com> 3.7.8-1
|
||||||
|
- new upstream version 3.7.8
|
||||||
|
|
||||||
|
* Fri Nov 21 2008 Daniel Novotny <dnovotny@redhat.com> 3.7.7-4
|
||||||
|
- fix #468926 (segfault with very large /var/log/messages)
|
||||||
|
|
||||||
|
* Thu Nov 20 2008 Daniel Novotny <dnovotny@redhat.com> 3.7.7-3
|
||||||
|
- less aggressive approach to the fix
|
||||||
|
|
||||||
|
* Thu Nov 20 2008 Daniel Novotny <dnovotny@redhat.com> 3.7.7-2
|
||||||
|
- fix #471463 (selinux problems with logrotate)
|
||||||
|
|
||||||
|
* Mon May 19 2008 Tomas Smetana <tsmetana@redhat.com> 3.7.7-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Wed Apr 23 2008 Tomas Smetana <tsmetana@redhat.com> 3.7.6-4
|
||||||
|
- improve patch for #432330
|
||||||
|
- fix #437748 - don't forget to close log files
|
||||||
|
|
||||||
|
* Mon Feb 11 2008 Tomas Smetana <tsmetana@redhat.com> 3.7.6-3
|
||||||
|
- fix #432330 segfault on corrupted status file
|
||||||
|
|
||||||
|
* Mon Jan 21 2008 Tomas Smetana <tsmetana@redhat.com> 3.7.6-2.2
|
||||||
|
- fix #429454 - logrotate fails due to invalid pointer
|
||||||
|
|
||||||
|
* Wed Jan 09 2008 Tomas Smetana <tsmetana@redhat.com> 3.7.6-2.1
|
||||||
|
- fix the selinux patch
|
||||||
|
|
||||||
|
* Wed Jan 09 2008 Tomas Smetana <tsmetana@redhat.com> 3.7.6-2
|
||||||
|
- fix #427274 - logrotate fails to preserve SELinux file contexts
|
||||||
|
- fix #427661 - SELinux stops vsftpd from working correctly
|
||||||
|
|
||||||
|
* Thu Sep 27 2007 Tomas Smetana <tsmetana@redhat.com> 3.7.6-1.3
|
||||||
|
- popt-devel dependency was still missing
|
||||||
|
|
||||||
|
* Thu Sep 27 2007 Tomas Smetana <tsmetana@redhat.com> 3.7.6-1.2
|
||||||
|
- add missing dependencies to spec file
|
||||||
|
|
||||||
|
* Thu Aug 23 2007 Tomas Smetana <tsmetana@redhat.com> 3.7.6-1.1
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Tue Aug 07 2007 Tomas Smetana <tsmetana@redhat.com> 3.7.6-1
|
||||||
|
- new upstream version
|
||||||
|
- fix #248565 logrotate never rotates /var/log/btmp
|
||||||
|
- fix compile warnings
|
||||||
|
- tabooext accepts wildcards (related #247816)
|
||||||
|
- fix minor errors and update man page (related #250059)
|
||||||
|
- fix handling of size directive (related #247410)
|
||||||
|
|
||||||
|
* Thu May 31 2007 Tomas Smetana <tsmetana@redhat.com> 3.7.5-5
|
||||||
|
- fix ignoring pre/postrotate arguments (related #241766)
|
||||||
|
|
||||||
|
* Wed May 23 2007 Tomas Smetana <tsmetana@redhat.com> 3.7.5-4
|
||||||
|
- use dateext in the default config file (#240292)
|
||||||
|
- add options to use shred for deleting files -- adapt patch sent by
|
||||||
|
Peter Eckersley <pde@eff.org> (#239934)
|
||||||
|
- ignore .cfsaved files by default (#223476)
|
||||||
|
|
||||||
|
* Sat Mar 31 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.5-3
|
||||||
|
- add error checking before running prerotate and postrotate scripts
|
||||||
|
|
||||||
|
* Thu Mar 29 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.5-2
|
||||||
|
- fix error hadnling after prerotate, postrotate, firstaction
|
||||||
|
script failure. (http://qa.mandriva.com/show_bug.cgi?id=29979)
|
||||||
|
|
||||||
|
* Thu Mar 01 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.5-1
|
||||||
|
- new upstream release.
|
||||||
|
|
||||||
|
* Fri Feb 09 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.4-13
|
||||||
|
- another spec file fixes (#226104)
|
||||||
|
|
||||||
|
* Thu Feb 08 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.4-12
|
||||||
|
- fix problem with compress_options_list (#227706)
|
||||||
|
- fix spec file to meet Fedora standards (#226104)
|
||||||
|
|
||||||
|
* Tue Jan 23 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.4-11
|
||||||
|
- logrotate won't stop if there are some errors in configuration
|
||||||
|
or glob failures (#166510, #182062)
|
||||||
|
|
||||||
|
* Wed Jan 10 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.4-10
|
||||||
|
- fix some rpmlint issues
|
||||||
|
|
||||||
|
* Tue Jan 09 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.4-9
|
||||||
|
- allow multibyte characters in readPath() (#122145)
|
||||||
|
|
||||||
|
* Fri Jan 05 2007 Peter Vrabec <pvrabec@redhat.com> 3.7.4-8
|
||||||
|
- "size" option was ignored in config files (#221341)
|
||||||
|
|
||||||
|
* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 3.7.4-7
|
||||||
|
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
|
||||||
|
|
||||||
|
* Tue Sep 26 2006 Peter Vrabec <pvrabec@redhat.com> 3.7.4-6
|
||||||
|
- fix leaking file descriptor (#205072)
|
||||||
|
|
||||||
|
* Wed Aug 09 2006 Dan Walsh <dwalsh@redhat.com> 3.7.4-5
|
||||||
|
- Use selinux raw functions
|
||||||
|
|
||||||
|
* Mon Jul 24 2006 Peter Vrabec <pvrabec@redhat.com> 3.7.4-4
|
||||||
|
- make error message, about ignoring certain config files,
|
||||||
|
a debug message instead (#196052)
|
||||||
|
|
||||||
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.7.4-3.1
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Tue Jun 13 2006 Peter Vrabec <pvrabec@redhat.com> 3.7.4-3
|
||||||
|
- rename ENOSUP to ENOTSUP
|
||||||
|
|
||||||
|
* Tue Jun 13 2006 Peter Vrabec <pvrabec@redhat.com> 3.7.4-2
|
||||||
|
- clean up a couple of SELinux problems. Patch from Daniel J. Walsh.
|
||||||
|
|
||||||
|
* Wed May 17 2006 Peter Vrabec <pvrabec@redhat.com> 3.7.4-1
|
||||||
|
- add new "minsize" option (#173088)
|
||||||
|
|
||||||
|
* Tue Mar 28 2006 Peter Vrabec <pvrabec@redhat.com> 3.7.3-3
|
||||||
|
- correct man page "extension" option description (#185318)
|
||||||
|
|
||||||
|
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 3.7.3-2.2.1
|
||||||
|
- bump again for double-long bug on ppc(64)
|
||||||
|
|
||||||
|
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 3.7.3-2.2
|
||||||
|
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||||
|
|
||||||
|
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Sun Nov 13 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.3-2
|
||||||
|
- fix_free_segfaults (#172918)
|
||||||
|
|
||||||
|
* Sat Nov 12 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.3-1
|
||||||
|
- new upstream release
|
||||||
|
- indent sources
|
||||||
|
|
||||||
|
* Fri Nov 11 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-12
|
||||||
|
- fix_free_segfaults (#172918)
|
||||||
|
|
||||||
|
* Mon Nov 07 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-11
|
||||||
|
- man description for "nodateext" option (#171577)
|
||||||
|
- remove not working "pattern" option (#171577)
|
||||||
|
|
||||||
|
* Tue Oct 25 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-10
|
||||||
|
- some more clean up (#171587)
|
||||||
|
|
||||||
|
* Thu Oct 20 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-9
|
||||||
|
- fix_free_segfaults (#171093)
|
||||||
|
|
||||||
|
* Tue Oct 18 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-8
|
||||||
|
- fix leaks of tabooExts
|
||||||
|
|
||||||
|
* Sat Oct 15 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-7
|
||||||
|
- fix_free_segfaults (#170904)
|
||||||
|
|
||||||
|
* Wed Oct 12 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-6
|
||||||
|
- code clean up (#169885)
|
||||||
|
|
||||||
|
* Mon Oct 10 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-5
|
||||||
|
- fix bug introduced in logrotate 3.7.2-3(#169858)
|
||||||
|
- fix some memory leaks (#169888)
|
||||||
|
|
||||||
|
* Fri Sep 23 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-4
|
||||||
|
- do not run compression program in debug mode (#166912)
|
||||||
|
|
||||||
|
* Wed Sep 07 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-3
|
||||||
|
- even when sharedscript option used, do postrotate
|
||||||
|
script before compress (#167575)
|
||||||
|
|
||||||
|
* Wed Aug 17 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-2
|
||||||
|
- allow yearly rotations(#134612)
|
||||||
|
|
||||||
|
* Mon Aug 01 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.2-1
|
||||||
|
- new upstream release
|
||||||
|
|
||||||
|
* Tue Jul 26 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.1-14
|
||||||
|
- fix some "error running script" messages
|
||||||
|
|
||||||
|
* Tue Jul 26 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.1-13
|
||||||
|
- fix man page (#163458,#163366)
|
||||||
|
|
||||||
|
* Wed Jun 22 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.1-12
|
||||||
|
- enhance logrotate with "dateext", "maxage"
|
||||||
|
|
||||||
|
* Thu Mar 31 2005 Dan Walsh <dwalsh@redhat.com> 3.7.1-10
|
||||||
|
- use security_getenforce() instead of selinux_getenforcemode
|
||||||
|
|
||||||
|
* Thu Mar 17 2005 Dan Walsh <dwalsh@redhat.com> 3.7.1-9
|
||||||
|
- Add selinux_getenforce() calls to work when not in enforcing mode
|
||||||
|
|
||||||
|
* Thu Mar 17 2005 Peter Vrabec <pvrabec@redhat.com> 3.7.1-8
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Tue Feb 22 2005 Peter Vrabec <pvrabec@redhat.com>
|
||||||
|
- do not use tmpfile to run script anymore (#149270)
|
||||||
|
|
||||||
|
* Fri Feb 18 2005 Peter Vrabec <pvrabec@redhat.com>
|
||||||
|
- remove logrotate-3.7.1-share.patch, it doesn't solve (#140353)
|
||||||
|
|
||||||
|
* Mon Dec 13 2004 Peter Vrabec <pvrabec@redhat.com> - 3.7.1-5
|
||||||
|
- Add section to logrotate.conf for "/var/log/btmp" (#117844)
|
||||||
|
|
||||||
|
* Mon Dec 13 2004 Peter Vrabec <pvrabec@redhat.com> - 3.7.1-4
|
||||||
|
- Typo and missing information in man page (#139346)
|
||||||
|
|
||||||
|
* Mon Dec 06 2004 Peter Vrabec <pvrabec@redhat.com> - 3.7.1-3
|
||||||
|
- compressed logfiles and logrotate (#140353)
|
||||||
|
|
||||||
|
* Tue Oct 19 2004 Miloslav Trmac <mitr@redhat.com> - 3.7.1-2
|
||||||
|
- Fix sending mails (#131583)
|
||||||
|
- Preserve file attributes when compressing files (#121523, original patch by
|
||||||
|
Daniel Himler)
|
||||||
|
|
||||||
|
* Fri Jul 16 2004 Elliot Lee <sopwith@redhat.com> 3.7.1-1
|
||||||
|
- Fix #126490 typo
|
||||||
|
|
||||||
|
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Mon Jan 26 2004 Dan Walsh <dwalsh@redhat.com> 3.6.10-4
|
||||||
|
- fix is_selinux_enabled call
|
||||||
|
|
||||||
|
* Fri Sep 5 2003 Dan Walsh <dwalsh@redhat.com> 3.6.10-3
|
||||||
|
- Turn off selinux
|
||||||
|
|
||||||
|
* Fri Sep 5 2003 Dan Walsh <dwalsh@redhat.com> 3.6.10-2.sel
|
||||||
|
- Turn on selinux
|
||||||
|
|
||||||
|
* Wed Aug 06 2003 Erik Troan <ewt@redhat.com>
|
||||||
|
- always use compressext for the extension for compressed
|
||||||
|
files; before compresscmd and compressext had to agree
|
||||||
|
- moved all compression to one code block
|
||||||
|
- compression, scripts don't use system() anymore
|
||||||
|
- compress and maillast didn't work together properly
|
||||||
|
- delaycompress and mailfirst didn't work properly
|
||||||
|
- don't use system() for mailing (or uncompressing) logs anymore
|
||||||
|
- use "-s" for speciying the subjected of mailed logs
|
||||||
|
|
||||||
|
* Thu Jul 24 2003 Elliot Lee <sopwith@redhat.com> 3.6.10-1
|
||||||
|
- Fix #100546, change selinux port.
|
||||||
|
|
||||||
|
* Fri Jul 18 2003 Dan Walsh <dwalsh@redhat.com> 3.6.9-2
|
||||||
|
- Port to SELinux 2.5
|
||||||
|
|
||||||
|
* Wed Jul 09 2003 Elliot Lee <sopwith@redhat.com> 3.6.9-1
|
||||||
|
- Fix #90229, #90274, #89458, #91408
|
||||||
|
|
||||||
|
* Mon Jan 20 2003 Elliot Lee <sopwith@redhat.com> 3.6.8-1
|
||||||
|
- Old patch from pm@debian.org
|
||||||
|
|
||||||
|
* Tue Jan 14 2003 Elliot Lee <sopwith@redhat.com> 3.6.7-1
|
||||||
|
- Fixes from bugzilla
|
||||||
|
|
||||||
|
* Fri Nov 15 2002 Elliot Lee <sopwith@redhat.com> 3.6.6-1
|
||||||
|
- Commit patch from Fidelis Assis <fidelis@embratel.net.br>
|
||||||
|
|
||||||
|
* Thu Jun 20 2002 Elliot Lee <sopwith@redhat.com> 3.6.5-1
|
||||||
|
- Commit fix for #65299
|
||||||
|
|
||||||
|
* Mon Apr 15 2002 Elliot Lee <sopwith@redhat.com> 3.6.4-1
|
||||||
|
- Commit fix for #62560
|
||||||
|
|
||||||
|
* Wed Mar 13 2002 Elliot Lee <sopwith@redhat.com> 3.6.3-1
|
||||||
|
- Apply various bugfix patches from the openwall people
|
||||||
|
|
||||||
|
* Tue Jan 29 2002 Elliot Lee <sopwith@redhat.com> 3.6.2-1
|
||||||
|
- Fix bug #55809 (include logrotate.status in "files")
|
||||||
|
- Fix bug #58328 (incorrect error detection when reading state file)
|
||||||
|
- Allow 'G' size specifier from bug #57242
|
||||||
|
|
||||||
|
* Mon Dec 10 2001 Preston Brown <pbrown@redhat.com>
|
||||||
|
- noreplace config file
|
||||||
|
|
||||||
|
* Wed Nov 28 2001 Preston Brown <pbrown@redhat.com> 3.6-1
|
||||||
|
- patch from Alexander Kourakos <awk@awks.org> to stop the shared
|
||||||
|
postrotate/prerotate scripts from running if none of the log(s) need
|
||||||
|
rotating. All log files are now checked for rotation in one batch,
|
||||||
|
rather than sequentially.
|
||||||
|
- more fixes from Paul Martin <pm@debian.org>
|
||||||
|
|
||||||
|
* Thu Nov 8 2001 Preston Brown <pbrown@redhat.com> 3.5.10-1
|
||||||
|
- fix from paul martin <pm@debian.org> for zero-length state files
|
||||||
|
|
||||||
|
* Tue Sep 4 2001 Preston Brown <pbrown@redhat.com>
|
||||||
|
- fix segfault when logfile is in current directory.
|
||||||
|
|
||||||
|
* Tue Aug 21 2001 Preston Brown <pbrown@redhat.com>
|
||||||
|
- fix URL for source location
|
||||||
|
|
||||||
|
* Thu Aug 2 2001 Preston Brown <pbrown@redhat.com>
|
||||||
|
- man page cleanups, check for negative rotation counts
|
||||||
|
|
||||||
|
* Mon Jul 2 2001 Preston Brown <pbrown@redhat.com>
|
||||||
|
- more minor manpage updates (#45625)
|
||||||
|
|
||||||
|
* Thu Jun 21 2001 Preston Brown <pbrown@redhat.com> 3.5.6-1
|
||||||
|
- enable LFS support (debian bug #100810)
|
||||||
|
- quote filenames for running compress commands or pre/postrotate cmds (#21348)
|
||||||
|
- deprecate "errors" directive (see bug #16544 for explanation)
|
||||||
|
- update man page
|
||||||
|
- configurable compression command by Colm Buckley <colm@tuatha.org>
|
||||||
|
|
||||||
|
* Fri Jun 1 2001 Preston Brown <pbrown@redhat.com> 3.5.5-1
|
||||||
|
- be less strict about whitespace near filenames. Patch from Paul Martin <pm@debian.org>.
|
||||||
|
|
||||||
|
* Thu Jan 4 2001 Bill Nottingham <notting@redhat.com>
|
||||||
|
- %%defattr
|
||||||
|
|
||||||
|
* Wed Jan 03 2001 Preston Brown <pbrown@redhat.com>
|
||||||
|
- see CHANGES
|
||||||
|
|
||||||
|
* Tue Aug 15 2000 Erik Troan <ewt@redhat.com>
|
||||||
|
- see CHANGES
|
||||||
|
|
||||||
|
* Sun Jul 23 2000 Erik Troan <ewt@redhat.com>
|
||||||
|
- see CHANGES
|
||||||
|
|
||||||
|
* Tue Jul 11 2000 Erik Troan <ewt@redhat.com>
|
||||||
|
- support spaces in filenames
|
||||||
|
- added sharedscripts
|
||||||
|
|
||||||
|
* Sun Jun 18 2000 Matt Wilson <msw@redhat.com>
|
||||||
|
- use %%{_mandir} for man pages
|
||||||
|
|
||||||
|
* Thu Feb 24 2000 Erik Troan <ewt@redhat.com>
|
||||||
|
- don't rotate lastlog
|
||||||
|
|
||||||
|
* Thu Feb 03 2000 Erik Troan <ewt@redhat.com>
|
||||||
|
- gzipped manpages
|
Loading…
Reference in New Issue
Block a user