commit a8f0b8f2acfb7980b832e067a0c5ff8d19c4308e
Author: Arkadiusz Miƛkiewicz <[email protected]>
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 <[email protected]>
+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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to