[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#27749] [PATCH] gnu: heimdal: Update to 7.4.0 [fixes CVE-2017-11103]
From: |
Alex Vong |
Subject: |
[bug#27749] [PATCH] gnu: heimdal: Update to 7.4.0 [fixes CVE-2017-11103]. |
Date: |
Sat, 21 Oct 2017 17:52:58 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
This is the new patch. It is basically the first patch but with the
sqlite and libedit bundled dependecies removed. I don't know if there
are any other bundled dependencies so I am asking this on the heimdal
mailing list.
Also, since I am not a user of heimdal, we need someone to check if the
new version does work properly (as some test failures occur).
From 4b2fcc8998da79aea5b09d5646569906bb447638 Mon Sep 17 00:00:00 2001
From: Alex Vong <address@hidden>
Date: Tue, 18 Jul 2017 06:36:48 +0800
Subject: [PATCH] gnu: heimdal: Update to 7.4.0.
* gnu/packages/kerberos.scm (heimdal): Update to 7.4.0.
[source]: Update source uri.
[arguments]: Adjust #:configure-flags and build phases accordingly.
[inputs]: Add autoconf, automake, libtool, perl, perl-json, texinfo, unzip
and sqlite.
---
gnu/packages/kerberos.scm | 86 +++++++++++++++++++++++++++++++++++------------
1 file changed, 64 insertions(+), 22 deletions(-)
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index 801b4e44a..fde310e65 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2012, 2013 Nikita Karetnikov <address@hidden>
;;; Copyright © 2012, 2017 Ludovic Courtès <address@hidden>
;;; Copyright © 2017 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2017 Alex Vong <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -145,16 +146,15 @@ secure manner through client-server mutual authentication
via tickets.")
(define-public heimdal
(package
(name "heimdal")
- (version "1.5.3")
+ (version "7.4.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.h5l.org/dist/src/heimdal-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/" name "/" name
+ "/releases/download/" name "-" version
+ "/" name "-" version ".tar.gz"))
(sha256
(base32
- "19gypf9vzfrs2bw231qljfl4cqc1riyg0ai0xmm1nd1wngnpphma"))
- (patches (search-patches "heimdal-CVE-2017-6594.patch"
- "heimdal-CVE-2017-11103.patch"))
+ "1b992ifwnr06h89f8vqp1l0z8ixh29sk9nhk99lw28dd6v6lxq9x"))
(modules '((guix build utils)))
(snippet
'(substitute* "configure"
@@ -162,33 +162,75 @@ secure manner through client-server mutual authentication
via tickets.")
(("Date=.*$") "Date=2017\n")))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags (list
- ;; Work around a linker error.
- "CFLAGS=-pthread"
+ '(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+
+ #:configure-flags (list
+ (string-append "CPPFLAGS=-D_PATH_BSHELL="
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh")
;; Avoid 7 MiB of .a files.
"--disable-static"
;; Do not build libedit.
- (string-append
- "--with-readline-lib="
- (assoc-ref %build-inputs "readline") "/lib")
- (string-append
- "--with-readline-include="
- (assoc-ref %build-inputs "readline") "/include"))
+ (string-append "--with-readline="
+ (assoc-ref %build-inputs "readline"))
+
+ ;; Do not build sqlite.
+ (string-append "--with-sqlite3="
+ (assoc-ref %build-inputs "sqlite")))
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'pre-build
+ (lambda _
+ (for-each (lambda (file) ;fix sh paths
+ (substitute* file
+ (("/bin/sh")
+ (which "sh"))))
+ '("appl/afsutil/pagsh.c" "tools/Makefile.am"))
+ (substitute* "lib/roken/getxxyyy.c" ;set user during test
+ (("user = getenv\\(\"USER\"\\);")
+ (format #f
+ "#ifndef TEST_GETXXYYY
+#error \"TEST_GETXXYYY is not defined\"
+#endif
+user = \"~a\";
+"
+ (passwd:name (getpwuid (getuid))))))
+ #t))
+
+ (add-after 'pre-build 'autogen
+ (lambda _
+ (zero? (system* "sh" "autogen.sh"))))
+
+ ;; FIXME: figure out the complete list of bundled libraries
+ (add-after 'configure 'remove-bundled-libraries
+ (lambda _
+ (for-each delete-file-recursively
+ '("lib/libedit" "lib/sqlite"))))
+
(add-before 'check 'skip-tests
(lambda _
- ;; The test simply runs 'ftp --version && ftp --help'
- ;; but that fails in the chroot because 'ftp' tries to
- ;; do a service lookup before printing the help/version.
- (substitute* "appl/ftp/ftp/Makefile.in"
- (("^CHECK_LOCAL =.*")
- "CHECK_LOCAL = no-check-local\n"))
+ ;; skip db tests for now
+ ;; FIXME: figure out why they fail
+ (call-with-output-file "tests/db/have-db.in"
+ (cut format <> "#!~a~%exit 1~%" (which "sh")))
#t)))))
+
(native-inputs `(("e2fsprogs" ,e2fsprogs))) ;for 'compile_et'
- (inputs `(("readline" ,readline)
+ (inputs `(("autoconf" ,autoconf) ;for autogen
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("perl" ,perl)
+ ("perl-json" ,perl-json)
+
+ ("texinfo" ,texinfo) ;for doc
+ ("unzip" ,unzip) ;for test
+
+ ("readline" ,readline)
+ ("sqlite" ,sqlite)
("bdb" ,bdb)
("e2fsprogs" ,e2fsprogs))) ;for libcom_err
(home-page "http://www.h5l.org/")
--
2.14.2
Cheers,
Alex
signature.asc
Description: PGP signature