johntheripper: bumped to 1.7.9

This commit is contained in:
Anton Bolshakov 2011-12-21 10:54:10 +00:00
parent ce881f5228
commit 58d1531eeb
3 changed files with 224 additions and 0 deletions

View file

@ -1,5 +1,6 @@
AUX johntheripper-1.7.3.1-mkdir-sandbox.patch 562 RMD160 10fa90b61b07aa902bd88d14eed38be2b66573bf SHA1 1f4520d3e339b853dc480cd6e3a4956aa878a15f SHA256 9bf9577ed74048b4df82bc6fcf546469e07c93d27de438dd3aa36b5b360b27f0
AUX johntheripper-1.7.6-cflags.patch 2927 RMD160 76bf59d4938ef618b49a19f7067c5e9ba8d24146 SHA1 f2cb76ef4ba742d7fb02c4a1fca1717a932bf93c SHA256 0490311893ec85b4ca9fed1cce39341378959fed307b012f29adf11789a444ae
AUX johntheripper-1.7.9-jumbo-5-NT-performance-02.diff 1300 RMD160 836afc69d1c84a0363abf0b378946121456aa819 SHA1 06abdaaca4ceb50c89e34d6f28d1e5e8eebb6174 SHA256 27ab9ee6cd7b83aa94dbe3c66fb507432f230fde4818a9a754eeb93388f01513
DIST john-1.7.6-fullmpi8-after-jumbo3.diff.gz 13877 RMD160 336fbf62313eeb2fd0fc9b98f0d0ebba8acd5e20 SHA1 daae576031e43cb84144af4fbdb5eee679ad0ad6 SHA256 db7fc9e05f904d0220bf7729c264dfd1761faa77015d3c618d3ec032c1c147bb
DIST john-1.7.6-jumbo-12.diff.gz 226416 RMD160 52c316d91b47be6b8cb8b4801f6c65386a5bdded SHA1 77d0a1824d3b8e8754f39f4f8738b6af48de61e3 SHA256 0f8515ee436a8896ad12a6e0f79df358f6c8d3f87b66754d424d0b10dced8c9f
DIST john-1.7.6-jumbo-9-mscash2-1.diff.gz 7341 RMD160 b03d402de6974176a1953ea6a91b86e4aff3e585 SHA1 440d3b0dc18303079f8147562529b615efa2e5ab SHA256 7e167adb88225f68194c332f9251c746ac2c617c572ecdff8333fe74e7bd97e8
@ -9,7 +10,10 @@ DIST john-1.7.6.tar.gz 832790 RMD160 294fa9a381b45df6fda6e537bc920e74c1d966b0 SH
DIST john-1.7.8-jumbo-7.diff.gz 531197 RMD160 762bfd1d83dd1a59b9ae80e742747cea0d719cda SHA1 1d6389664e5d3d22bf985699d40b1221561ca695 SHA256 ff43dacef40b6e8c6955726145206fef4b1e69f315667b221e37c93b7c2ea030
DIST john-1.7.8-jumbo-8.diff.gz 591879 RMD160 cbc921566be4b3829cf8729d96a00fc35e6b181e SHA1 f64456ff12b722cb13849833f5cc7cdcc82aea38 SHA256 1e8a1bf3629123b4a624a32fcd619dbc1fdfbb53545ff0cdf96b98ddd1419a2f
DIST john-1.7.8.tar.gz 849810 RMD160 622fa45548b97edc5bf5b56322a083b3a2b63e40 SHA1 0f51495fb188955d0fede609810a60b10e6f208f SHA256 12f4307602b9a8f0d3f82daf28e0f59de21aa82c9dcccd16819b288ec83ab559
DIST john-1.7.9-jumbo-5.diff.gz 622881 RMD160 f4f0fa05558f75ec9100832b26a7ca2b25d9c3b0 SHA1 b1b49dcb17a8edde5931664cd8baf77c4d4cf4aa SHA256 9a0ff6b912723a393122fa969b9af8efd9f47b154917870053141a372d5963bd
DIST john-1.7.9.tar.gz 868290 RMD160 b0b67572ea2f7a55a568fb322db000f5f648cf23 SHA1 e58d5d8fa0b5ec0e6f00cd0d396843eff9a94866 SHA256 0d376320b6cc92b0f1341f4a06a79a989c9848e56da8018108b68c0dd6723e05
EBUILD johntheripper-1.7.6-r2.ebuild 4793 RMD160 9c558bb77b61c9cc2f7dd2fcd17d6295f4a6099f SHA1 488954cee99c3b8fbebf053ad43a61de1038f3a0 SHA256 5279cf0175613ca47190609402ed1fdd9db91fef3e63933ad527a961600628c2
EBUILD johntheripper-1.7.6-r5.ebuild 4652 RMD160 6370c468a2ec16fafbb81b88b5db4c28c7271610 SHA1 0827ded477278cc009e71947ac0fae165c8a8adf SHA256 d3c6fc55d6e3a2343be26ebdb585d4ac15a856dd6e5e59351aa627db821827ea
EBUILD johntheripper-1.7.8-r1.ebuild 5079 RMD160 b8219170a9484a32a5a8843530e408fd1e0994dc SHA1 b48eec23ce53ca9dbfb412fecc031fd307434155 SHA256 6478cd1b3f5252771975202d03d948a25764a3e5276277cb9411830a7ef36da3
EBUILD johntheripper-1.7.8-r3.ebuild 4992 RMD160 148f7b7cbc690a47f1e53f90877a4e4eee23140f SHA1 9b028389b26d23bef6f70736bb32ed13a1827a1a SHA256 35240ef5a0d7150b84b93517acc1f2879ddd127c8e163fbd47326ea8a4267e8b
EBUILD johntheripper-1.7.9.ebuild 5089 RMD160 2a7d5bf467444193d5007a280fbb698b4d255ca3 SHA1 41b62405375bab2ced371df815ca745fc3f99a9c SHA256 8ceae47c75ec58a9fbc8bcb5b1b57c2caafcd4c35156a7c88c33be2ad6982853

