Compare commits

..

No commits in common. "13407db945b491e79d49dd62c41c5bc8cd4bdf02" and "951ee8d89a73c6789ed2dbfd37d00d093ac9e649" have entirely different histories.

5 changed files with 2 additions and 61 deletions

View File

@ -1,45 +0,0 @@
From 5f24239f282b8c6291cf35ea5f871ed0ca6b2672 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
Date: Tue, 4 Apr 2023 17:49:06 +0200
Subject: [PATCH] do not rotate old logs on prerotate failure
Ensures old logs are preserved and not rotated out for logs with a
failing prerotate script.
Alternative to #502
---
logrotate.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/logrotate.c b/logrotate.c
index f44b3851..d3ccb447 100644
--- a/logrotate.c
+++ b/logrotate.c
@@ -2476,10 +2476,6 @@ static int rotateLogSet(const struct logInfo *log, int force)
return 1;
}
memset(rotNames[i], 0, sizeof(struct logNames));
-
- logHasErrors[i] |=
- prerotateSingleLog(log, i, state[i], rotNames[i]);
- hasErrors |= logHasErrors[i];
}
if (log->pre
@@ -2509,6 +2505,16 @@ static int rotateLogSet(const struct logInfo *log, int force)
}
}
+ for (i = j;
+ ((log->flags & LOG_FLAG_SHAREDSCRIPTS) && i < log->numFiles)
+ || (!(log->flags & LOG_FLAG_SHAREDSCRIPTS) && i == j); i++) {
+ if (! ( (logHasErrors[i] && !(log->flags & LOG_FLAG_SHAREDSCRIPTS))
+ || (hasErrors && (log->flags & LOG_FLAG_SHAREDSCRIPTS)) ) ) {
+ logHasErrors[i] |= prerotateSingleLog(log, i, state[i], rotNames[i]);
+ hasErrors |= logHasErrors[i];
+ }
+ }
+
for (i = j;
((log->flags & LOG_FLAG_SHAREDSCRIPTS) && i < log->numFiles)
|| (!(log->flags & LOG_FLAG_SHAREDSCRIPTS) && i == j); i++) {

BIN
logrotate-3.17.0.tar.xz Normal file

Binary file not shown.

BIN
logrotate-3.18.1.tar.xz Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,15 +1,12 @@
%global _configure ../configure
Name: logrotate
Version: 3.21.0
Version: 3.18.1
Release: 1
Summary: simplify the administration of log files
License: GPLv2+
Url: https://github.com/logrotate/logrotate
Source0: https://github.com/logrotate/logrotate/releases/download/%{version}/logrotate-%{version}.tar.xz
Patch6001: backport-do-not-rotate-old-logs-on-prerotate-failure.patch
BuildRequires: acl gcc automake libacl-devel libselinux-devel popt-devel
Requires: coreutils
@ -60,6 +57,7 @@ fi
%files
%defattr(-,root,root)
%license COPYING
%dir %{_sysconfdir}/cron.daily
%config(noreplace) %{_sysconfdir}/cron.daily/logrotate
%config(noreplace) %{_sysconfdir}/logrotate.conf
%dir %{_sysconfdir}/logrotate.d
@ -75,18 +73,6 @@ fi
%{_mandir}/man5/logrotate.conf.5*
%changelog
* Sun Feb 4 2024 hanhuihui <hanhuihui5@huawei.com> - 3.21.0-1
- upgrade version to 3.21.0
* Thu Jan 11 2024 hanhuihui <hanhuihui5@huawei.com> - 3.20.1-3
- do not pack directories belonging to other packages
* Mon Jun 5 2023 hanhuihui <hanhuihui5@huawei.com> - 3.20.1-2
- do not rotate old logs on prerotate failure
* Fri Jun 10 2022 duyiwei <duyiwei@kylinos.cn> - 3.20.1-1
- upgrade version to 3.20.1 and fix CVE-2022-1348
* Sat Nov 20 2021 xiechengliang <xiechengliang1@huawei.com> - 3.18.1-1
- update upstream to 3.18.1