diff options
-rw-r--r-- | testing/john/APKBUILD | 172 | ||||
-rw-r--r-- | testing/john/gcc5-support.patch | 71 | ||||
-rw-r--r-- | testing/john/params-h.patch | 13 | ||||
-rw-r--r-- | testing/john/truecrypt_fmt_plug.patch | 14 |
4 files changed, 270 insertions, 0 deletions
diff --git a/testing/john/APKBUILD b/testing/john/APKBUILD new file mode 100644 index 0000000000..f8de48cc79 --- /dev/null +++ b/testing/john/APKBUILD @@ -0,0 +1,172 @@ +# Contributor: Francesco Colista <fcolista@alpinelinux.org> +# Maintainer: Francesco Colista <fcolista@alpinelinux.org> +pkgname=john +pkgver=1.8.0 +_pkgrel=jumbo-1 +pkgrel=0 +pkgdesc="John the Ripper password cracker" +url="http://www.openwall.com/john" +arch="all" +license="GPL2" +depends="" +makedepends="libpcap-dev openssl-dev gmp-dev opencl-headers yasm-dev" +install="" +subpackages="$pkgname-doc \ + $pkgname-scripts-py:py \ + $pkgname-scripts-perl:perl \ + $pkgname-scripts-ruby:ruby \ + $pkgname-misc \ + $pkgname-bash-completion:bashcomp" +source="$pkgname-$pkgver.tar.gz::https://github.com/magnumripper/JohnTheRipper/archive/$pkgver-$_pkgrel.tar.gz + truecrypt_fmt_plug.patch + params-h.patch + gcc5-support.patch" +builddir="$srcdir/JohnTheRipper-$pkgver-$_pkgrel" + +build() { + cd "$builddir"/src + sed -i -e "s/ac_default_prefix.*/ac_default_prefix=\/usr/g" configure + ./configure \ + --prefix=/usr \ + --disable-openmp + make || return 1 +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + + install -Dm644 run/john.conf ${pkgdir}/etc/john/john.conf + install -Dm644 run/john.local.conf ${pkgdir}/etc/john/john.local.conf + install -Dm644 doc/* ${pkgdir}/usr/share/doc/$pkgname/ + install -Dm644 doc/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE + + local john_bins="calc_stat genmkvpwd mkvcalcproba \ + relbench tgtsnarf raw2dyna" + for bin in $(echo ${john_bins}); do + install -Dm 755 run/${bin} -t "${pkgdir}/usr/bin" + done + + cd "${pkgdir}/usr/bin" + local john_links="hccap2john keepass2john mozilla2john \ + pdf2john pfx2john pwsafe2john racf2john \ + rar2john ssh2john unafs unique unsahdow \ + undrop zip2john" + for link in $(echo ${john_links}); do + ln -s john ${link} + done +} + +py() { + pkgdesc="Python Scripts for John the Ripper" + arch=noarch + depends="python" + install_if="$pkgname=$pkgver-r$pkgrel" + cd "$builddir" + local john_scripts="1password2john.py ecryptfs2john.py \ + kwallet2john.py openssl2john.py 7z2john.py efs2john.py \ + lotus2john.py pcap2john.py aix2john.py encfs2john.py \ + mcafee_epo2john.py pdf2john.py androidfde2john.py \ + htdigest2john.py ml2john.py sipdump2john.py \ + apex2john.py ikescan2john.py mozilla2john.py \ + ssh2sshng.py bitcoin2john.py kdcdump2john.py \ + netscreen.py sshng2john.py blockchain2john.py \ + keychain2john.py odf2john.py strip2john.py \ + cracf2john.py keystore2john.py office2john.py \ + sxc2john.py dmg2john.py known_hosts2john.py \ + openbsd_softraid2john.py" + + for john_script in $(echo ${john_scripts}); do + install -D -m755 run/${john_script} \ + "$subpkgdir"/usr/share/john + done +} + +perl() { + pkgdesc="Perl Scripts for John the Ripper" + arch=noarch + depends="perl" + install_if="$pkgname=$pkgver-r$pkgrel" + cd "$builddir" + local john_scripts="aix2john.pl ios7tojohn.pl \ + lion2john-alt.pl pass_gen.pl sap2john.pl \ + cisco2john.pl ldif2john.pl lion2john.pl \ + radius2john.pl sha-dump.pl hextoraw.pl \ + leet.pl netntlm.pl rexgen2rules.pl \ + sha-test.pl benchmark-unify" + for john_script in $(echo ${john_scripts}); do + install -D -m755 run/${john_script} \ + "$subpkgdir"/usr/share/john + done +} + +ruby() { + pkgdesc="Ruby Scripts for John the Ripper" + arch=noarch + depends="ruby" + install_if="$pkgname=$pkgver-r$pkgrel" + cd "$builddir" + local john_scripts="genincstats.rb" + for john_script in $(echo ${john_scripts}); do + install -D -m755 run/${john_script} \ + "$subpkgdir"/usr/share/john + done +} + +misc() { + pkgdesc="Misc tools for John the Ripper: password list and charset files" + arch=noarch + install_if="$pkgname=$pkgver-r$pkgrel" + cd "$builddir" + mkdir -p ${subpkgdir}/usr/share/john/kernels/ + + local john_pwdfiles="password.lst dictionary.rfc2865 stats" + local john_conffiles="dumb16.conf dumb32.conf dynamic.conf \ + dynamic_flat_sse_formats.conf regex_alphabets.conf \ + repeats16.conf repeats32.conf" + local john_chrfiles="lowernum.chr alnum.chr upper.chr lower.chr \ + alpha.chr ascii.chr latin1.chr lanman.chr \ + lowerspace.chr digits.chr lm_ascii.chr utf8.chr \ + uppernum.chr makechr alnumspace.chr" + + for john_pwdfiles in $(echo ${john_pwdfiles}); do + install -D -m644 run/${john_pwdfiles} \ + "$subpkgdir"/usr/share/john + done + + for john_conffiles in $(echo ${john_conffiles}); do + install -D -m644 run/${john_conffiles} \ + "$subpkgdir"/usr/share/john + done + + + for john_chrfiles in $(echo ${john_chrfiles}); do + install -D -m644 run/${john_chrfiles} \ + "$subpkgdir"/usr/share/john + done +} + +bashcomp() { + depends="" + pkgdesc="Bash completions for $pkgname" + install_if="$pkgname=$pkgver-r$pkgrel bash-completion" + arch="noarch" + cd "$builddir" + install -Dm644 run/john.bash_completion \ + "$subpkgdir"/usr/share/bash-completion/completions/$pkgname || return 1 +} + + + +md5sums="2e80ec877e78d0c6ce72febb8844e0e2 john-1.8.0.tar.gz +e6e158d946783b14e1109bd96d54bb64 truecrypt_fmt_plug.patch +d6ab104062b9ce84b172ad7ecdd08226 params-h.patch +b1f6ab678caabf4d3adb253735f46def gcc5-support.patch" +sha256sums="95bbd3ecfbe51c6263317b3009bede98f20689a26c7aee191458ed9b26d5c9f6 john-1.8.0.tar.gz +91731241b644dc8cf64d55260801277b168dcd38c5585c10120c75393f0c35fa truecrypt_fmt_plug.patch +2b2396bf9e344bb28fcf91088d5dc12b0c91de3da74a4241d32c44496a291851 params-h.patch +7abd8b061055f7c81de8cadc021050ac113f0f71a0bcfb83680f10d8ca6e04df gcc5-support.patch" +sha512sums="8b7fad7a6330b5ff1afc306218ba698aaa27776b566f82c2e76102d5ceb10aeafa69d71fa6fff67c81996ea2c6a04384bab4696ed192306c6d074873562e7089 john-1.8.0.tar.gz +80be6cc1b1b35c6a85392008638b2f8b6d8a518ee35f59405e2f5682e025e4b8beecf964148311e6f62d76b59153f04427024fa81aaf56ee2062ac2dbf0a9bcb truecrypt_fmt_plug.patch +a5c22feb8bf11509c306a2f236f2bd4891fdfc3b01882f07d85015e0895d82f28df0dff78ba8d3a3862d8d95877a88a9eb8138e6c407b40881fa1455079b98fc params-h.patch +4ebe8b41b1d0c3839348dcf5348332f9d7ce25919077fa054db64b7106150f299c6b177d117f7c18c1db672a494a6de6be8b5afe502f5ca3639602ba3aef6866 gcc5-support.patch" diff --git a/testing/john/gcc5-support.patch b/testing/john/gcc5-support.patch new file mode 100644 index 0000000000..3105add4d3 --- /dev/null +++ b/testing/john/gcc5-support.patch @@ -0,0 +1,71 @@ +diff --git a/src/configure b/src/configure +index 80653dc..1e62ce7 100755 +--- a/src/configure ++++ b/src/configure +@@ -6165,6 +6165,53 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + fi ++ # Justified and Ancient (see #1093) ++ if test "1" = 1; then : ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -std=gnu89" >&5 ++$as_echo_n "checking if $CC supports -std=gnu89... " >&6; } ++fi ++ ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ac_saved_cflags="$CFLAGS" ++ CFLAGS="-Werror -std=gnu89" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ if test "1" = 1; then : ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++fi ++ CFLAGS_EX="$CFLAGS_EX -std=gnu89" ++ ++else ++ if test "1" = 1; then : ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ CFLAGS="$ac_saved_cflags" ++ ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ + + for i in "$CFLAGS_EX"; do + jtr_list_add_dupe=0 +diff --git a/src/configure.ac b/src/configure.ac +index 5a3b1c7..0ea18f3 100644 +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -200,6 +200,8 @@ fi + JTR_FLAG_CHECK([-Wno-format-extra-args], 1) + #JTR_FLAG_CHECK([-Wno-unneeded-internal-declaration], 1) + AS_IF([test "x$JTR_FLAG_Q_CHECK_WORKS" = xyes], [JTR_FLAG_CHECK([-Qunused-arguments],1)]) ++ # Justified and Ancient (see #1093) ++ JTR_FLAG_CHECK([-std=gnu89], 1) + JTR_LIST_ADD(CFLAGS_EXTRA, ["$CFLAGS_EX"]) + ],[dnl + AC_MSG_NOTICE([Unable to validate $CC command line arguments. CFLAGS may need to be passed to ./configure for proper build]) diff --git a/testing/john/params-h.patch b/testing/john/params-h.patch new file mode 100644 index 0000000000..0cd87a7ff5 --- /dev/null +++ b/testing/john/params-h.patch @@ -0,0 +1,13 @@ +--- a/src/params.h.orig 2006-03-17 08:23:42.000000000 -0500 ++++ b/src/params.h 2006-03-17 08:50:35.000000000 -0500 +@@ -101,8 +101,8 @@ + /* + * File names. + */ +-#define CFG_FULL_NAME "$JOHN/john.conf" +-#define CFG_ALT_NAME "$JOHN/john.ini" ++#define CFG_FULL_NAME "/etc/john/john.conf" ++#define CFG_ALT_NAME "/etc/john/john.ini" + #if JOHN_SYSTEMWIDE + #define CFG_PRIVATE_FULL_NAME JOHN_PRIVATE_HOME "/john.conf" + #define CFG_PRIVATE_ALT_NAME JOHN_PRIVATE_HOME "/john.ini" diff --git a/testing/john/truecrypt_fmt_plug.patch b/testing/john/truecrypt_fmt_plug.patch new file mode 100644 index 0000000000..20da51ba7e --- /dev/null +++ b/testing/john/truecrypt_fmt_plug.patch @@ -0,0 +1,14 @@ +--- a/src/truecrypt_fmt_plug.c.orig 2014-12-18 07:59:02.000000000 +0000 ++++ b/src/truecrypt_fmt_plug.c 2014-12-18 20:00:47.321449585 +0000 +@@ -310,8 +310,8 @@ static int crypt_all(int *pcount, struct + pbkdf2_sha512_sse((const unsigned char **)pin, lens, psalt->salt, 64, psalt->num_iterations, &(x.poutc), sizeof(key), 0); + } + #else +- if (is_sha512) +- pbkdf2_sha512((const unsigned char*)key_buffer[i], strlen(key_buffer[i]), psalt->salt, 64, num_iterations, key, sizeof(key), 0); ++ if (psalt->hash_type == IS_SHA512) ++ pbkdf2_sha512((const unsigned char*)key_buffer[i], strlen((char*)key_buffer[i]), psalt->salt, 64, psalt->num_iterations, key, sizeof(key), 0); + #endif + else if (psalt->hash_type == IS_RIPEMD160) + pbkdf2_ripemd160(key_buffer[i], strlen((char*)(key_buffer[i])), psalt->salt, 64, psalt->num_iterations, key, sizeof(key), 0); + |