View file

@ -0,0 +1,31 @@
diff --git a/src/NT_fmt_plug.c b/src/NT_fmt_plug.c
index eb52e3d..411a45b 100644
--- a/src/NT_fmt_plug.c
+++ b/src/NT_fmt_plug.c
@@ -652,7 +652,7 @@ static inline void set_key_helper(unsigned int * keybuffer,
for(; key[md4_size]; i += xBuf, md4_size++)
{
unsigned int temp;
- if ((temp = key[++md4_size]))
+ if ((temp = key[++md4_size]) && md4_size < PLAINTEXT_LENGTH)
{
keybuffer[i] = key[md4_size-1] | (temp << 16);
}
@@ -704,7 +704,7 @@ static inline void set_key_helper_utf8(unsigned int * keybuffer, unsigned int xB
const UTF8 * source, unsigned int lenStoreOffset, unsigned int *lastlen)
{
unsigned int *target = keybuffer;
- unsigned int *targetEnd = &keybuffer[xBuf * ((PLAINTEXT_LENGTH + 1) >> 1)];
+ unsigned int *targetEnd = &keybuffer[xBuf * (PLAINTEXT_LENGTH >> 1)];
UTF32 chl, chh = 0x80;
unsigned int outlen = 0;
@@ -844,7 +844,7 @@ static inline void set_key_helper_encoding(unsigned int * keybuffer,
i = 0;
for(md4_size = 0; key[md4_size]; i += xBuf, md4_size++)
{
- if ((temp = CP_to_Unicode[key[++md4_size]]))
+ if ((temp = CP_to_Unicode[key[++md4_size]]) && md4_size < PLAINTEXT_LENGTH)
keybuffer[i] = CP_to_Unicode[key[md4_size-1]] | (temp << 16);
else {
keybuffer[i] = CP_to_Unicode[key[md4_size-1]] | 0x800000;

View file

@ -0,0 +1,189 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/johntheripper/johntheripper-1.7.8.ebuild,v 1.1 2011/07/05 14:01:52 c1pher Exp $
EAPI="4"
inherit eutils flag-o-matic toolchain-funcs pax-utils
MY_PN="john"
MY_P="${MY_PN}-${PV}"
JUMBO="jumbo-5"
DESCRIPTION="fast password cracker"
HOMEPAGE="http://www.openwall.com/john/"
SRC_URI="http://www.openwall.com/john/g/${MY_P}.tar.gz
!minimal? ( http://www.openwall.com/john/g/${MY_P}-${JUMBO}.diff.gz )"
LICENSE="GPL-2"
SLOT="0"
# This package can't be marked stable for ppc or ppc64 before bug 327211 is closed.
KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
#Remove AltiVec USE flag. Appears to be an upstream issue.
IUSE="custom-cflags dict -minimal mmx mpi openmp sse2"
REQUIRED_USE="openmp? ( !minimal )"
RDEPEND="!minimal? ( >=dev-libs/openssl-0.9.7 )
mpi? ( virtual/mpi )"
DEPEND="${RDEPEND}
dict? ( sys-apps/cracklib-words )
openmp? ( >=sys-devel/gcc-4.2[openmp] )"
S="${WORKDIR}/${MY_P}"
get_target() {
if use alpha; then
echo "linux-alpha"
elif use amd64; then
echo "linux-x86-64"
elif use ppc; then
#if use altivec; then
# echo "linux-ppc32-altivec"
#else
echo "linux-ppc32"
#fi
elif use ppc64; then
#if use altivec; then
# echo "linux-ppc32-altivec"
#else
echo "linux-ppc64"
#fi
# linux-ppc64-altivec is slightly slower than linux-ppc32-altivec for most hash types.
# as per the Makefile comments
elif use sparc; then
echo "linux-sparc"
elif use x86; then
if use sse2; then
echo "linux-x86-sse2"
elif use mmx; then
echo "linux-x86-mmx"
else
echo "linux-x86-any"
fi
elif use ppc-macos; then
# force AltiVec, the non-altivec profile contains ancient compiler cruft
# if use altivec; then
echo "macosx-ppc32-altivec"
# else
# echo "macosx-ppc32"
# fi
# for Tiger this can be macosx-ppc64
elif use x86-macos; then
if use sse2; then
echo "macosx-x86-sse2"
else
echo "macosx-x86"
fi
elif use x86-solaris; then
echo "solaris-x86-any"
else
echo "generic"
fi
}
src_prepare() {
if ! use minimal; then
epatch "${WORKDIR}/${MY_P}-${JUMBO}.diff"
mv README-jumbo doc/
fi
#enable JUMBO build-in MPI
if use mpi; then
sed -i 's:^#CC = mpicc:CC = mpicc:' src/Makefile || die "sed Makefile failed"
sed -i 's:^#MPIOBJ =:MPIOBJ =:' src/Makefile || die "sed Makefile failed"
fi
#OpenMP DES patches fails with JUMBO
# http://openwall.info/wiki/john/parallelization
# if use openmp; then
# # OpenMP support for DES, BSDI, and LM
# epatch "${WORKDIR}/john-1.7.8-omp-des-7.diff"
# epatch "${WORKDIR}/john-1.7.8-fast-des-key-setup-3.diff"
# fi
#fix typo in jumbo7,8 patches
sed -i 's:All15:All5:' run/john.conf || die "sed john.conf failed"
local PATCHLIST="1.7.6-cflags 1.7.3.1-mkdir-sandbox"
cd src
for p in ${PATCHLIST}; do
epatch "${FILESDIR}/${PN}-${p}.patch"
done
#the relevant patch for 1.7.9 jumbo5
epatch "${FILESDIR}/${P}-jumbo-5-NT-performance-02.diff"
if ! use minimal; then
sed -e "s/LDFLAGS *= */override LDFLAGS += /" -e "/LDFLAGS/s/-s//" \
-e "/LDFLAGS/s/-L[^ ]*//g" -e "/CFLAGS/s/-[IL][^ ]*//g" \
-i Makefile || die "sed Makefile failed"
fi
}
src_compile() {
local OMP
use custom-cflags || strip-flags
echo "#define JOHN_SYSTEMWIDE 1" >> config.gentoo
echo "#define JOHN_SYSTEMWIDE_HOME \"${EPREFIX}/etc/john\"" >> config.gentoo
echo "#define JOHN_SYSTEMWIDE_EXEC \"${EPREFIX}/usr/libexec/john\"" >> config.gentoo
append-flags -fPIC -fPIE "-include ${S}/config.gentoo"
gcc-specs-pie && append-ldflags -nopie
use openmp && OMP="-fopenmp"
CPP=$(tc-getCXX) CC=$(tc-getCC) AS=$(tc-getCC) LD=$(tc-getCC)
use mpi && CPP=mpicxx CC=mpicc AS=mpicc LD=mpicc
emake -C src/ \
CPP=${CPP} CC=${CC} AS=${AS} LD=${LD} \
CFLAGS="-c -Wall ${CFLAGS} ${OMP}" \
LDFLAGS="${LDFLAGS}" \
OPT_NORMAL="" \
OMPFLAGS="${OMP}" \
$(get_target)
}
src_test() {
cd run
if [[ -f "${EPREFIX}/etc/john/john.conf" || -f "${EPREFIX}/etc/john/john.ini" ]]; then
# This requires that MPI is actually 100% online on your system, which might not
# be the case, depending on which MPI implementation you are using.
#if use mpi; then
# mpirun -np 2 ./john --test || die 'self test failed'
#else
./john --test || die 'self test failed'
else
ewarn "Tests require '${EPREFIX}/etc/john/john.conf' or '${EPREFIX}/etc/john/john.ini'"
fi
}
src_install() {
# executables
dosbin run/john
newsbin run/mailer john-mailer
pax-mark -m "${ED}usr/sbin/john" || die
dosym john /usr/sbin/unafs
dosym john /usr/sbin/unique
dosym john /usr/sbin/unshadow
# jumbo-patch additions
if ! use minimal; then
dosym john /usr/sbin/undrop
dosbin run/calc_stat
dosbin run/genmkvpwd
dosbin run/mkvcalcproba
insinto /etc/john
doins run/genincstats.rb run/stats
doins run/netscreen.py
doins run/*.pl
fi
# config files
insinto /etc/john
doins run/john.conf
doins run/*.conf run/*.chr run/password.lst
# documentation
dodoc doc/*
}