[packages/cronie] - rel 4; from upstream: In crontab command use a temporary filename that is ignored by crond.

arekm arekm at pld-linux.org
Thu Jan 28 12:33:58 CET 2016


commit a8f0b8f2acfb7980b832e067a0c5ff8d19c4308e
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Jan 28 12:33:53 2016 +0100

    - 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(-)
---
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}
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 <tmraz at fedoraproject.org>
+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
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/cronie.git/commitdiff/a8f0b8f2acfb7980b832e067a0c5ff8d19c4308e



More information about the pld-cvs-commit mailing list