summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-04-08 09:44:49 +0200
committerLudovic Courtès <ludo@gnu.org>2015-04-08 10:20:59 +0200
commitd525da858da26aa47fd3a931dad9bac2fefe7600 (patch)
treee1303b7c4f58f45a05d2576bdadfdc831bb30f89 /gnu
parentde4b3828ca1d76254d5cd062f76be73e249561ca (diff)
downloadguix-d525da858da26aa47fd3a931dad9bac2fefe7600.tar.gz
gnu: inetutils: Apply syslogd patch.
* gnu/packages/patches/inetutils-syslogd.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (inetutils)[source]: Use it.
  [native-inputs]: New field.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/admin.scm10
-rw-r--r--gnu/packages/patches/inetutils-syslogd.patch20
2 files changed, 28 insertions, 2 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 4d4cef7cf3..3a0361299e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -55,7 +55,8 @@
   #:use-module (gnu packages libftdi)
   #:use-module (gnu packages image)
   #:use-module (gnu packages xorg)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages man))
 
 (define-public dmd
   (package
@@ -158,13 +159,18 @@ re-executing them as necessary.")
                                  version ".tar.gz"))
              (sha256
               (base32
-               "04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))))
+               "04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))
+             (patches (list (search-patch "inetutils-syslogd.patch")))))
     (build-system gnu-build-system)
     (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
                  ;; which is currently missing.
                  #:tests? #f))
     (inputs `(("ncurses" ,ncurses)
               ("readline" ,readline)))            ; for 'ftp'
+
+    ;; Help2man is needed because of the patch that modifies syslogd.c.
+    (native-inputs `(("help2man" ,help2man)))
+
     (home-page "http://www.gnu.org/software/inetutils/")
     (synopsis "Basic networking utilities")
     (description
diff --git a/gnu/packages/patches/inetutils-syslogd.patch b/gnu/packages/patches/inetutils-syslogd.patch
new file mode 100644
index 0000000000..0bf9eb7fc6
--- /dev/null
+++ b/gnu/packages/patches/inetutils-syslogd.patch
@@ -0,0 +1,20 @@
+From <http://lists.gnu.org/archive/html/bug-inetutils/2015-04/msg00001.html>.
+
+2015-04-01  Ludovic Courtès  <ludo@gnu.org>
+
+	* src/syslogd.c (load_conffile): Use 'bcopy' instead of 'strcpy'
+	since the two regions may overlap.
+	Reported by Alex Kost <alezost@gmail.com>
+	at <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00780.html>.
+
+--- a/src/syslogd.c
++++ b/src/syslogd.c
+@@ -1989,7 +1989,7 @@ load_conffile (const char *filename, struct filed **nextp)
+       if (*p == '\0' || *p == '#')
+ 	continue;
+ 
+-      strcpy (cline, p);
++      bcopy (p, cline, strlen (p) + 1);
+ 
+       /* Cut the trailing spaces.  */
+       for (p = strchr (cline, '\0'); isspace (*--p);)