gnu: Add John the Ripper.
* gnu/packages/password-utils.scm (john-the-ripper-jumbo): New variable.
This commit is contained in:
parent
aa90375afe
commit
eb28a777b5
|
@ -11,6 +11,7 @@
|
||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||||
|
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -41,10 +42,13 @@
|
||||||
#:use-module (gnu packages freedesktop)
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages gnupg)
|
#:use-module (gnu packages gnupg)
|
||||||
|
#:use-module (gnu packages gnuzilla)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages guile)
|
#:use-module (gnu packages guile)
|
||||||
|
#:use-module (gnu packages kerberos)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages man)
|
#:use-module (gnu packages man)
|
||||||
|
#:use-module (gnu packages multiprecision)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
@ -480,3 +484,97 @@ use pass, the standard unix password manager, as the credential backend for
|
||||||
your git repositories. This is achieved by explicitly defining mappings
|
your git repositories. This is achieved by explicitly defining mappings
|
||||||
between hosts and entries in the password store.")
|
between hosts and entries in the password store.")
|
||||||
(license license:lgpl3+)))
|
(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=-O2 -g "
|
||||||
|
"-DJOHN_SYSTEMWIDE=1 "
|
||||||
|
"-DJOHN_SYSTEMWIDE_EXEC='\"" %output "/libexec/john\"' "
|
||||||
|
"-DJOHN_SYSTEMWIDE_HOME='\"" %output "/share/john\"'")
|
||||||
|
;; For now, do not test for instruction set in configure, and
|
||||||
|
;; do not pass '-march=native' to gcc:
|
||||||
|
"--disable-native-tests"
|
||||||
|
"--disable-native-macro")
|
||||||
|
#:tests? #f ;tests try to create '.john' in the build user's $HOME
|
||||||
|
#: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 @code{crypt}
|
||||||
|
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+))))
|
||||||
|
|
Loading…
Reference in New Issue