Update to 1.9.0-1, allowing to crack a whole lot of new cipher types.

feedback sthen@
tested and OK gonzalo@
This commit is contained in:
sebastia 2020-12-19 21:32:07 +00:00
parent 3cb7364b05
commit b215c7f18b
14 changed files with 224 additions and 184 deletions

View File

@ -1,12 +1,11 @@
# $OpenBSD: Makefile,v 1.22 2020/04/07 13:29:52 bentley Exp $
# $OpenBSD: Makefile,v 1.23 2020/12/19 21:32:07 sebastia Exp $
COMMENT = extremely fast password cracker, with community patches
BROKEN-alpha = DES_bs.c:173: internal compiler error: in get_callee_fndecl, at tree.c:5940
FIX_EXTRACT_PERMISSIONS=Yes
V = 1.8.0
V = 1.9.0
JV = 1
REVISION = 4
EXTRACT_SUFX = .tar.xz
DISTNAME = john-$V-jumbo-${JV}
@ -14,17 +13,17 @@ PKGNAME = john-jumbo-$V.${JV}
CATEGORIES = security
HOMEPAGE = https://www.openwall.com/john/
MAINTAINER = Sebastian Reitenbach <sebastia@openbsd.org>
# files from various authors; see license review txt file
PERMIT_PACKAGE = Yes
WANTLIB += c crypto m nspr4 nss3 pcap plc4 plds4 pthread smime3
WANTLIB += nssutil3 sqlite3 ssl ssl3 z
WANTLIB += c crypto m nspr4 nss3 pcap plc4 plds4 smime3
WANTLIB += nssutil3 ssl ssl3 z
MASTER_SITES = https://www.openwall.com/john/j/
MASTER_SITES = https://www.openwall.com/john/k/
LIB_DEPENDS = databases/sqlite3 \
security/nss
LIB_DEPENDS = security/nss
USE_GMAKE = Yes
MAKE_FILE = Makefile.legacy
@ -68,17 +67,17 @@ ALL_TARGET= openbsd-sparc64
ALL_TARGET= generic
.endif
BINS += SIPdump calc_stat cprepair genmkvpwd luks2john makechr
BINS += SIPdump calc_stat cprepair genmkvpwd makechr
BINS += mkvcalcproba raw2dyna tgtsnarf uaf2john vncpcap2john wpapcap2john
do-configure:
perl -pi -e 's,\$$JOHN/john.conf,${SYSCONFDIR}/john.conf,' ${WRKSRC}/params.h
rm ${WRKSRC}/KRB4_*_plug.c # no old DES API support in LibreSSL
rm ${WRKSRC}/rawSHA0_fmt_plug.c # no SHA-0 support in LibreSSL
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/john
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/john
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/john/rules
${INSTALL_PROGRAM} ${WRKDIST}/run/john ${PREFIX}/bin
cd ${WRKDIST}/run; ${INSTALL_PROGRAM} ${BINS} ${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKDIST}/run/mailer \
@ -87,7 +86,9 @@ do-install:
ln -sf john ${PREFIX}/bin/`basename $$i`; done
${INSTALL_DATA} ${WRKDIST}/run/*.{chr,conf,lst} \
${PREFIX}/share/examples/john
${INSTALL_DATA} ${WRKDIST}/doc/* ${PREFIX}/share/doc/john
${INSTALL_DATA} ${WRKDIST}/run/rules/*.rule \
${PREFIX}/share/examples/john/rules
cp -R ${WRKDIST}/doc/* ${PREFIX}/share/doc/john
# not using TEST_TARGET as it gets confused by the quotes in CFLAGS
do-test:

View File

@ -1,2 +1,2 @@
SHA256 (john-1.8.0-jumbo-1.tar.xz) = usk9AlmVoFHwVa29fOLxl1Z2ysbHSmx6PuTP3ZwWCSM=
SIZE (john-1.8.0-jumbo-1.tar.xz) = 23232492
SHA256 (john-1.9.0-jumbo-1.tar.xz) = 9dEj+CmDxT2MxZjhdDlLB0vnp3dW9fte2FFZGMgefzs=
SIZE (john-1.9.0-jumbo-1.tar.xz) = 33638768

View File

@ -1,8 +1,8 @@
$OpenBSD: patch-src_Makefile_legacy,v 1.2 2018/04/24 18:10:55 naddy Exp $
$OpenBSD: patch-src_Makefile_legacy,v 1.3 2020/12/19 21:32:07 sebastia Exp $
Index: src/Makefile.legacy
--- src/Makefile.legacy.orig
+++ src/Makefile.legacy
@@ -1073,11 +1073,9 @@ openbsd-alpha:
@@ -976,11 +976,9 @@ openbsd-alpha:
openbsd-sparc64:
$(LN) sparc64.h arch.h
@echo "#define JOHN_BLD" '"'$@'"' > john_build_rule.h
@ -16,7 +16,7 @@ Index: src/Makefile.legacy
@echo "All done"
openbsd-sparc:
@@ -1922,7 +1920,7 @@ generic: generic.h
@@ -1718,7 +1716,7 @@ generic: generic.h
$(RM) arch.h
ln -s generic.h arch.h
@echo "#define JOHN_BLD" '"'$@'"' > john_build_rule.h
@ -25,12 +25,12 @@ Index: src/Makefile.legacy
generic.h:
$(RM) arch.h
@@ -2307,7 +2305,7 @@ john.com: john.asm
@@ -1919,7 +1917,7 @@ john.com: john.asm
../run/cprepair: cprepair.c unicode.c unicode.h options.h misc.h misc.c \
memdbg.h memdbg.c
- $(CC) -Wall -O3 -s -DNOT_JOHN -D_JOHN_MISC_NO_LOG cprepair.c unicode.c \
+ $(CC) -Wall $(COPTFLAGS) -s -DNOT_JOHN -D_JOHN_MISC_NO_LOG cprepair.c unicode.c \
misc.c memdbg.c -o ../run/cprepair
misc.c memory.c -o ../run/cprepair
../run/tgtsnarf: tgtsnarf.o

View File

@ -1,14 +1,16 @@
$OpenBSD: patch-src_cprepair_c,v 1.1 2018/04/24 18:10:55 naddy Exp $
$OpenBSD: patch-src_cprepair_c,v 1.2 2020/12/19 21:32:07 sebastia Exp $
upstreamed
Index: src/cprepair.c
--- src/cprepair.c.orig
+++ src/cprepair.c
@@ -274,7 +274,7 @@ static int process_file(char *name)
@@ -241,7 +241,7 @@ static int process_file(char *name)
int main(int argc, char **argv)
{
- char c;
- signed char c;
+ int c;
options.verbosity = 3;
options.verbosity = VERB_DEFAULT;

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-src_efs_fmt_plug_c,v 1.4 2015/01/18 11:57:22 sthen Exp $
--- src/efs_fmt_plug.c.orig Thu Dec 18 00:59:02 2014
+++ src/efs_fmt_plug.c Sun Jan 18 04:51:49 2015
@@ -42,6 +42,10 @@ john_register_one(&fmt_efs);
#endif
#include "memdbg.h"
+#ifndef C_Block
+#define C_Block DES_cblock
+#endif
+
#ifdef MMX_COEF
#define SHA1_BLK (SHA1_SSE_PARA * MMX_COEF)
#endif

View File

@ -1,9 +1,10 @@
$OpenBSD: patch-src_gpg_fmt_plug_c,v 1.4 2015/01/18 11:57:22 sthen Exp $
--- src/gpg_fmt_plug.c.orig Thu Dec 18 00:59:02 2014
+++ src/gpg_fmt_plug.c Sun Jan 18 04:51:59 2015
@@ -54,6 +54,10 @@ john_register_one(&fmt_gpg);
#include "stdint.h"
#include "memdbg.h"
$OpenBSD: patch-src_gpg_fmt_plug_c,v 1.5 2020/12/19 21:32:07 sebastia Exp $
Index: src/gpg_fmt_plug.c
--- src/gpg_fmt_plug.c.orig
+++ src/gpg_fmt_plug.c
@@ -50,6 +50,10 @@ john_register_one(&fmt_gpg);
#include "sha2.h"
#include "gpg_common.h"
+#ifndef C_Block
+#define C_Block DES_cblock

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-src_int-util_h,v 1.1 2020/12/19 21:32:07 sebastia Exp $
fix from upstream
Index: src/int-util.h
--- src/int-util.h.orig
+++ src/int-util.h
@@ -118,6 +118,12 @@ static inline uint32_t div128_32(uint64_t dividend_hi,
static inline uint32_t ident32(uint32_t x) { return x; }
static inline uint64_t ident64(uint64_t x) { return x; }
+#undef swap32
+#define swap32 john_swap32
+
+#undef swap64
+#define swap64 john_swap64
+
static inline uint32_t swap32(uint32_t x) {
x = ((x & 0x00ff00ff) << 8) | ((x & 0xff00ff00) >> 8);
return (x << 16) | (x >> 16);

View File

@ -1,14 +1,15 @@
$OpenBSD: patch-src_keychain_fmt_plug_c,v 1.5 2015/01/18 11:57:22 sthen Exp $
--- src/keychain_fmt_plug.c.orig Thu Dec 18 00:59:02 2014
+++ src/keychain_fmt_plug.c Sun Jan 18 04:52:03 2015
@@ -33,6 +33,10 @@ john_register_one(&fmt_keychain);
#endif
#include "memdbg.h"
$OpenBSD: patch-src_keychain_fmt_plug_c,v 1.6 2020/12/19 21:32:07 sebastia Exp $
Index: src/keychain_fmt_plug.c
--- src/keychain_fmt_plug.c.orig
+++ src/keychain_fmt_plug.c
@@ -38,6 +38,10 @@ john_register_one(&fmt_keychain);
#include "pbkdf2_hmac_sha1.h"
#include "jumbo.h"
+#ifndef C_Block
+#define C_Block DES_cblock
+#endif
+
#define FORMAT_LABEL "keychain"
#define FORMAT_NAME "Mac OS X Keychain"
#ifdef MMX_COEF
#define FORMAT_LABEL "keychain"
#ifdef SIMD_COEF_32

View File

@ -1,8 +1,9 @@
$OpenBSD: patch-src_mozilla_ng_fmt_plug_c,v 1.2 2015/01/18 11:57:22 sthen Exp $
--- src/mozilla_ng_fmt_plug.c.orig Thu Dec 18 00:59:02 2014
+++ src/mozilla_ng_fmt_plug.c Sun Jan 18 04:52:05 2015
@@ -39,6 +39,10 @@ john_register_one(&fmt_mozilla);
#include <openssl/des.h>
$OpenBSD: patch-src_mozilla_ng_fmt_plug_c,v 1.3 2020/12/19 21:32:07 sebastia Exp $
Index: src/mozilla_ng_fmt_plug.c
--- src/mozilla_ng_fmt_plug.c.orig
+++ src/mozilla_ng_fmt_plug.c
@@ -38,6 +38,10 @@ john_register_one(&fmt_mozilla);
#include "options.h"
#include "sha.h"
+#ifndef C_Block

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_sip_fmt_plug_c,v 1.1 2020/12/19 21:32:07 sebastia Exp $
from upstream
Index: src/sip_fmt_plug.c
--- src/sip_fmt_plug.c.orig
+++ src/sip_fmt_plug.c
@@ -199,6 +199,8 @@ static void *get_salt(char *ciphertext)
char *saltcopy = saltBuf;
memset(&salt, 0, sizeof(salt));
+ memset(&md5_ctx, 0, sizeof(md5_ctx));
+
strcpy(saltBuf, ciphertext);
saltcopy += FORMAT_TAG_LEN; /* skip over "$sip$*" */
memset(&login, 0, sizeof(login_t));

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-src_ssh_ng_fmt_plug_c,v 1.4 2015/01/18 11:57:22 sthen Exp $
--- src/ssh_ng_fmt_plug.c.orig Thu Dec 18 00:59:02 2014
+++ src/ssh_ng_fmt_plug.c Sun Jan 18 04:52:08 2015
@@ -42,6 +42,10 @@ static int omp_t = 1;
#include "md5.h"
#include "memdbg.h"
+#ifndef C_Block
+#define C_Block DES_cblock
+#endif
+
#define FORMAT_LABEL "SSH-ng"
#define FORMAT_NAME ""
#define ALGORITHM_NAME "RSA/DSA 32/" ARCH_BITS_STR

