GNU bug report logs - #28429
[PATCH] gnu: Add John the Ripper.

Previous Next

Package: guix-patches;

Reported by: Eric Bavier <bavier <at> member.fsf.org>

Date: Tue, 12 Sep 2017 02:52:02 UTC

Severity: normal

Tags: patch

Done: Eric Bavier <ericbavier <at> centurylink.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eric Bavier <ericbavier <at> centurylink.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#28429: closed ([PATCH] gnu: Add John the Ripper.)
Date: Thu, 14 Sep 2017 03:21:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 13 Sep 2017 22:20:07 -0500
with message-id <20170913222007.1dd3ad35 <at> centurylink.net>
and subject line Re: [bug#28429] [PATCH] gnu: Add John the Ripper.
has caused the debbugs.gnu.org bug report #28429,
regarding [PATCH] gnu: Add John the Ripper.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
28429: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28429
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eric Bavier <bavier <at> member.fsf.org>
To: guix-patches <at> gnu.org
Cc: Eric Bavier <bavier <at> member.fsf.org>
Subject: [PATCH] gnu: Add John the Ripper.
Date: Mon, 11 Sep 2017 21:50:14 -0500
* 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 © 2017 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2017 Jelle Licht <jlicht <at> fsfe.org>
+;;; Copyright © 2017 Eric Bavier <bavier <at> member.fsf.org>
 ;;;
 ;;; 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="
+                "-DJOHN_SYSTEMWIDE=1 "
+                "-DJOHN_SYSTEMWIDE_EXEC='\"" %output "/libexec/john\"' "
+                "-DJOHN_SYSTEMWIDE_HOME='\"" %output "/share/john\"'")
+               "--disable-native-tests"
+               "--disable-native-macro")
+         #:tests? #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? (lambda (_ s) (eq? (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?)))
+                 (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



[Message part 3 (message/rfc822, inline)]
From: Eric Bavier <ericbavier <at> centurylink.net>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 28429-done <at> debbugs.gnu.org
Subject: Re: [bug#28429] [PATCH] gnu: Add John the Ripper.
Date: Wed, 13 Sep 2017 22:20:07 -0500
On Wed, 13 Sep 2017 23:22:21 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:

> >> /etc/passwd in the build environment has this line (see
> >> nix/libstore/build.cc:1859):
> >> 
> >>   nixbld:x:%1%:%2%:Nix build user:/:/noshell
> >> 
> >> Isn’t it sufficient to have “/” as the home directory?  
> >
> > It seems the build user noes not have sufficient permissions to create a
> > directory there?  The tests want to create "~/.john" (specifically
> > "//.john").  
> 
> And setting ‘HOME’ isn’t enough?  (There are several packages where we
> do that right before the ‘check’ phase.)

The code accesses 'getpwuid(getuid())->pw_dir', so effectively ignores
'HOME'.

> 
> > From dd9795e5d63beaf06f2e3c76944e82a5564dc87d Mon Sep 17 00:00:00 2001
> > From: Eric Bavier <bavier <at> member.fsf.org>
> > Date: Mon, 11 Sep 2017 21:44:14 -0500
> > Subject: [PATCH] gnu: Add John the Ripper.
> >
> > * gnu/packages/password-utils.scm (john-the-ripper-jumbo): New variable.  
> 
> Perfect, thanks!

Pushed in eb28a777b5ad13e88d5932e9f97c976a079c94ac.

`~Eric


This bug report was last modified 7 years and 338 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.