Compare commits
10 Commits
33d5f76f25
...
840de45f56
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
840de45f56 | ||
|
|
cac7bb33ce | ||
|
|
2274242964 | ||
|
|
4a0de95ad5 | ||
|
|
cdc60ee231 | ||
|
|
07f574c85e | ||
|
|
098bbe2e53 | ||
|
|
fe60c1fe19 | ||
|
|
aa168bff77 | ||
|
|
3a9ed577a1 |
@ -0,0 +1,78 @@
|
|||||||
|
From 630b24112fbd87c0dd020795a221fefc8840630a Mon Sep 17 00:00:00 2001
|
||||||
|
From: YoruStar <524413304@qq.com>
|
||||||
|
Date: Wed, 29 Mar 2023 15:58:58 +0800
|
||||||
|
Subject: [PATCH] Support reloading with SIGURG in addition to SIGHUP
|
||||||
|
|
||||||
|
And use that with the systemd unit to handle the reload.
|
||||||
|
|
||||||
|
Conflict:NA
|
||||||
|
Reference:https://github.com/cronie-crond/cronie/commit/630b24112fbd87c0dd020795a221fefc8840630a
|
||||||
|
---
|
||||||
|
contrib/cronie.systemd | 2 +-
|
||||||
|
src/cron.c | 12 ++++++++++--
|
||||||
|
2 files changed, 11 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/contrib/cronie.systemd b/contrib/cronie.systemd
|
||||||
|
index 19f2a98..8317367 100644
|
||||||
|
--- a/contrib/cronie.systemd
|
||||||
|
+++ b/contrib/cronie.systemd
|
||||||
|
@@ -5,7 +5,7 @@ After=auditd.service nss-user-lookup.target systemd-user-sessions.service time-s
|
||||||
|
[Service]
|
||||||
|
EnvironmentFile=/etc/sysconfig/crond
|
||||||
|
ExecStart=/usr/sbin/crond -n $CRONDARGS
|
||||||
|
-ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
+ExecReload=/bin/kill -URG $MAINPID
|
||||||
|
KillMode=process
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=30s
|
||||||
|
diff --git a/src/cron.c b/src/cron.c
|
||||||
|
index 1ff19e3..e4e119d 100644
|
||||||
|
--- a/src/cron.c
|
||||||
|
+++ b/src/cron.c
|
||||||
|
@@ -66,10 +66,11 @@ set_time(int),
|
||||||
|
cron_sleep(int, cron_db *),
|
||||||
|
sigchld_handler(int),
|
||||||
|
sighup_handler(int ATTRIBUTE_UNUSED),
|
||||||
|
+sigurg_handler(int ATTRIBUTE_UNUSED),
|
||||||
|
sigchld_reaper(void),
|
||||||
|
sigintterm_handler(int ATTRIBUTE_UNUSED), parse_args(int c, char *v[]);
|
||||||
|
|
||||||
|
-static volatile sig_atomic_t got_sighup, got_sigchld, got_sigintterm;
|
||||||
|
+static volatile sig_atomic_t got_sighup, got_sigchld, got_sigintterm, got_sigurg;
|
||||||
|
static int timeRunning, virtualTime, clockTime;
|
||||||
|
static long GMToff;
|
||||||
|
static int DisableInotify;
|
||||||
|
@@ -151,8 +152,9 @@ void set_cron_watched(int fd) {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void handle_signals(cron_db * database) {
|
||||||
|
- if (got_sighup) {
|
||||||
|
+ if (got_sighup || got_sigurg) {
|
||||||
|
got_sighup = 0;
|
||||||
|
+ got_sigurg = 0;
|
||||||
|
#if defined WITH_INOTIFY
|
||||||
|
/* watches must be reinstated on reload */
|
||||||
|
if (inotify_enabled && (EnableClustering != 1)) {
|
||||||
|
@@ -243,6 +245,8 @@ int main(int argc, char *argv[]) {
|
||||||
|
sact.sa_handler = sigintterm_handler;
|
||||||
|
(void) sigaction(SIGINT, &sact, NULL);
|
||||||
|
(void) sigaction(SIGTERM, &sact, NULL);
|
||||||
|
+ sact.sa_handler = sigurg_handler;
|
||||||
|
+ (void) sigaction(SIGURG, &sact, NULL);
|
||||||
|
|
||||||
|
acquire_daemonlock(0);
|
||||||
|
set_cron_uid();
|
||||||
|
@@ -664,6 +668,10 @@ static void sigintterm_handler(int x ATTRIBUTE_UNUSED) {
|
||||||
|
got_sigintterm = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void sigurg_handler(int x ATTRIBUTE_UNUSED) {
|
||||||
|
+ got_sigurg = 1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void sigchld_reaper(void) {
|
||||||
|
WAIT_T waiter;
|
||||||
|
PID_T pid;
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
47
backport-anacron-Use-xclose-instead-of-fclose.patch
Normal file
47
backport-anacron-Use-xclose-instead-of-fclose.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From 880489e42a652b84c7de348f0167dfd26abca326 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Mraz <tmraz@fedoraproject.org>
|
||||||
|
Date: Fri, 13 Oct 2023 10:40:05 +0200
|
||||||
|
Subject: [PATCH] anacron: Use xclose() instead of fclose()
|
||||||
|
|
||||||
|
When replacing standard descriptors we use
|
||||||
|
xclose() elsewhere and it is less error-prone.
|
||||||
|
|
||||||
|
Fixes #156
|
||||||
|
---
|
||||||
|
anacron/main.c | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/anacron/main.c b/anacron/main.c
|
||||||
|
index 65f8fed..1ad904a 100644
|
||||||
|
--- a/anacron/main.c
|
||||||
|
+++ b/anacron/main.c
|
||||||
|
@@ -209,13 +209,13 @@ go_background(void)
|
||||||
|
|
||||||
|
/* stdin is already closed */
|
||||||
|
|
||||||
|
- if (fclose(stdout)) die_e("Can't close stdout");
|
||||||
|
+ xclose(STDOUT_FILENO);
|
||||||
|
/* coverity[leaked_handle] – fd 1 closed automatically */
|
||||||
|
- xopen(1, "/dev/null", O_WRONLY);
|
||||||
|
+ xopen(STDOUT_FILENO, "/dev/null", O_WRONLY);
|
||||||
|
|
||||||
|
- if (fclose(stderr)) die_e("Can't close stderr");
|
||||||
|
+ xclose(STDERR_FILENO);
|
||||||
|
/* coverity[leaked_handle] – fd 2 closed automatically */
|
||||||
|
- xopen(2, "/dev/null", O_WRONLY);
|
||||||
|
+ xopen(STDERR_FILENO, "/dev/null", O_WRONLY);
|
||||||
|
|
||||||
|
pid = xfork();
|
||||||
|
if (pid != 0)
|
||||||
|
@@ -476,7 +476,7 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
|
if (sigprocmask(0, NULL, &old_sigmask)) die_e("sigset error");
|
||||||
|
|
||||||
|
- if (fclose(stdin)) die_e("Can't close stdin");
|
||||||
|
+ xclose(STDIN_FILENO);
|
||||||
|
xopen(STDIN_FILENO, "/dev/null", O_RDONLY);
|
||||||
|
|
||||||
|
if (!no_daemon && !testing_only)
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
Binary file not shown.
BIN
cronie-1.6.1.tar.gz
Normal file
BIN
cronie-1.6.1.tar.gz
Normal file
Binary file not shown.
29
cronie.spec
29
cronie.spec
@ -1,6 +1,6 @@
|
|||||||
Name: cronie
|
Name: cronie
|
||||||
Version: 1.5.7
|
Version: 1.6.1
|
||||||
Release: 1
|
Release: 5
|
||||||
Summary: Standard UNIX daemon crond
|
Summary: Standard UNIX daemon crond
|
||||||
License: GPLv2+ and ISC
|
License: GPLv2+ and ISC
|
||||||
URL: https://github.com/cronie-crond/cronie
|
URL: https://github.com/cronie-crond/cronie
|
||||||
@ -9,6 +9,9 @@ Source0: https://github.com/cronie-crond/cronie/releases/download/cronie-%{vers
|
|||||||
|
|
||||||
Patch0: bugfix-cronie-systemd-alias.patch
|
Patch0: bugfix-cronie-systemd-alias.patch
|
||||||
|
|
||||||
|
Patch6000: backport-Support-reloading-with-SIGURG-in-addition-to-SIGHUP.patch
|
||||||
|
Patch6001: backport-anacron-Use-xclose-instead-of-fclose.patch
|
||||||
|
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gcc systemd libselinux-devel pam-devel audit-libs-devel
|
BuildRequires: gcc systemd libselinux-devel pam-devel audit-libs-devel
|
||||||
|
|
||||||
@ -19,7 +22,7 @@ Requires(post): systemd coreutils sed
|
|||||||
|
|
||||||
Provides: dailyjobs anacron %{name}-anacron %{name}-noanacron
|
Provides: dailyjobs anacron %{name}-anacron %{name}-noanacron
|
||||||
|
|
||||||
Obsoletes: %{name}-anacron %{name}-noanacron
|
Obsoletes: %{name}-anacron < %{version}-%{release} %{name}-noanacron < %{version}-%{release}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Cronie contains the standard UNIX daemon crond that runs specified programs
|
Cronie contains the standard UNIX daemon crond that runs specified programs
|
||||||
@ -70,7 +73,7 @@ mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/
|
|||||||
install -m 644 contrib/cronie.systemd $RPM_BUILD_ROOT/lib/systemd/system/crond.service
|
install -m 644 contrib/cronie.systemd $RPM_BUILD_ROOT/lib/systemd/system/crond.service
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make check
|
%make_build check
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
|
|
||||||
@ -118,6 +121,24 @@ systemctl try-restart crond.service >/dev/null 2>&1 || :
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 4 2023 hongjinghao <hongjinghao@huawei.com> - 1.6.1-5
|
||||||
|
- anacron use xclose instead of fclose
|
||||||
|
|
||||||
|
* Thu Jun 15 2023 wangyuhang <wangyuhang27@huawei.com> - 1.6.1-4
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:Support reloading with SIGURG in addition to SIGHUP
|
||||||
|
|
||||||
|
* Wed Feb 15 2023 wangjunqi <wangjunqi@kylinos.cn> - 1.6.1-3
|
||||||
|
- replace 'make check' with '%make_build check'
|
||||||
|
|
||||||
|
* Tue Oct 18 2022 zhangruifang <zhangruifang1@h-partners.com> - 1.6.1-2
|
||||||
|
- DESC:add version number for Obsoletes
|
||||||
|
|
||||||
|
* Fri Jul 22 2022 YukariChiba <i@0x7f.cc> - 1.6.1-1
|
||||||
|
- Upgrade version to 1.6.1
|
||||||
|
|
||||||
* Thu Dec 30 2021 wangjie <wangjie375@huawei.com> - 1.5.7-1
|
* Thu Dec 30 2021 wangjie <wangjie375@huawei.com> - 1.5.7-1
|
||||||
- Type:enhancement
|
- Type:enhancement
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user