diff --git a/gnu-system.am b/gnu-system.am index 2b4f69dc73..ccc755bb99 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -438,6 +438,7 @@ dist_patch_DATA = \ gnu/packages/patches/guix-test-networking.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ + gnu/packages/patches/inetutils-syslogd.patch \ gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ 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 . + +2015-04-01 Ludovic Courtès + + * src/syslogd.c (load_conffile): Use 'bcopy' instead of 'strcpy' + since the two regions may overlap. + Reported by Alex Kost + at . + +--- 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);)