From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40821) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1drbIz-0004YD-Vo for guix-patches@gnu.org; Mon, 11 Sep 2017 22:52:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1drbIw-0004ew-PR for guix-patches@gnu.org; Mon, 11 Sep 2017 22:52:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:54010) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1drbIw-0004es-LN for guix-patches@gnu.org; Mon, 11 Sep 2017 22:52:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1drbIw-0007nd-BB for guix-patches@gnu.org; Mon, 11 Sep 2017 22:52:02 -0400 Subject: [bug#28429] [PATCH] gnu: Add John the Ripper. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40645) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1drbHl-0004D8-K2 for guix-patches@gnu.org; Mon, 11 Sep 2017 22:50:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1drbHi-0003sE-Cp for guix-patches@gnu.org; Mon, 11 Sep 2017 22:50:49 -0400 Received: from mail.centurylink.net ([205.219.233.9]:14351 helo=smtp.centurylink.net) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1drbHh-0003rs-Li for guix-patches@gnu.org; Mon, 11 Sep 2017 22:50:45 -0400 From: Eric Bavier Date: Mon, 11 Sep 2017 21:50:14 -0500 Message-Id: <20170912025014.27269-1-bavier@member.fsf.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 28429@debbugs.gnu.org Cc: Eric Bavier * gnu/packages/password-utils.scm (john-the-ripper-jumbo): New variable. --- gnu/packages/password-utils.scm | 96 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index bde1ea854..97e20e7eb 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -11,6 +11,7 @@ ;;; Copyright =C2=A9 2017 Cl=C3=A9ment Lassieur ;;; Copyright =C2=A9 2017 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2017 Jelle Licht +;;; Copyright =C2=A9 2017 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,10 +42,13 @@ #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) + #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) #:use-module (gnu packages man) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -480,3 +484,95 @@ use pass, the standard unix password manager, as the credential backend for your git repositories. This is achieved by explicitly defining mappings between hosts and entries in the password store.") (license license:lgpl3+))) + +(define-public john-the-ripper-jumbo + (let ((official-version "1.8.0") + (jumbo-version "1")) + (package + (name "john-the-ripper-jumbo") + (version (string-append official-version "-" jumbo-version)) + (source + (origin + (method url-fetch) + (uri (string-append "http://www.openwall.com/john/j/john-" + official-version "-jumbo-" jumbo-version ".tar.xz")) + (sha256 + (base32 + "08q92sfdvkz47rx6qjn7qv57cmlpy7i7rgddapq5384mb413vjds")) + (patches + (list (origin + (method url-fetch) + (uri (string-append "https://github.com/magnumripper/" + "JohnTheRipper/commit/" + "e2e868db3e153b3f959e119a51703d4afb99c624.patch")) + (file-name "john-the-ripper-jumbo-gcc5-inline.patch") + (sha256 + (base32 + "1shvcf1y2097115mxhzdkm64dr106a8zr6pqjqyh171q5ng5vfra"))) + (origin + (method url-fetch) + (uri (string-append "https://github.com/magnumripper/" + "JohnTheRipper/commit/" + "480e95b0e449863be3e1a5b0bc634a67df28b618.patch")) + (file-name "john-the-ripper-jumbo-non-x86.patch") + (sha256 + (base32 + "1ffd9dvhk0sb6ss8dv5yalh01lz30i7rilqilf2xv68gax2hyjqx"))))))) + (build-system gnu-build-system) + (inputs + `(("gmp" ,gmp) + ("krb5" ,mit-krb5) + ("libpcap" ,libpcap) + ("nss" ,nss) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (arguments + `(#:configure-flags + (list (string-append + "CFLAGS=3D" + "-DJOHN_SYSTEMWIDE=3D1 " + "-DJOHN_SYSTEMWIDE_EXEC=3D'\"" %output "/libexec/john\"' " + "-DJOHN_SYSTEMWIDE_HOME=3D'\"" %output "/share/john\"'") + "--disable-native-tests" + "--disable-native-macro") + #:tests=3F #f ;tests assume /etc/passwd has a pw_dir for the build user + #:phases + (modify-phases %standard-phases + (add-before 'configure 'chdir-src + (lambda _ (chdir "src"))) + (replace 'install + (lambda _ + (let ((bindir (string-append %output "/bin")) + (docdir (string-append %output "/share/doc/john")) + (execdir (string-append %output "/libexec/john")) + (homedir (string-append %output "/share/john")) + (install-file-to (lambda (dir) + (lambda (f) (install-file f dir)))) + (symlink=3F (lambda (_ s) (eq=3F (stat:type s) 'symlink)))) + (with-directory-excursion "../run" + (for-each (install-file-to execdir) + (cons* "mailer" "benchmark-unify" + (find-files "." ".*\\.(py|rb|pl)"))) + (for-each (install-file-to homedir) + (append (find-files "." "(stats|dictionary.*)") + (find-files "." "(.*\\.chr|.*\\.lst)") + (find-files "." ".*\\.conf"))) + (for-each (install-file-to bindir) + '("tgtsnarf" "genmkvpwd" "mkvcalcproba" + "raw2dyna" "luks2john" "vncpcap2john" + "uaf2john" "calc_stat" "wpapcap2john" + "cprepair" "relbench" "SIPdump" "john")) + (for-each (lambda (f) ;install symlinked aliases + (symlink "john" + (string-append bindir "/" (basename f)))) + (find-files "." symlink=3F))) + (copy-recursively "../doc" docdir) + #t)))))) + (home-page "http://www.openwall.com/john/") + (synopsis "Password cracker") + (description "John the Ripper is a fast password cracker. Its primary +purpose is to detect weak Unix passwords. Besides several crypt(3) password +hash types most commonly found on various Unix systems, supported out of the +box are Windows LM hashes, plus lots of other hashes and ciphers. This is the +community-enhanced, \"jumbo\" version of John the Ripper.") + (license license:gpl2+)))) -- 2.14.1