From a8f0b8f2acfb7980b832e067a0c5ff8d19c4308e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Thu, 28 Jan 2016 12:33:53 +0100 Subject: [PATCH] - rel 4; from upstream: In crontab command use a temporary filename that is ignored by crond. --- cronie-temp.patch | 79 +++++++++++++++++++++++++++++++++++++++++++++++ cronie.spec | 4 ++- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 cronie-temp.patch diff --git a/cronie-temp.patch b/cronie-temp.patch new file mode 100644 index 0000000..18964ff --- /dev/null +++ b/cronie-temp.patch @@ -0,0 +1,79 @@ +From 1222a0d414c52214e1ecc023889595945496acbb Mon Sep 17 00:00:00 2001 +From: Tomas Mraz +Date: Mon, 13 Jul 2015 11:19:55 +0200 +Subject: In crontab command use a temporary filename that is ignored by crond. + +--- + src/crontab.c | 23 ++++++++++++----------- + 1 file changed, 12 insertions(+), 11 deletions(-) + +diff --git a/src/crontab.c b/src/crontab.c +index d165a06..e7a4878 100644 +--- a/src/crontab.c ++++ b/src/crontab.c +@@ -104,7 +104,7 @@ edit_cmd(void), + poke_daemon(void), + check_error(const char *), parse_args(int c, char *v[]), die(int) ATTRIBUTE_NORETURN; + static int replace_cmd(void), hostset_cmd(void), hostget_cmd(void); +-static char *host_specific_filename(const char *filename, int prefix); ++static char *host_specific_filename(const char *prefix, const char *suffix); + static const char *tmp_path(void); + + static void usage(const char *msg) ATTRIBUTE_NORETURN; +@@ -445,26 +445,27 @@ static const char *tmp_path(void) { + return tmpdir ? tmpdir : "/tmp"; + } + +-static char *host_specific_filename(const char *filename, int prefix) ++static char *host_specific_filename(const char *prefix, const char *suffix) + { + /* + * For cluster-wide use, where there is otherwise risk of the same +- * name being generated on more than one host at once, prefix with +- * "hostname." or suffix with ".hostname" as requested, and return +- * static buffer or NULL on failure. ++ * name being generated on more than one host at once, insert hostname ++ * separated with dots, and return static buffer or NULL on failure. + */ + + static char safename[MAX_FNAME]; +- char hostname[MAXHOSTNAMELEN]; ++ char hostname[MAX_FNAME]; + + if (gethostname(hostname, sizeof hostname) != 0) + return NULL; + + if (prefix) { +- if (!glue_strings(safename, sizeof safename, hostname, filename, '.')) ++ if (!glue_strings(safename, sizeof safename, prefix, hostname, '.')) + return NULL; +- } else { +- if (!glue_strings(safename, sizeof safename, filename, hostname, '.')) ++ strcpy(hostname, safename); ++ } ++ if (suffix) { ++ if (!glue_strings(safename, sizeof safename, hostname, suffix, '.')) + return NULL; + } + +@@ -745,7 +746,7 @@ static int replace_cmd(void) { + char *safename; + + +- safename = host_specific_filename("tmp.XXXXXXXXXX", 1); ++ safename = host_specific_filename("#tmp", "XXXXXXXXXX"); + if (!safename || !glue_strings(TempFilename, sizeof TempFilename, SPOOL_DIR, + safename, '/')) { + TempFilename[0] = '\0'; +@@ -911,7 +912,7 @@ static int hostset_cmd(void) { + if (!HostSpecified) + gethostname(Host, sizeof Host); + +- safename = host_specific_filename("tmp.XXXXXXXXXX", 1); ++ safename = host_specific_filename("#tmp", "XXXXXXXXXX"); + if (!safename || !glue_strings(TempFilename, sizeof TempFilename, SPOOL_DIR, + safename, '/')) { + TempFilename[0] = '\0'; +-- +cgit v0.11.2 + diff --git a/cronie.spec b/cronie.spec index c3d92cc..2907777 100644 --- a/cronie.spec +++ b/cronie.spec @@ -17,7 +17,7 @@ Summary: Cron daemon for executing programs at set times Name: cronie Version: 1.5.0 -Release: 3 +Release: 4 License: MIT and BSD and GPL v2 Group: Daemons Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz @@ -29,6 +29,7 @@ Source5: %{name}.pam Source6: crond.service Patch0: inotify-nosys.patch Patch1: sendmail-path.patch +Patch2: cronie-temp.patch URL: https://fedorahosted.org/cronie/ %{?with_audit:BuildRequires: audit-libs-devel} BuildRequires: autoconf @@ -89,6 +90,7 @@ however this could be overloaded in settings. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %{__aclocal} -- 2.43.0