blob: 43470d5925e531882b8feb27a293e0368be0a69d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Michal Krenek <mikos@sg1.cz>
pkgname=john
pkgver=1.7.9
pkgrel=7
_jumbover=7
pkgdesc="John The Ripper - A fast password cracker (jumbo-$_jumbover included)"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.openwall.com/$pkgname/"
license=('GPL2' 'custom')
depends=('openssl')
optdepends=("perl: for executing some of the scripts at /usr/share/john"
"ruby: for executing some of the scripts at /usr/share/john"
"python: for executing some of the scripts at /usr/share/john")
backup=('etc/john/john.conf')
install=john.install
source=(http://www.openwall.com/$pkgname/g/$pkgname-$pkgver.tar.bz2
http://www.openwall.com/john/g/john-$pkgver-jumbo-$_jumbover.diff.gz
ftp://ftp.kfki.hu/pub/packages/security/ssh/ossh/libdes-4.04b.tar.gz
params.h.patch)
md5sums=('45f54fc59386ecd67daaef9f19781d93'
'b953fcb7f743eeeb5f938a28c352b8ef'
'c8d5c69f86c2eedb485583b0305284a1'
'f69ed632eba8fb9e45847a4b4a323787')
build() {
# jumbo patch
cd ${srcdir}/$pkgname-$pkgver
patch -p1 < ${srcdir}/$pkgname-$pkgver-jumbo-$_jumbover.diff
cd ${srcdir}/john-$pkgver/src/
# patch default params
patch -p0 < ${srcdir}/params.h.patch
if [ "$CARCH" == "x86_64" ]; then
sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=x86-64 -DJOHN_SYSTEMWIDE=1|' Makefile
sed -i 's|^LDFLAGS =\(.*\)|LDFLAGS =\1 -lm|' Makefile
sed -i -e 's|-m486||g' Makefile
elif [ "$CARCH" == "mips64el" ]; then
sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=mips3 -mtune=loongson2f -DJOHN_SYSTEMWIDE=1|' Makefile
#sed -i 's|^LDFLAGS =\(.*\)|LDFLAGS =\1 -lm|' Makefile
else sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=i686 -DJOHN_SYSTEMWIDE=1|' Makefile
fi
sed -i 's|LIBS = -ldes|LIBS = -ldes -Ldes|' Makefile
# sed -i 's|#include <des.h>|#include "des/des.h"|' KRB5_fmt.c
sed -i 's|#include <des.h>|#include "des/des.h"|' KRB5_std.h
# enable OMP
sed -i 's|#OMPFLAGS = -fopenmp$|OMPFLAGS = -fopenmp|' Makefile
# build john
if [ "$CARCH" == "x86_64" ]; then
make linux-x86-64
elif [ "$CARCH" == "mips64el" ]; then
make generic
else make linux-x86-mmx
fi
}
package() {
# config file
sed -i 's|$JOHN/john.local.conf|/etc/john/john.local.conf|g' ${srcdir}/john-$pkgver/run/john.conf
sed -i 's|$JOHN|/usr/share/john|g' ${srcdir}/john-$pkgver/run/john.conf
install -Dm644 ${srcdir}/john-$pkgver/run/john.conf ${pkgdir}/etc/john/john.conf
# docs
install -d ${pkgdir}/usr/share/doc/john
install -m644 ${srcdir}/john-$pkgver/doc/* ${pkgdir}/usr/share/doc/john/
install -Dm644 ${srcdir}/john-$pkgver/doc/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
# install password list, charset files
install -d ${pkgdir}/usr/share/john/
install -m644 ${srcdir}/${pkgname}-${pkgver}/run/password.lst ${pkgdir}/usr/share/john/
install -m644 ${srcdir}/${pkgname}-${pkgver}/run/dictionary.rfc2865 ${pkgdir}/usr/share/john/
install -m644 ${srcdir}/${pkgname}-${pkgver}/run/stats ${pkgdir}/usr/share/john/
install -m644 ${srcdir}/${pkgname}-${pkgver}/run/{all,alnum,alpha,digits,lanman}.chr \
${pkgdir}/usr/share/john/
install -m644 ${srcdir}/${pkgname}-${pkgver}/run/{dumb16,dumb32,dynamic}.conf \
${pkgdir}/usr/share/john/
# install scripts
john_scripts=(benchmark-unify \
cracf2john.py \
genincstats.rb \
ldif2john.pl \
lion2john-alt.pl \
lion2john.pl \
netntlm.pl \
netscreen.py \
odf2john.py \
pass_gen.pl \
radius2john.pl \
sap2john.pl \
sha-dump.pl \
sha-test.pl \
sipdump2john.py)
for john_script in "${john_scripts[@]}"; do
install -m755 ${srcdir}/${pkgname}-${pkgver}/run/${john_script} \
${pkgdir}/usr/share/john
done
install -m644 ${srcdir}/${pkgname}-${pkgver}/run/dynamic.conf ${pkgdir}/etc/john/
install -Dm644 ${srcdir}/${pkgname}-${pkgver}/run/john.bash_completion \
${pkgdir}/etc/bash_completion.d/john
# install binaries
install -Dm755 ${srcdir}/john-$pkgver/run/john ${pkgdir}/usr/bin/john
install -Dm755 ${srcdir}/john-$pkgver/run/calc_stat ${pkgdir}/usr/bin/calc_stat
install -Dm755 ${srcdir}/john-$pkgver/run/genmkvpwd ${pkgdir}/usr/bin/genmkvpwd
install -Dm755 ${srcdir}/john-$pkgver/run/mkvcalcproba ${pkgdir}/usr/bin/mkvcalcproba
install -Dm755 ${srcdir}/john-$pkgver/run/relbench ${pkgdir}/usr/bin/relbench
install -Dm755 ${srcdir}/john-$pkgver/run/tgtsnarf ${pkgdir}/usr/bin/tgtsnarf
install -Dm755 ${srcdir}/john-$pkgver/run/mailer ${pkgdir}/usr/bin/john-mailer
install -Dm755 ${srcdir}/john-$pkgver/run/raw2dyna ${pkgdir}/usr/bin/raw2dyna
# create links
cd ${pkgdir}/usr/bin
ln -s john hccap2john
ln -s john keepass2john
ln -s john pdf2john
ln -s john pwsafe2john
ln -s john racf2john
ln -s john rar2john
ln -s john ssh2john
ln -s john unafs
ln -s john unique
ln -s john unshadow
ln -s john undrop
ln -s john zip2john
}
# vim:set ts=2 sw=2 et:
|