View File

@ -1,15 +1,17 @@
$OpenBSD: patch-src_tgtsnarf_c,v 1.1 2018/04/24 18:10:55 naddy Exp $
$OpenBSD: patch-src_tgtsnarf_c,v 1.2 2020/12/19 21:32:07 sebastia Exp $
upstreamed
Index: src/tgtsnarf.c
--- src/tgtsnarf.c.orig
+++ src/tgtsnarf.c
@@ -253,8 +253,8 @@ upcase(char *string)
int
@@ -261,9 +261,8 @@ int
main(int argc, char *argv[])
#endif
{
- char c, *p, *host, *realm, user[128];
- signed char c;
char *p, *host, *realm, user[128];
- int i;
+ char *p, *host, *realm, user[128];
+ int c, i;
host = realm = NULL;

View File

@ -1,76 +0,0 @@
$OpenBSD: patch-src_truecrypt_fmt_plug_c,v 1.3 2015/01/18 11:57:22 sthen Exp $
From 61d7d8b0985a3015921df839c68cf42e49d72260 Mon Sep 17 00:00:00 2001
From: jfoug <jfoug@cox.net>
Date: Tue, 23 Dec 2014 06:28:40 -0600
Subject: [PATCH] truecrypt: fixed unified format. Fix #941
From 480e95b0e449863be3e1a5b0bc634a67df28b618 Mon Sep 17 00:00:00 2001
From: Solar <solar@openwall.com>
Date: Thu, 18 Dec 2014 21:24:01 +0100
Subject: [PATCH] Fix a bug in truecrypt for non-x86 archs. Closes #912.
--- src/truecrypt_fmt_plug.c.orig Thu Dec 18 00:59:02 2014
+++ src/truecrypt_fmt_plug.c Sat Jan 17 07:38:39 2015
@@ -235,18 +235,24 @@ static void* get_salt(char *ciphertext)
return s;
}
-/***********************************************************************************************************
- * we know first sector has Tweak value of 0. For this, we just AES a null 16 bytes, then do the XeX using
- * the results for our xor, then modular mult GF(2) that value for the next round. NOTE, len MUST
- * be an even multiple of 16 bytes. We do NOT handle CT stealing. But the way we use it in the TC format
- * we only decrypt 16 bytes, and later (if it looks 'good'), we decrypt the whole first sector (512-64 bytes)
- * both which are even 16 byte data.
- * This code has NOT been optimized. It was based on simple reference code that I could get my hands on. However,
- * 'mostly' we do a single limb AES-XTS which is just 2 AES, and the buffers xored (before and after). There is
- * no mulmod GF(2) logic done in that case. NOTE, there was NO noticable change in speed, from using original
- * oSSL EVP_AES_256_XTS vs this code, so this code is deemed 'good enough' for usage in this location.
- ***********************************************************************************************************/
-static void AES_256_XTS_first_sector(const unsigned char *double_key, unsigned char *out, const unsigned char *data, unsigned len) {
+/*****************************************************************************
+ * we know first sector has Tweak value of 0. For this, we just AES a null 16
+ * bytes, then do the XeX using the results for our xor, then modular mult
+ * GF(2) that value for the next round. NOTE, len MUST be an even multiple of
+ * 16 bytes. We do NOT handle CT stealing. But the way we use it in the TC
+ * format we only decrypt 16 bytes, and later (if it looks 'good'), we decrypt
+ * the whole first sector (512-64 bytes) both which are even 16 byte data.
+ * This code has NOT been optimized. It was based on simple reference code that
+ * I could get my hands on. However, 'mostly' we do a single limb AES-XTS which
+ * is just 2 AES, and the buffers xored (before and after). There is no mulmod
+ * GF(2) logic done in that case. NOTE, there was NO noticable change in
+ * speed, from using original oSSL EVP_AES_256_XTS vs this code, so this code
+ * is deemed 'good enough' for usage in this location.
+ *****************************************************************************/
+static void AES_256_XTS_first_sector(const unsigned char *double_key,
+ unsigned char *out,
+ const unsigned char *data,
+ unsigned len) {
unsigned char tweak[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
unsigned char buf[16];
int i, j, cnt;
@@ -310,8 +316,8 @@ static int crypt_all(int *pcount, struct db_salt *salt
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);
@@ -463,8 +469,13 @@ struct fmt_main fmt_truecrypt = {
BINARY_ALIGN,
SALT_SIZE,
SALT_ALIGN,
+#if SSE_GROUP_SZ_SHA512
+ SSE_GROUP_SZ_SHA512,
+ SSE_GROUP_SZ_SHA512,
+#else
MIN_KEYS_PER_CRYPT,
MAX_KEYS_PER_CRYPT,
+#endif
FMT_CASE | FMT_8_BIT | FMT_OMP,
#if FMT_MAIN_VERSION > 11
{

View File

@ -1,111 +1,161 @@
@comment $OpenBSD: PLIST,v 1.3 2015/01/16 15:40:01 sthen Exp $
@comment $OpenBSD: PLIST,v 1.4 2020/12/19 21:32:07 sebastia Exp $
@conflict john-*
bin/1password2john.py
bin/7z2john.py
bin/7z2john.pl
bin/DPAPImk2john.py
@bin bin/SIPdump
bin/adxcsouf2john.py
bin/aem2john.py
bin/aix2john.pl
bin/aix2john.py
bin/andotp2john.py
bin/androidbackup2john.py
bin/androidfde2john.py
bin/ansible2john.py
bin/apex2john.py
bin/applenotes2john.py
bin/aruba2john.py
bin/axcrypt2john.py
bin/base64conv
bin/bestcrypt2john.py
bin/bitcoin2john.py
bin/bitshares2john.py
bin/bitwarden2john.py
bin/bks2john.py
bin/blockchain2john.py
@bin bin/calc_stat
bin/ccache2john.py
bin/cisco2john.pl
bin/codepage.pl
@bin bin/cprepair
bin/cracf2john.py
bin/dmg2john
bin/dashlane2john.py
bin/deepsound2john.py
bin/diskcryptor2john.py
bin/dmg2john.py
bin/ecryptfs2john.py
bin/efs2john.py
bin/ejabberd2john.py
bin/electrum2john.py
bin/encfs2john.py
bin/enpass2john.py
bin/ethereum2john.py
bin/filezilla2john.py
bin/fuzz_option.pl
bin/geli2john.py
bin/genincstats.rb
@bin bin/genmkvpwd
bin/gpg2john
bin/hccap2john
bin/hccapx2john.py
bin/hextoraw.pl
bin/htdigest2john.py
bin/ibmiscanner2john.py
bin/ikescan2john.py
bin/ios7tojohn.pl
bin/itunes_backup2john.pl
bin/iwork2john.py
@bin bin/john
bin/kdcdump2john.py
bin/keepass2john
bin/keychain2john
bin/keychain2john.py
bin/keyring2john
bin/keystore2john
bin/keyring2john.py
bin/keystore2john.py
bin/kirbi2john.py
bin/known_hosts2john.py
bin/kwallet2john
bin/krb2john.py
bin/kwallet2john.py
bin/lastpass2john.py
bin/ldif2john.pl
bin/leet.pl
bin/libreoffice2john.py
bin/lion2john-alt.pl
bin/lion2john.pl
bin/lotus2john.py
@bin bin/luks2john
bin/luks2john.py
bin/mac2john-alt.py
bin/mac2john.py
bin/mailer
bin/makechr
bin/mcafee_epo2john.py
@bin bin/mkvcalcproba
bin/ml2john.py
bin/monero2john.py
bin/money2john.py
bin/mozilla2john.py
bin/multibit2john.py
bin/neo2john.py
bin/netntlm.pl
bin/netscreen.py
bin/odf2john.py
bin/office2john.py
bin/openbsd_softraid2john.py
bin/openssl2john.py
bin/padlock2john.py
bin/pass_gen.pl
bin/pcap2john.py
bin/pdf2john.py
bin/pfx2john
bin/putty2john
bin/pwsafe2john
bin/racf2john
bin/pdf2john.pl
bin/pem2john.py
bin/pfx2john.py
bin/pgpdisk2john.py
bin/pgpsda2john.py
bin/pgpwde2john.py
bin/potcheck.pl
bin/prosody2john.py
bin/ps_token2john.py
bin/pse2john.py
bin/pwsafe2john.py
bin/radius2john.pl
bin/radius2john.py
bin/rar2john
@bin bin/raw2dyna
bin/rexgen2rules.pl
bin/rulestack.pl
bin/sap2john.pl
bin/sha-dump.pl
bin/sha-test.pl
bin/signal2john.py
bin/sipdump2john.py
bin/ssh2john
bin/ssh2sshng.py
bin/sshng2john.py
bin/ssh2john.py
bin/sspr2john.py
bin/staroffice2john.py
bin/strip2john.py
bin/sxc2john.py
bin/telegram2john.py
bin/tezos2john.py
@bin bin/tgtsnarf
bin/truecrypt_volume2john
bin/truecrypt2john.py
@bin bin/uaf2john
bin/unafs
bin/undrop
bin/unique
bin/unrule.pl
bin/unshadow
bin/vdi2john.pl
bin/vmx2john.py
@bin bin/vncpcap2john
@bin bin/wpapcap2john
bin/zip2john
share/doc/john/
share/doc/john/AddressSanitizer-HOWTO.txt
share/doc/john/BUGS
share/doc/john/Auditing-Kerio-Connect.md
share/doc/john/Auditing-Openfire.md
share/doc/john/AxCrypt-Auditing-HOWTO.md
share/doc/john/CHANGES
share/doc/john/CHANGES-jumbo
share/doc/john/CHANGES-jumbo.git
share/doc/john/CONFIG
share/doc/john/CONTACT
share/doc/john/COPYING
share/doc/john/CRAM-MD5.txt
share/doc/john/CREDITS
share/doc/john/CREDITS-jumbo
share/doc/john/DYNAMIC
share/doc/john/DYNAMIC_COMPILER_FORMATS.md
share/doc/john/DYNAMIC_EXPRESSIONS
share/doc/john/DYNAMIC_SCRIPTING
share/doc/john/DiskCryptor-HOWTO.md
share/doc/john/ENCODINGS
share/doc/john/EXAMPLES
share/doc/john/EXTERNAL
share/doc/john/FAQ
share/doc/john/HDAA_README
share/doc/john/INSTALL
share/doc/john/INSTALL-FEDORA
share/doc/john/INSTALL-UBUNTU
share/doc/john/INSTALL-WINDOWS
share/doc/john/Kerberos-Auditing-HOWTO.md
share/doc/john/LICENSE
share/doc/john/LICENSE.mpi
@ -113,20 +163,36 @@ share/doc/john/MARKOV
share/doc/john/MASK
share/doc/john/MODES
share/doc/john/NETNTLM_README
share/doc/john/NEWS
share/doc/john/OFFICE
share/doc/john/OPTIONS
share/doc/john/PRINCE
share/doc/john/README
share/doc/john/README-CUDA
share/doc/john/README-DISTROS
share/doc/john/README-MIC
share/doc/john/README-OPENCL
share/doc/john/README-PDF
share/doc/john/README-PST
share/doc/john/README-TACACS+
share/doc/john/README-ZIP
share/doc/john/README-ZTEX
share/doc/john/README-krb5-18-23
share/doc/john/README.7z2john.md
share/doc/john/README.Apple_DMG
share/doc/john/README.BitLocker
share/doc/john/README.Ethereum
share/doc/john/README.FileVault2
share/doc/john/README.FreeBSD
share/doc/john/README.IBM_AS400
share/doc/john/README.LUKS
share/doc/john/README.LotusNotes
share/doc/john/README.MinGW
share/doc/john/README.RACF
share/doc/john/README.Tezos
share/doc/john/README.apex
share/doc/john/README.bash-completion
share/doc/john/README.bitcoin
share/doc/john/README.coding-style
share/doc/john/README.cprepair
share/doc/john/README.format-epi
share/doc/john/README.gpg
@ -134,6 +200,7 @@ share/doc/john/README.ios7
share/doc/john/README.keychain
share/doc/john/README.keyring
share/doc/john/README.keystore
share/doc/john/README.krb5tgs-17-18-23.md
share/doc/john/README.kwallet
share/doc/john/README.librexgen
share/doc/john/README.mozilla
@ -141,16 +208,22 @@ share/doc/john/README.mpi
share/doc/john/README.pwsafe
share/doc/john/README.ssh
share/doc/john/RULES
share/doc/john/RULES-hashcat
share/doc/john/Regen-Lost-Salts.txt
share/doc/john/SHOW_FORMATS.md
share/doc/john/SIPcrack-LICENSE
share/doc/john/SUBSETS
share/doc/john/SecureMode-tutorial.md
share/doc/john/dynamic_history.txt
share/doc/john/john-1.7.9-jumbo-7-licensing-stats.txt
share/doc/john/john-1.7.9-jumbo-7-licensing.txt
share/doc/john/extras/
share/doc/john/extras/AddressSanitizer-HOWTO.txt
share/doc/john/extras/HACKING.md
share/doc/john/extras/README-CUDA
share/doc/john/extras/john-1.7.9-jumbo-7-licensing-stats.txt
share/doc/john/extras/john-1.7.9-jumbo-7-licensing.txt
share/doc/john/extras/libFuzzer-HOWTO.txt
share/doc/john/pass_gen.Manifest
share/doc/john/pcap2john.readme
share/doc/john/pdfcrack_README
share/doc/john/pdfcrack_TODO
share/examples/john/
@sample ${SYSCONFDIR}/john/
share/examples/john/alnum.chr
@ -169,11 +242,14 @@ share/examples/john/dumb32.conf
@sample ${SYSCONFDIR}/john/dumb32.conf
share/examples/john/dynamic.conf
@sample ${SYSCONFDIR}/john/dynamic.conf
share/examples/john/dynamic_disabled.conf
@sample ${SYSCONFDIR}/john/dynamic_disabled.conf
share/examples/john/dynamic_flat_sse_formats.conf
@sample ${SYSCONFDIR}/john/dynamic_flat_sse_formats.conf
share/examples/john/hybrid.conf
@sample ${SYSCONFDIR}/john/hybrid.conf
share/examples/john/john.conf
@sample ${SYSCONFDIR}/john.conf
share/examples/john/john.local.conf
share/examples/john/korelogic.conf
@sample ${SYSCONFDIR}/john/korelogic.conf
share/examples/john/lanman.chr
@ -196,6 +272,30 @@ share/examples/john/repeats16.conf
@sample ${SYSCONFDIR}/john/repeats16.conf
share/examples/john/repeats32.conf
@sample ${SYSCONFDIR}/john/repeats32.conf
share/examples/john/rules/
@sample ${SYSCONFDIR}/john/rules/
share/examples/john/rules/InsidePro-PasswordsPro.rule
@sample ${SYSCONFDIR}/john/rules/InsidePro-PasswordsPro.rule
share/examples/john/rules/T0XlC-insert_top_100_passwords_1_G.rule
@sample ${SYSCONFDIR}/john/rules/T0XlC-insert_top_100_passwords_1_G.rule
share/examples/john/rules/T0XlC.rule
@sample ${SYSCONFDIR}/john/rules/T0XlC.rule
share/examples/john/rules/T0XlCv1.rule
@sample ${SYSCONFDIR}/john/rules/T0XlCv1.rule
share/examples/john/rules/best64.rule
@sample ${SYSCONFDIR}/john/rules/best64.rule
share/examples/john/rules/d3ad0ne.rule
@sample ${SYSCONFDIR}/john/rules/d3ad0ne.rule
share/examples/john/rules/dive.rule
@sample ${SYSCONFDIR}/john/rules/dive.rule
share/examples/john/rules/passphrase-rule1.rule
@sample ${SYSCONFDIR}/john/rules/passphrase-rule1.rule
share/examples/john/rules/passphrase-rule2.rule
@sample ${SYSCONFDIR}/john/rules/passphrase-rule2.rule
share/examples/john/rules/rockyou-30000.rule
@sample ${SYSCONFDIR}/john/rules/rockyou-30000.rule
share/examples/john/rules/specific.rule
@sample ${SYSCONFDIR}/john/rules/specific.rule
share/examples/john/upper.chr
@sample ${SYSCONFDIR}/john/upper.chr
share/examples/john/uppernum.chr