aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-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);)