Patches that have since been integrated into the official JtR

Patch Author Status and Description
Parallelization of bitslice DES with OpenMP, revision 1.7.8-omp-des-7 Solar Designer Status: separate patch, currently relevant.
This is a quick and really dirty yet successful attempt at parallelizing JtR's bitslice DES code with OpenMP directives (requires gcc 4.2+ or the like). Currently unconditionally uses SSE2 intrinsics. Provides good performance for traditional DES-based crypt(3) hashes in both the multi-salt and single salt cases, and even better (vs. non-patched) for BSDI-style crypt(3) hashes (since those are slower), and provides some speedup for LM hashes (albeit mostly due to the improved DES key setup (see separate patch below) rather than due to parallelization).
Parallelization of bitslice DES with OpenMP, revision 1.7.8-omp-des-4 Solar Designer Status: separate patch, currently relevant.
This patch provides slightly better performance than the -omp-des-7 patch above for the “many salts” case (but it is slower for attacking just one salt or very few salts).
This is a quick and really dirty yet successful attempt at parallelizing JtR's bitslice DES code with OpenMP directives (requires gcc 4.2+ or the like). Provides good performance for traditional DES-based crypt(3) hashes in the multi-salt case, and even better (vs. non-patched) for BSDI-style crypt(3) hashes (since those are slower), but usually does not provide a speedup for LM hashes (too much overhead, key setup not parallelized).
Faster bitslice DES key setup for JtR 1.7.8 Solar Designer Status: separate patch (but also integrated into -omp-des-7 above), currently relevant.
This patch speeds up LM hashes by a factor of two (e.g., 17.5M c/s with clean 1.7.6 or 1.7.7 improves to 39M c/s as seen on "john --test" on a Core i7 920 2.67 GHz), but it requires SSE2 and a recent version of gcc (e.g., it works well with 4.5.0, but results in horrible performance with 3.4.5).
Intel AVX and AMD XOP support for bitslice DES Solar Designer Status: separate patch, currently relevant.
Adds linux-x86-64-avx, linux-x86-64-xop, linux-x86-avx, and linux-x86-xop make targets to build JtR for latest Intel and future AMD CPUs, respectively. Such builds will make use of the new AVX and optionally XOP instructions to hopefully achieve much better performance at bitslice DES. By default, 256-bit vectors are used, but 128-bit ones are available as an option by editing a #if in x86-64.h or x86-sse.h. Requires recent gcc and binutils. XOP is only tested that it compiles; if you try it out on a real CPU or on a XOP emulator, please post to john-users. Announcement on john-users, update for 32-bit Linux, AVX benchmarks on Core i7-2600 (Sandy Bridge).
Single have_words bugfix Solar Designer Status: integrated into 1.7.6.1+ and 1.7.6-jumbo-*
Fixes a segfault (NULL pointer dereference) in “single crack” mode that may be triggered when some entries in the input file(s) have usernames, but some don't (that is, a line starts with a colon or lacks colons at all - includes only a hash). Original announcement.
Parallelization of bcrypt with OpenMP Solar Designer Status: integrated into 1.7.6+.
Parallelize computations of Blowfish-based crypt(3) hashes over multiple CPUs (or CPU cores) with OpenMP (recent gcc, Sun Studio cc).
generic crypt(3) support Solar Designer Status: integrated into 1.7.6+.
Normally, JtR uses its own optimized crypto code, but this patch lets it also use the underlying Unix-like system's crypt(3) function. This is particularly useful for cracking glibc 2.7+ "SHA-crypt" hashes (such as on recent Fedora and Ubuntu) until proper “native” support for that is implemented. Other uses are possible as well.

Patches that have since been integrated into the jumbo patch

Patch Author Status and Description
JtR-Jumbo-5-LinkedIn-SHA1.diff JimF Status: patches into JtR Jumbo-5. This patch will allow the hash dump for LinkedIn, where about 1/2 of the hash have 5 characters of 0's that 'smash' the hashes which appear to be already cracked by someone else, to work properly with JtR.
this is simply a new format. Usage REQUIRES –format=raw-sha1_LI to properly use this format.
john-1.7.9-fastrip-1.diff Solar Status: currently relevant.
This patch speeds up DES-based tripcode cracking by making use of JtR's bitslice DES implementation, including its OpenMP parallelization.
john-1.7.9-jumbo-5-NT-performance-02.diff magnum This patch regains NT format's performance back to that of 1.7.8-jumbo-8. For some reason, dropped length checks that was no longer needed introduced a performance drop instead of a boost. This version not only re-introduces the length checks but also fixes bugs in them.
This patch replaces a previous incremental one, 0003. Apply to a pristine jumbo-5.
OpenCL support Alain Espinosa, Dhiru Kholia, Samuele Tonon, Lukas Odzioba Status: applies on top of the john-1.7.9-jumbo-5, released 20.01.2012.
OpenCL support for the following formats: NT, raw-MD4, raw-MD5, NSLDAP and raw-SHA1 hashes.
This patch is experimental and has lot of scope for improvement. If you are interested in hacking / extending JtR to work with GPUs this is the right place to begin ;)
CUDA support Lukas Odzioba Status: updated 29.02.2012, applies on top of 1.7.9-jumbo-5. CUDA support for the following formats: phpass, cryptmd5, cryptsha256,cryptsha512, mscash, mscash2, sha256, sha224
john_1.7.8.jumbo6.plugin.diffDavid JonesStatus: added 2011-09-18. Add 'plugin=dll_file' option to john to allow format support to be provided by dynamically loaded libraries. See OpenVMS kit in 'closely related' table for example.

Applies as -p1 patch over src directory on john 1.7.8 Jumbo6 RC2.
0043-j7-Fix-for-make-generic-vs-mkpc-option.patch magnum Status: Added 2011-11-08. Fix for “make generic” vs -mkpc option in patch 0028.
0042-dynamic-format-blank-bench-comment.diff JimF Status: Added 2011-11-08. Removed the MMX_TYPE from benchmark comment in dynamic format. Now benchmark_comment will always be 'blank'
0041-j7-Documentation-updates.patch magnum Status: Added 2011-11-08. Documentation updates.
0040-dynamic-format-init-not-working-3.diff JimF Status: Added 2011-11-07. Under certain conditions, init() was not being run in the dynamic format.
(-v3 is a replacement for the original patch).
0039-mute-warnings-from-c3-when-loading-pot-file.patch magnum Status: Added 2011-11-06. See this discussion.
0038-j7-raw-md4-using-intrinsics.patch magnum Status: Added 2011-11-02. Adds use of Simon's intrinsics code for raw-MD4, mostly for “documenting” how to use SSEmd4body(). My benchmark went from 5525K to 20436K.
0037-dynamic-split-addition-1.diff JimF Status: Added 2011-11-01. Adds split() function to dynamic. Makes usage of a thin format, or the dynamic format 'equal'. All 'forms' of a format are now detected in all locations (input file, pot file, etc). Thus if running raw-md5, a pot file line of $dynamic_0$HEX_HASH or HEX_HASH, or md5_gen(0)HEX_HASH all will be 'detected' properly, and used to filter out candidates. The same for input files.
NOTE, this does cause 'multi-format' warnings, since both dynamic_0 and raw-md5 will detect the same 'set' of lines.
The discussed email request
0036-j7-dynamic-be-x1-fixes.diff JimF Status: Added 2011-10-31. Fixes issue in dynamic format, for Big Endian, 1x processing, which was having compiler build errors.
Reported compile problem
0035-j7-linux-x86-64i-target-use-sse-intrinsics.S-REV02.patch magnum Status: Added 2011-10-28, updated 2011-10-29. Adds a linux-x86-64i target that uses an sse-intrinsics.S pre-compiled with icc. Discussion. Apply after the other numbered patches, at least 0032 & 0034 is required.
0034-j7-MD5-OMP-regression-fix-for-non-SSE-OMP-builds.patch magnum Status: Added 2011-10-28. Regression fix for 0032. Non-instrinsics OMP builds did not work prior to this patch.
0033-j7-Added-BF-to-generic-crypt-subformats-untested.patch magnum Status: Added 2011-10-27. Adds BF subformat to generic crypt
0032-j7-Crypt-MD5-OMP-SSE.patch magnum Status: Added 2011-10-27. Adds OMP support for Crypt-MD5 for intrinsics builds (eg. *-x86-64, linux-x86-sse2i, win32-cygwin-x86-sse2i)
0031-j7-Fix-for-icc-OMPFLAGS-in-Makefile.patch magnum Status: Added 2011-10-27. Fix for icc make target
0030-j7-Drop-some-unused-variables.patch magnum Status: Added 2011-10-26. Drop unused variables and get rid of compiler warnings
0029-j7-revides-64-32-targets-so-they-match-the-native-32.patch magnum Status: Added 2011-10-22. Revision of all 64-32 regression test targets so they match the native 32-bit ones. On my Ubuntu, I also need to remove the -lz from LDFLAGS in order to build them, but this patch does not do that. Maybe it should?
0028-mkpc-N-option-peg-keys_per_crypt-to-N.patch magnum Status: Added 2011-10-17. An option for pegging min/max keys per crypt to 1 (or some other number lower than default). Discussion.
0027-j7-Optionally-output-number-of-candidates-tried.patch magnum Status: Added 2011-10-12. Show number of candidates tried in status line. Discussion.
0026-j7-sapB-OMP-performance-scaling.patch magnum Status: Added 2011-10-12. Better OMP scaling for sapB
0025-Crc32-IBP2-SybaseASE-Oracle11-hash-functions.patch magnum Status: Added 2011-10-11. Added hash functions to crc32, IPB2, SybaseASE and Oracle11
0024-j7-sapB-sapG-added-OMP-and-proper-hash-functions.patch magnum Status: Added 2011-10-11. Added OMP and proper hash functions to sapB and sapG
0023-j7-non-exact-format-fix-multi-salt-bug.diff JimF Status: Added 2011-10-07. non-exact formats were not matching all passwords. The way the code was, if there was a non-hashed salt, it would stop testing all of the passwords loaded in the format, upon the first password matched. This was caught in the test suite.
Also, the crc32 format had it's plaintext length was lengthened to keep it from having duplicates in the test suite, due to password truncation.
0022-j7-Fix-for-huge-figures-in-MPI-sum-avg-cps-64-bit-ov.patch magnum Status: Added 2011-10-07. MPI Fix for –status avg/sum figures overflowing 64-bit when used with fast hashes
0021-j7-Fixes-for-AlwaysShowUTF8.patch magnum Status: Added 2011-10-07. Fixes for AlwaysShowUTF8.
0020-j7-Fix-permissions-for-perl-and-ruby-scripts.patch magnum Status: Added 2011-10-05. This just fixes permissions of perl and ruby scripts, so we don't forget it at next release. I'm not even sure this [git] patch works with the standard patch command.
0019-j7-Added-dstlen-argument-to-a-couple-unicode-functio.patch magnum Status: Added 2011-10-05. Bugfixes for AlwaysReportUTF8 - and added a dstlen argument to a couple of Unicode functions that lacked it. Jim suggested that long ago but I was too lazy. It bit me now :)
0018-j7-crc32_format_update.diff JimF Status: Added 2011-10-04. Update to the crc32 format
0017-j7-Rename-md5gen-to-DYNAMIC-2.diff.gz JimF Status: Added 2011-10-04. This 'large' patch renames the md5-gen format, into 'dynamic'.
All support documents have also been updated to this new naming.
This is a rather large change, and impacts several files outside of the dynamic_format* file set. All of the thin formats were impacted, as was john.c, options.c, etc
Here are the things changed:
File names were changed. All the md5_gen_* were changed to dynamic_*
the worker functions changed from MD5GenBaseFunc__* to DynamicFunc__* NOTE: all legacy names 'still' work
all references from md5_gen / md5-gen, etc were changed to dynamic
The format line signatures were changed from md5_gen(n) to $dynamic_n$ Note, the legacy md5_gen(n) signatures 'still' work
the command line format names changed from md5_gen(n) to dynamic_n This avoids shell quoting problems caused by ( and ) characters.
0016-j7-Fix-for-AlwaysReportUTF8-vs.-very-long-input.patch magnum Status: Added 2011-10-03. Fixes a problem with AlwaysReportUTF8 when using –show and input lines are very long
0015-j7-AlwaysReportUTF8-fixes.patch magnum Status: Added 2011-10-03. Re-implements 0004 fixes inadvertently reverted by the 0006 patch and also includes a bugfix for AlwaysReportUTF8 when used in combination with AlwaysStoreUTF8
0014-j7-Fix-for-8-bit-usernames-in-NETLMv2-and-NETNTLMv2.patch magnum Status: Added 2011-09-27. Change to valid() in NETLMv2 and NETNTLMv2 so they don't reject hashes belonging to non-ASCII usernames
0013-j7-fix-for-MSCHAPv2-bogus-username-length-check.patch magnum Status: Added 2011-09-27. Fixes a bug in MSCHAPv2 found by its author jmk: a user name consisting of only hex-digits would fail valid()
0012-j7-Optionally-emit-a-status-line-for-every-cracked-p.patch magnum Status: Added 2011-09-24. Optionally emit a status line at every cracked password. Discussion. This should eventually be replaced with the on_guess() external function.
0011-j7-Fix-john-enc-list-again-after-0004-broke-it-rev-2.patch magnum Status: Added 2011-09-24. Fixes ”–encoding:list” again after patch 0004 broke it.
0010-mssql-ascii-binary-fix.diff JimF Status: Added 2011-09-23, currently relevant
Patch 0004 broke the 'ascii' (i.e. non-codepage requested) mssql_old, due to changing the order of initialization of setting the code page options items (thus overwriting the mssql specific changes). Thus we move those 'special' changes to inside of the unicode init.
Test suite found this issue.
0009-j7-xsha-bugfix-rawhash-2.diff JimF Status: Added 2011-09-23, currently relevant
Bugfix for xsha-512 when loading 'raw' files. Buffer overflow. This is a patch to 0002 patch.
0008-j7-sapG-trivial-bug-in-set_key.patch magnum Status: Added 2011-09-23. Bugfix for sapG. Very trivial bug but for some reason it did not show up using –test=0, only when testing that format alone.
0007-j7-crc32-format.diff JimF Status: added 2011-09-23 Currently relevant
Adds a 'new' probable format. This format is crc32. It is IEEE crc32 (poly 0xEDB88320). It can compute 'simple' CRC32's for password, and can also find strings to append to files, to make the file CRC32 to a specific value.
There are 3 parts to the format line. The first is $crc32$ (a normal john signature). Then the second and third part of the line is: StartingCRC.WantedCRC
The starting crc, if zero (00000000) will find passwords with the WantedCRC.
If Starting CRC32 is set to the IEEE CRC of an existing file, then the passwords found will make 'existing_file' append(password) to be the WantedCRC value.
This format is actually FASTER than dummy format (and would be easy to add OMP support to make it even faster).
This format was built to give a little more stress test to the 'probable' format flag (and helped flush out the bugs).
It also demonstrates the uselessness of a hash only 32 bits as a validation checksum for a file.
0006-j7-probable-crack-fixes-1.diff JimF Status: added 2011-09-23 Currently relevant
Fixes patch 0001. The .pot reload code was broken. Also moved some ifdef _MSC_VER (visual C) stuff from format.h into misc.h
0005-j7-remove-borken-example-rule.patch magnum Remove the b0rken example rule for user-defined character-class from john.conf
0004-j7-AlwaysReportUTF8-also-affects-show.patch magnum Status: Added 2011-09-23. Enhances the AlwaysReportUTF8 option - we now output usernames and gecos fields in UTF-8 when using –show (and –show=left). It also fixes the line-up of non-ascii passwords during cracking.
0003-j7-md5_gen-Unicode-truncation-fixes-false-positives.patch magnum Status: Added 2011-09-23. Bugfix for md5_gen. It failed to match saved_plain to truncated plaintexts in Unicode mode, leading to false positives.
0002-xsha-signature-1.diff JimF Status: added 2011-09-22 Currently relevant
Modifies the XSHA512 format, adding a $LION$ signature. The 'raw' hash also still works.
0001-j7-probable-crack-format-1.diff JimF Status: added 2011-09-21 Currently relevant
Adds a new format flag, which lists a format will not find 'exact' matches, so john should continue to search for passwords, even if one is found.
Currently, only 'zip' format falls under this, since it produces false positives.
This was a 'wish list' item. It is documented: http://www.openwall.com/lists/john-users/2011/09/02/4
john-1.7.8-jumbo-7.tar.gz its sig
john-1.7.8-jumbo-7.tar.bz2 its sig
JimF, magnum, David Jones, Solar Designer Status: added 2011-09-21

Current OFFICIAL JtR-1.7.8-Jumbo-7 .

See the original patches at Numbered patches from 1.7.8-Jumbo-5 to 1.7.8-Jumbo-7
0014-rawSHA224-256-384-512-formats-added.patch groszek Status: added (by magnum, after groszek posted this to the mailing list) 2011-07-30. This patch adds SHA-224/256/384/512 support. It needs OpenSSL 0.9.8. This patch does not rely on any other patches being applied, you can apply onto 1.7.8 Jumbo-4
0013-cmpt_cp.pl.patch JimF/magnum Status: added 2011-07-30. This patch adds a perl script providing excellent help for adding encodings to John. See this wiki page
0012-Re-enable-support-for-full-UTF-16-not-just-UCS-2-not.patch magnum Status: added 2011-07-28. Apply on top of 1.7.8-jumbo-4 after the other numbered patches
This patch re-enables full support for UTF-16 (as opposed to UCS-2). This “surrogate pair” support was removed during development of the initial “UTF-8 patch” because of NT performance. Since then, NT and mscash (DCC1) got their own, inline, utf8-straight-into-keybuffer functions (which still are UCS-2 after this patch, for performance reasons) so we could now add the full support again for all other formats.
0011-koi8r-cp1251-unicode-enhance-2.patch.gz JimF Status: added 2011-07-27. Apply on top of 1.7.8-jumbo-4 after the other prior numbered patches.
This patch undoes 'some' of what was in 0009 (the can not use -encoding=koi8r or -encoding=cp1251).
It also properly adds Unicode handling for these code pages.
The test suite has been updated to fully test these changes.
NOTE, several format files were modified to properly work.
This is VERSION 2 of this patch. Version 1 was incomplete, without the changes to the format's themselves.
0010-NT_fmt-now-uses-the-optimised-x86-64-crypt-unless-in.patch magnum Status: added 2011-07-25. Apply on top of 1.7.8-jumbo-4 after the other numbered patches (though 0001 and 0002 are optional).
This patch reverts to using the older, more optimised, x86-64 assembler code for NT when not in UTF-8 mode. The theoretical speedup is in the order of one percent and the actual speedup I see here is less than normal fluctuation. However, on some hardware it might be a better boost.
0009-Refuse-to-run-Unicode-formats-with-other-than-ansi-u.patch magnum Status: added 2011-07-25. Apply on top of 1.7.8-jumbo-4 after the other numbered patches (though 0001 and 0002 are optional).
This patch adds logic so you can't run john with encoding combinations that's not supported - like running the NT format using -enc=koi8-r. All formats that use Unicode (UTF-16/UCS-2) internally can only run with ISO-8859-1 (default) or UTF-8. Since UTF-8 covers all other codepages, this is not really a limitation - just convert your 'foreign' wordlist to UTF-8.
0008-Unified-gmake-solaris-make.patch JimF Status: added 2011-07-24. Apply on top of 1.7.8-jumbo-4 after the other numbered patches.
This patch provides a simple pair of plugin SRC builder rules, where one works in Solaris, and is a no-op for gmake, and the other is a no-op for solaris, and does the work for gmake.
Also, changed the sed scripts which build the fmt_*.h files, to work properly on both solaris's sed and GNU sed.
0007-Fix-for-0006-for-any-builds.patch

0006-Unified-get_key-for-NT-and-mscash-non-thread-safe-ut.patch
magnum Status: added 2011-07-24. Apply on top of 1.7.8-jumbo-4 after the other numbered patches (though 0001 and 0002 are optional).
This patch adds a simpler, non-thread-safe utf16toplain() function for use from get_key(). It also changes the existing formats to use it. Just like the 0003 patch, it also unifies previously separate get_key() and get_key_utf8() functions in a couple of formats. This is not “important” and does not affect performance, it just simplifies the code for the future.
Update: The 0007 patch fix a problem for -any builds
0005-Fix-typo-kio8-r-koi8-r.patch magnum Status: added 2011-07-24. Fixes a couple of problems with the 0004 patch (mainly that koi8-r was misspelled as kio8-r so would not work, and it did not complain on unrecognised encoding)
0004-many-changes-fixes-improvments-2.patch.gz

v2 of the patch (v1 had DOS line endings in a couple of places)
JimF Status: added 2011-07-24. Various patches for Jumbo-4
Changed –utf8 to –encoding=utf8. Also added iso-8859-1, koi8-r, and cp1251 encodings.
Changed if(options&FMT_UTF8) to if(options.utf8), also added options.iso_8859_1, options.koi8_r, options.cp1251.
In rules, we now handle native 7-bit, but also handle iso-8859-1, koi8-r and cp1251. Mostly dealing with character classes, masks, rejection, and upcase/downcasing.
Updated documentation covering change of –utf8 to –encoding=utf8 (and documented other encodings).
Added output of 'build rule' within john's help output. Makefile builds a john_build_rule.h and options.c displays it. many tiny changes to Makefile.
md5_gen, added utf8 unicode handling. Upcasing and Downcasing of passwords (using unicode.c) Changed upcase/downcase of username to use unicode.c
md5_gen, add ablity for test cases that should only be loaded if in utf8 mode, and also added ability for test cases to only loaded if NOT in utf8 mode. the md5_gen(29) shows this, as does md5_gen(1100) in the documenation.
md5_gen, Added built in format, raw-md5-unicode: md5_gen(29)
md5_gen, Fixed 'max' saltlen (on non-fixed salt size). This is mostly for buffer overflow avoidance, mostly for SSE builds.
md5_gen, Fixed broken SSE formats in x86-64 builds (12/13/21-26). This was a pretty big bug, that affected switching to/from SSE into flat, and showed up in MD5_X2=1 builds.
md5_gen, Fixed salt issues, where $$ was in salt. Also fixed salt issue if no salt, but A user name (or some other 'salt' field) was present.
md5_gen, proper setting of fmt_main.flags for FMT_UTF8 and FMT_UNICODE if the format requires it to be set. Removing of FMT_CASE if the password is forced to upcase/lowcase.
md5_gen, Added ability to use \xHH characters in the plaintext (password) field, within a john.conf script file.
wordfile, Added a new command ”–pipe” This works like –stdin, but allows bulk reading of the input, and sends those bulk reads to the rules processor. –stdin does not, it reads a line at a time, and can not fseek, so does not provide rules processing.
unicode.c finished lower case functions. Also fixed some small issues in uppercasing function.

This patch should be applied AFTER magnum's 0001 to 0003 have been applied.
0003-unified-get_key-for-mssql-old.patch

0002-test-and-test_full-make-targets.patch

0001-linux-x86-64-32-sse2i-added-to-Makefile.patch
magnum Status: added 2011-07-24. Various patches for Jumbo-4

1. linux-x86-64-32-sse2i target for regression testing (“hidden”, like the others)

2. “test” and “test_full” targets for Makefile (for test suite untarred to “test” as a sibling to “src”)

3. Simplification for mssql, no separate UTF-8 version of get_key (does not affect performance)
Experimental code to add 'case' of ISO-8859-1 to rules JimF Status: Currently relevant (but still experimental/development), added 2011-07-18
Adds ability to do upper/lower casing to the high bit character data in ISO-8859-1 (which overlaps most 1 byte UTF8 chars)
Must be installed on top of 1.7.8-jumbo-2-plug format with 'many fixes after cash-2' patch installed.
md5_gen Fixes for Linux-64 builds JimF Status: Currently relevant, added 2011-07-18
Fixes the md5_gen formats which would not run under linux-x86-64 builds (or other 64 bit builds).
SSE code turned off for these non working formats. Fixed formats are md5_gen(12), md5_gen(13), md5_gen(21), md5_gen(22), md5_gen(23), md5_gen(24), md5_gen(25), md5_gen(26)
This patch requires jumbo-2-plugin formats, with MSCash2-v2 and 'many fixes' after mscash2 installed.
John-1.7.8-jumbo-2-after-MSCash2-many-fixes-1




code_to_generate_UnicodeData.h
JimF Status: Currently relevant, added 2011-07-13
This is a couple of larger 'fixes', additional -utf8 code, and numerous little fixes
These were mostly found during generation of the JohnTestSuite, and getting that to find ALL items on all the test systems I have
Currently finding all test vectors on all Intel 32 bit builds, and on 32 bit Sparc, and 64 bit Sparc.
These changes/fixes/additions are part of this patch
- Proper upper and lowercase of Unicode handled (pretty complex). Oracle and mssql hashes would NOT work properly without this.
- many small fixes in md5_gen, mostly to restrict sizes of passwords, and salts. Also fixed bugs like the $ and $$ in salt bug.
- changed the interface of the utf16toutf8 unicode.c function, to be 'thread safe'.
- fixed a few portability bugs (john.c and Sybase_fmt) dealing with VC builds.
- john.c also has to call initUnicodeCase() during startup. The upcasing can be used, even if NOT running in -utf8 mode.
- A new 'UnicodeData.h' file was generated. There is also a 'project' to generate this file from the unicode.org data files
- The upcasing in unicode.c can be used to strupr/strlwr ansi data also. It allows changing case of Niña into NIÑA. This has not yet be placed 'into' john, but we now can do this (extern, rules, etc).
- mscash1 would crash for user names longer than 19 bytes. It now 'handles' them. NOTE, it does not find hashes with user names of 20 to 22 bytes, but this will be changed in the future.
- the cash2 was not finding 22 byte user names (did not crash, just did not find them)
- Big fixes to mssql and oracle formats. Now properly works upcasing etc. Binary data, utf8 data works. Also, properly working on Big Endian systems. These formats are a little more difficult, since they require upcasing Unicode data.
- SQL05. Fixed a 'possible' memory overwrite (worst case utf8 conversion scenario).
- Reduced max PW len for PHPass format, to what can be handled.
- Fixed some 'possible' buffer overflows in Raw_MD5_Unicode format.

This patch install over the John-1.7.8-jumbo-2-plugin-mscash2-2.diff patch file. So to install:
- download and untar the john-1.7.8-jumbo-2-plugin.tar.gz file
- download and patch using Optimized MSCash2 (v2)
- then apply this patch.
Optimized MSCash2 (v2) JimF,magnum Status: Currently relevant, added 2011-07-05
This patches over john-1.7.8-jumbo-2 PLUGIN format (tarball below).
Enhanced mscash. Went from 57/s on my machine to 92/s (at 1.7.8). Then improved to about 220/s on x86 build.
Also added SSE2 and SSE2 intrisic code. The SSE2 (32 bit) on the same machine is about 610/s. So total of about 11x improvement in speed.
there were several other files changed. The sse2i code was changed, along with the .S sha1 code.
Fixed a bug in bench.c, gave some better memory debugging routines.
Also, this is likely the first project where OMP support has been added to SSE2 !! but only on the SSE2i code (thanks magnum!).
v1 was bad, v2 builds properly and runs properly.
1.7.8-jumbo-2-omp-des-7 Solar Designer This patch ported to 1.7.8-jumbo-2-plugin tarball available below. (Updated to 1.7.8-jumbo2-plugin patch, JimF)
1.7.8-jumbo-2-omp-des-4 Solar Designer This patch ported to 1.7.8-jumbo-2-plugin tarball available below. (Updated to 1.7.8-jumbo2-plugin patch, JimF)
1.7.8-jumbo-2-faster-des-setup Solar Designer This patch ported to 1.7.8-jumbo-2-plugin tarball available below. (Updated to 1.7.8-jumbo2-plugin patch, JimF)
john-1.7.8-jumbo-2-plugin.tar.gz

john-1.7.8-jumbo-2-plugin.diff
JimF,magnum Status: Currently relevant, added 2011-07-03
This is an alternate 1.7.8-jumbo-2 tarball, featuring plugin formats. See mailing list announcement.
The .diff file can NOT be used with the standard patch utility (you need to use “git apply” instead) but it is good for just reviewing the changes.
john-1.7.7-jumbo-6-jimfpatch-4.diff JimF Status: Currently relevant. (patch version 4) Added 2011-06-29, Updated 2011-07-01
* changed sha256 format and rar/ssh/pdf so they can be easily diabled from build by a simple comment in the makefile
Made a couple of simply changes to avoid 100's of warnings on my Sparc builds (unsigned vs signed char junk)
Apply onto jumbo-6 or hopefully also after applying the other 1.7.7-jumbo-6 patches of magnum (except auto-have-sha) below.
prior versions had a couple problems, and would not have built right (sorry, but now 4th time SHOULD be the charm)
john-1.7.7-jumbo-6-mscash2-saltlen.diff.gz JimF/magnum Status: Currently relevant. Added 2011-06-23
This finally fixes mscash2 format so it cracks salt lengths up to 19 characters. It also boosts performance with some 18%
Apply onto jumbo-6 after first applying the other 1.7.7-jumbo-6 patches, below.
john-1.7.7-jumbo-6-BF-and-mscash2.diff.gz magnum Status: Currently relevant. Added 2011-06-20
* A bugfix for Blowfish, for 8-bit plaintexts, that Solar posted to the john-dev mailing list.
* Big-Endian fixes for mscash2 affecting Unicode characters above U+00FF
Apply onto jumbo-6 after first applying the other 1.7.7-jumbo-6 patches of mine, below.
ZIP password crackerDhiru KholiaStatus: applies on top of 1.7.7-jumbo-6, currently relevant. GSoC 2011 project work.
john-1.7.7-jumbo-6-more-mscash-fixes.diff.gz magnum Status: Currently relevant. Added 2011-06-15
More mscash fixes. See mailing list announcement.
NOTE that this will make test suite 1.01 miss a lot of hashes. This is a related bug in the test suite, not in mscash! The test suite will be updated soon.
Apply onto jumbo-6 (after first applying john-1.7.7-jumbo-6-mscash-oracle-fixes.diff.gz [below])
john-1.7.7-jumbo-6-mscash-oracle-fixes.diff.gz magnum Status: Currently relevant. Added 2011-06-13
* Fixes a bug in mscash2 affecting non-ASCII characters.
* Fixes bugs in mscash and mscash2 that made them crash if salt (username) was longer than 19 characters
* Improved salt_hash function in oracle, mscash and mscash2 for better scaling
Apply onto jumbo-6, using “patch -p1” (without the -Z flag)
john-1.7.7-jumbo-6-oracle-sparc-fix.diff.gz magnum Status: Currently relevant. Added 2011-06-10
This patch fixes a bug in Oracle that only affected big-endian (eg Sparc) systems, which trashed Unicode characters above U+00FF.
Apply onto jumbo-6, using “patch -p1” (without the -Z flag)
john-1.7.7-jumbo-6-auto_have_sha256-03.diff.gz magnum Status: Currently relevant. Updated 2011-06-13
This patch ditches the manual enabling of hmailserver and SybaseASE (editing Makefile) in favor of automagic enabling using the OpenSSL version macro. Revision 02 added an #else clause for notifying of too old OpenSSL when building. Revision 03 made that notice GNU only.
Apply onto jumbo-6, using “patch -p1” (without the -Z flag)
john-1.7.7-jumbo-6-sparc_fixes.diff.gz magnum Status: Currently relevant. Added 2011-06-09
This makes the RAR format work on big-endian systems and systems lacking C99 and/or getopt_long. It also fixes an alignment crash in KRB5 for non-intel machines.
Apply onto jumbo-6, using “patch -p1” (without the -Z flag)
Build Fixes for Jumbo6-RC3 and new mediawiki format JimF Status: Included in final Jumbo 6 (Patch on top of Jumbo-6 RC3).
Fixes some build problems in cygwin, mingw, VC due to new ssl requirements, and strtok_r usage.
Added a new 'thin' format for mediawiki type :B: hashes.
john-1.7.7-jumbo-5-ETA-mute-3.diff.gz magnum Status: Included in Jumbo 6. Revision 3, updated 2011-06-08. This patch mutes ETA output unless progress is 0.05% or more. The threshold is configurable but must be at least 0.01%. See discussion here.
Apply onto jumbo-5 using “patch -p1” (not -Z)
john-1.7.7-jumbo-5-utf8_truncation_fix.diff.gz magnum/JimF Status: Included in Jumbo 6. Added 2011-06-06. This makes UCS-2 truncation more proper although the current code *does* work just fine (because other checks kick in and save the situation). It may also speed up UTF-8 conversion a little. Apply onto Jumbo 5.
PDF password crackerDhiru KholiaStatus: applies on top of 1.7.7-jumbo-5, currently relevant. GSoC 2011 project work.
SSH private keys cracker with OpenMP supportDhiru KholiaStatus: applies on top of 1.7.7-jumbo-5, currently relevant. GSoC 2011 project work. Please see src/unssh.c for usage instructions
RAR archive password crackerDhiru KholiaStatus: applies on top of 1.7.7-jumbo-5, currently relevant. GSoC 2011 project work. Please see src/drar.c for usage instructions. rar -p mode is still TODO
SybaseASE hash crackerDhiru KholiaStatus: applies on top of 1.7.7-jumbo-1, currently relevant.
SybaseASE hash cracker.
hmailserver support James Nobis Status: applies on top of 1.7.6-jumbo-12, currently relevent.
This includes hmailserver support, which has a 6 byte salt using [0-9a-f] concatenated with the password and the sha256 of the resulting concatenation. Details about the format may be found in the source. Requires OpenSSL 0.9.8+.
Bug fix Loader.c JimF Status: Added 2011-06-01. Apply on top of john-1.7.7-jumbo-5-RC7. Obsoleted by official Jumbo-5
This is bugfix for Jumbo 5 RC7. Starting at Jumbo-2, loader no longer was loading 'raw' hash files properly.
This patch returns correct behavior, and hash lines in a file that are JUST the hash, now properly work.
Bug fixes for Jumbo 5 RC7 magnum Status: Added 2011-05-30. Apply on top of john-1.7.7-jumbo-5-RC7. Obsoleted by official Jumbo-5
This is bugfixes for Jumbo 5 RC7. See mailing list announcement.
Patch made from git, use “patch -p1” without the -Z flag.
1.7.7-jumbo-5-RC7

Differences since jumbo-5-RC6
JimF Status: Added 2011-05-26. Obsoleted by official Jumbo-5
Incorporated all current patches and fixes.
Fixed -utf8 'UPCASE' mode on big endian systems. (oracle, mssql)
rawmd5_unicode rewritten. This format was overwriting data in other formats, causing strange crashes.
Increased HDAA passwords from 16 to max of 32 bytes. Fixed 32 byte password for NSLDAP[S] formats
Much re-work in md5-hmac code. Reverted alloc code back to array, but working properly on 64 bit and align required systems
OPENLDAPS added back into -test=1 for SSE/MMX (32 bit) Changes to loader.c
changes to OMP and MPI defines and code. Changes to status, to output ETA when starting.
mssql and mssql05 reworked and work on all systems. mssql05 can handle CasEd searching of mssql hashes

To apply: apply john-1.7.7-jumbo-5-RC7.diff.gz to a 'clean install' john-1.7.7 original
more mssql fixes magnum Status: Added 2011-05-25. Obsoleted by Jumbo-5-RC7 Applies on top of 1.7.7-jumbo-5-RC6 after the four other incremental patches below.
This fixes an issue with mssql and also tweaks OMP parameters for mskrb5 and the NET*LM* formats. The OMP support for mssql is removed, as that format is too fast to scale nicely.
Patch made from git, use “patch -p1” without the -Z flag.
various-patches magnum Status: Added 2011-05-24. Obsoleted by Jumbo-5-RC7 Applies on top of 1.7.7-jumbo-5-RC6 after the three other incremental patches below.
This fixes various issues. See mailing list announcement.
Patch made from git, use “patch -p1” without the -Z flag.
mssql05 sse/mmx fix (version 2) JimF Status: Added 2011-05-23 & 24th. Applies on top of 1.7.7-jumbo-5-RC6. This patch fixes SSE/MMX for mssql05 (and mssql). This has been broken since jumbo-1 (likely pre 1.7.7 was also broken). Only 32 bit sse/mmx builds were affected. Also added a salt_hash function.
also fixed a couple other formats which would not have found passwords of their maximal password length.
loader_mute_warning magnum Status: Added 2011-05-23. Obsoleted by Jumbo-5-RC7 Applies on top of 1.7.7-jumbo-5-RC6. This is the patch Solar posted here (for next core version of John), plus an mskrb5 fix for reporting a binary size of 0 to john (so it takes advantage of Solar's patch).
Patch made from git, use “patch -p1” without the -Z flag.
OMP fixes magnum Status: Added 2011-05-23. Obsoleted by Jumbo-5-RC7 Applies on top of 1.7.7-jumbo-5-RC6. Fixes OMP bugs introduced in 1.7.7-jumbo-5-RC6.
Patch made from git, use “patch -p1” without the -Z flag.
1.7.7-jumbo-5-RC6

Differences since jumbo-5-RC5
JimF Status: Added 2011-05-22. Obsoleted by Jumbo-5-RC7
Fixed alignment issues in mskrb5, mssql and oracle and got them working on Sparc64 and 32 bit.
Fixed -utf9 mode on big endian systems for mskrb5, mscash2, mscash, mssql05, mssql, NT, raw-md5-unicode.
reworked NETLMv2 and NETNTLMv2 due to changed needed to get mskrb5 working.
inc.c changes lost in RC5 are now properly back into this jumbo
This jumbo has been tested with -test=1, -test=1 -utf8 and against the ./test/tstall script. It was tested fully in these systems:
Mingw and Cygwin, 'any', mmx, sse and sse-intrisic. Linux-64-gcc, solaris-sparc64-cc, solaris-sparcv9-cc

To apply: apply john-1.7.7-jumbo-5-RC6.diff.gz to a 'clean install' john-1.7.7 original
1.7.7-jumbo-5-RC5

Differences since jumbo-5-RC4
JimF
magnum
Status: Added 2011-05-21. Obsoleted by Jumbo-5-RC ,
Fixed alignment issues in sapG, rawMD4, OPENLDAPS, NT, NSLDAPS, NETNTLMv2, NETNTLM, NETLMv2, NETLM, mssql05, unicode, mskrb5, MSCHAPv3, md5_gen, HDAA, salted-sha.
added -nolog command line option (and changes to logger.c)
-test option was not working with -config= option.
Fixed UTF issue in 32 bit SSE builds of NT and mscash
Optimized 'prepare' function in mscash/mscash2
Some makefile changes (MPI, Solaris builds, some regression testing Linux).
Fixed –make_check in john.c (so make check now works properly). Ported to Win32 also.
Some markov tweaks
Also contains below 3 patches.

To apply: apply john-1.7.7-jumbo-5-RC5.diff.gz to a 'clean install' john-1.7.7 original
Incremental ETA fix for RC5 magnum Status: Added 2011-05-21. Obsoleted by Jumbo-5-RC6 This patch, originally in Jumbo-4-RC4, was accidentally dropped from RC5. It enables ETA for Incremental mode in non-MPI builds.
This patch was made from git, so it should be applied using “patch -p1” and not ”-Z”
valid() fixes (v2) magnum Status: Obsoleted by Jumbo-5-RC , Added 2011-05-21. The first version of this patch was broken for Oracle
This fixes a performance problem (when loading) in both mscash formats, that was introduced by the new prepare() scheme. This patch was made from git, so it should be applied using “patch -p1” and not ”-Z”
minor-markov-fixes.diff

various-build-fixes.diff
magnum Status: Obsoleted by Jumbo-5-RC Added 2011-05-18. Various little fixes for next RC (applies onto Jumbo-5-RC4)
* Markov cosmetic fixes for calc_stat and genmkvpwd
* Various Makefile fixes for icc and Solaris, and a fix for HDAA for non-C99 environments
(these patches are made from git, so must be applied using “patch -p1” and not ”-Z”)
UTF-8 fixes for Jumbo-5-RC4 magnum (from JimF) Status: Obsoleted by Jumbo-5-RC Added 2011-05-18. applies onto Jumbo-5-RC4.
This is key_cleaning fixes to be applied onto jumbo-5-RC4. They only affect certain 32-bit builds and UTF-8. I could not even reproduce the fault (even with the test target linux-x86-64-32-any that is also enabled with this patch), but they give a speed boost (less cleaning) so I'm happy with them.
john-1.7.7-jumbo-5-RC4

jumbo-5-RC3-to-RC4

john-1.7.7-jumbo-5-RC3

john-1.7.7-jumbo-4-RC1-to-jumbo-5-RC3
JimF &
magnum
Status: Updated 2011-05-17.
RC2 update due to build issue in jumbo-3-RC2. Jumbo-5-RC2 has the same patch as jumbo-3-RC3
RC3 fixes an issue in NT format (non-64 bit) and has some minor porting needed to compile in VC.
RC4 update: mscash fix for some archs (same fix as in RC3 for NT format) and a couple of new features

This adds UTF-8, performance fixes and more. See mailing list announcement.
UTF-8 conversion support for the following formats: NT, mscash, mscash2, MSCHAPv2, mskrb5, mssql, mssql05, NETNTLM, NETLMv2, NETNTLMv2, oracle, raw MD5 and sapG. Non-UTF-8 performance is NOT negatively affected (on the contrary, see below).
New formats: MS kerberos 5 PREAUTH (mskrb5) and raw MD5 of Unicode plaintext (raw-md5-unicode).
The 'auto-formats-list' patch is included too, as well as configurable ETA date string format.
Significant performance boosts to most Micro$oft formats, varying from NT (+10%) to NETLM (well over +350%).

To apply: apply john-1.7.7-jumbo-5-RC4.diff.gz to a 'clean install' john-1.7.7 original, or if starting from a jumbo-4-RC1 tree, apply john-1.7.7-jumbo-4-RC1-to-jumbo-5-RC3.diff.gz and then john-1.7.7-jumbo-5-RC3-to-RC4.diff.gz.
1.7.7-jumbo-4-RC1

john-1.7.7-jumbo-3-RC2-to-jumbo-4-RC1
magnum Status: Added 2011-05-16. Obsoleted by Jumbo-5-RC
This patch adds MPI to Jumbo (the code is almost exactly the same as fullmpi-10 below).
To apply: apply john-1.7.7-jumbo-4-RC1.diff.gz to a 'clean install' john-1.7.7 original, OR apply john-1.7.7-jumbo-3-RC2-to-jumbo-4-RC1.diff.gz to a jumbo-3-RC2 tree.
To actually use MPI, you need to un-comment the MPIFLAGS line in Makefile. This version is so adamantly conditional that it does not even bump the version number from Jumbo-3. This in order to “prove” (to myself, if not to you) that it simply cannot break anything unless enabling MPI (an md5sum or sha1sum of the non-MPI binary will be the same as for a Jumbo-3 binary).
1.7.7-jumbo-3-RC3

Intrinsic update to 1.7.7-jumbo2

1.7.7-jumbo-3-RC2-to-RC3
JimF Status: Added 2011-05-14. This is properly patched intrinsic MD5/MD4/SHA1 code into john.
All formats properly build (with a few exceptions in 64 bit builds, which are commented out)
There are numerous other changes. Release note are found here mailing list announcement
This is a release candidate for a new jumbo. (RC3 5/16/2011)
NOTE, RC2 had a significant build problem. RC3 fixes this.
Also included is a patch file from RC2 to RC3, since jumbo-4-RC1 and jumbo-5-RC1 were based upon the flawed RC2. This patch is small, only having the changes from RC2-RC3
Significant enhancements to unique john sub-utility JimF Status: Added 2011-05-14. Applies on top of 1.7.7-jumbo-1/2.
This adds many new features to unique (password maintenance specific), and makes unique much more useful.
this will be obsolete in jumbo-3, but is left here, since it is still very new.
Auto-generated format list magnum Status: Added 2011-05-10. Applies on top of 1.7.7-jumbo-2-RC1.
This will drop the format list from options.c and replace it with one auto-generated from the structs. After applying this, all (old) format patches will fail on options.c (like they always did) but now you can ignore the rejects and they will show up in the list anyway! Original announcement
Full MPI support for Jumbo-1

Same for Jumbo-2-RC1
magnum Status: Added 2011-05-06. Obsoleted by Jumbo 5 Applies on top of john-1.7.7 jumbo-1 or (added 2011-05-09) jumbo-2-RC1. Revision 10
This adds MPI support for all cracking modes. See mailing list announcement
This works just fine together with OMP patches too, with (configurable) auto-disabling of OMP when MPI is used.
UTF-8 support for Jumbo-1

Same for Jumbo-2-RC1
magnum (with help from JimF)Status: Updated 2011-05-08. Obsoleted by Jumbo-5. Applies on top of 1.7.7-jumbo-1 or (added 2011-05-09) jumbo-2-RC1. Revision 4.
This patch adds the –utf8 option flag to JtR, enabling the use of wordlists and input files encoded in UTF-8 with proper conversion, for formats that use Unicode internally (most notably NT, but a bunch of other formats too). It also adds some reject rules and character classes for UTF-8. Original announcement. Try it with these test hashes and a test dictionary.
This patch also includes major performance fixes (and OMP support) for all NET*LM* formats as well as MSCHAPv2 and enhances NETNTLM so it can attack “Extended Session Security” hashes too. It also adds two new formats: MS Kerberos 5 AS-REQ PreAuth and raw MD5 from UTF-16 plaintext.
md5-gen-2 update to 1.7.7-jumbo1

1.7.7-jumbo-2-RC1
JimF This is a FULL update for MD5_Gen, and many other chagnes (core changes). Adds many type to md5_gen, speeds it up a lot.
MD5_gen now ported to many more systems
Hopefully these changes will get put into jumbo sooner rather than later. I will post an email listing all changes.
this is much more than the v3 patch to 1.7.6 jumbo-x

This has been tested much more throughly now, should build under most systems with no warnings, and has fixed a few more crash bugs and bug where formats were not properly finding all data (which were likely in jumbo1
The jumbo-2 is the same patch, but can be installed right on top of 'core 1.7.7', and is posted here as a RC for a jumbo-2 release. )
Mailing List Announcement
Configurable date formatmagnumStatus: Added 2011-05-06. Applies on top of 1.7.7-jumbo-1.
This patch moves the ETA date format string into john.conf
Configurable date formatmagnumStatus: Added 2011-05-06. Applies on top of fullmpi-10.
This is the same as above, but this one must be used if fullmpi-10 is applied.
FullMPI for 1.7.6 magnum Status: Added 2010-06-22. Applies on top of john-1.7.6 jumbo. If the patch rejects on params.h, just hand edit the version string in there.
This adds MPI support for all cracking modes. See original mailing list announcement
This and more is included in 1.7.7 Jumbo-5 and later
mpi10 patch for 1.7.3.1 RB Status: separate patch.
Latest stripped version of bindshell.net MPI patch. This and more is included in 1.7.7 Jumbo-5 and later
Enhancements to md5-gen v3 JimF Status: applies on top of 1.7.6-jumbo-12, This has been incorportated int 1.7.7-Jumbo-2-RC1.
This patch adds MD5_go (faster x86), Faster handling of SSE, incorporation of intrinsic SSE, better benchmarking, some formats 2x faster, and new additional md5_gen() formats.
This patch is a significant performance improvement, and new functionality improvement to the generic MD5 formats.

the -v2 of this patch fixes several bugs found (saltless hashes appearing salted, and a several unused primitive functions were wrong)
This patch also adds ability to go into and out of SSE processing, so that a format can be built using SSE where it can, and make it able to switch over to MD5_go when it is not SSE safe
Also added ability to work directly with 'raw' hashes, if the exact sub-format is specified. So -format=md5-gen -sub=md5_gen(0) will work on the same 'raw' hash file as -format-raw-md5 This change will likely not be too useful for salted hashes. Most of those will have to be put into the md5_gen(x)hash$salt format for them to work properly.

-v3 fixed still another no salt bug (that -v2 should have fixed)
SSE intrinsics for MD5 and SHA-1 Bartavelle Status: applies on top of john-1.7.6-jumbo-12, This has been incorporated into 1.7.7-Jumbo-3-RC1.
This includes MD5-crypt, raw MD5, raw SHA-1, salted SHA-1 SSE intrinsics for 64-bit architectures, and targets for clang and icc. The salted SHA-1 is available through the “salted-sha” format introduced with this patch (not replacing an existing format), as it is likely to be buggy. This patch has been updated from the -jumbo-6 revision of it (below), but it is known to be somewhat buggy (some formats fail self-test, maybe due to the self-tests having become more extensive since -jumbo-6).
SSE intrinsics for MD5 and SHA-1 Bartavelle Status: applies on top of john-1.7.6-jumbo-6.diff.gz, This has been incorporated into 1.7.7-Jumbo-3-RC1.
This is an older revision of the above patch.
Enhancements to md5-gen (Including some 'internal' john plumbing changes JimF Status: applies on top of 1.7.6-jumbo-12, however, incorporated into 1.7.7-jumbo-2-RC1
WILL cause other patches to fail.
This patch add all things that the -v3 patch below adds. It also adds some more. However, there are some large 'structure' changes to the format structure (which ALL john formats derive from). This, it may be best to wait for Solar to merge those changes into a jumbo release)
Added Field-0 to Field-9 support. Added sha1 limited support into md5-gen format
MySQL(323)-old fast algorithm for 1.7.2 Balázs Bucsay Status: integrated into jumbo patch
raw-MD5 fast algorithm for 1.7.2 Balázs Bucsay Status: integrated into jumbo patch
Oracle 11g for 1.7.2 Alexandre Hamelin Status: integrated into jumbo patch
Oracle 11g for 1.7.3.1 Alexandre Hamelin Status: integrated into jumbo patch
JimF patch for 1.7.3.4-jumbo-2 JimF Status: integrated into 1.7.4-jumbo-2 and above.

Rollup of all JimF's released patches, with a significant update to generic md5.

This patch should be run on a clean 1.7.3.4 which has had the 1.7.3.4-jumbo-2.diff run.

Included in the patch are:

Performance Patch
– Memory file
– Larger hash tables
– Less file IO
MinGW and VC porting / #defines
Many new options
– Added an optional [=Section] to -single and -rules
– Added an optional [=left] to -show (outputs the hashes uncracked)
– Added an optional [MAX] to the -salt
– Added new option -salt-list=
– Added new option -pot=potfile
– Added new option -nodupes
– Added new option -subformat= (for md5-generic)
– Added new option -field-separator-char=c (allows using a field sep char OTHER than the colon : char
MD5 'Generic' processing
– 17 builtin's and running as fast as 'native' formats
– 'hooks' provided so other formats can become VERY thin, and use generic md5.
— phpass format is now 'thin' and linked to gen-md5 code
— PHPS format is now 'thin' and linked to gen-md5 code
— there are others which could be linked, but right now, only these 2
– Formats CAN now be added, without changing john's code
— new formats (over md5_gen(1000) are added to john.conf
— there are many examples in the updated john.conf, along with FULL documentation
— a new file doc\MD5_GENERIC documents how to use generic md5
the -v2 of this patch
– 'fixes' a bug that did not allow MMX to work in generic md5
– Improves speed of md5_gen(12) and md5_gen(13)
– fixes a compile warning in wordlist.c
– fixes benchmark discrepancy in phpass
Add filter support for markov mode Bartavelle Status: revised and merged into 1.7.5-jumbo-2 and above
Oracle -show Fix for 1.7.5-jumbo-2 jmk Status: merged into 1.7.5-jumbo-3 and above. Patch is against John 1.7.5 with Jumbo-2.
john -format:oracle -show doesn't show previously cracked passwords. This patch fixes that issue.
NetLM/NTLM documentation, --config option, netntlm.pl update for 1.7.5-jumbo-2 jmk Status: merged into 1.7.5-jumbo-3 and above. Patch is against John 1.7.5 with Jumbo-2.
This patch includes documentation for the challenge/response formats (i.e. NetLM, NetNTLM, NetLMv2 and NetNTLMv2). The netntlm.pl script has been updated based on feedback from the mailing list. This script aids with cracking challenge/response hashes where the first part of the password is known (e.g. from Rainbow Tables). It also adds a ”–config” option to john, which is needed for the netntlm.pl script.
NetLMv2/NetNTLMv2 update for 1.7.5-jumbo-3 jmk Status: merged into 1.7.6-jumbo-2 and above. Patch is against John 1.7.5 with Jumbo-3.
This patch fixes a bug which can be encountered when dealing with long client challenges (e.g. the result of Windows 7 → Windows 7 SMB2 authentication). It also fixes LMv2 bruting for non-uppercase domains and allows for DOMAIN\USER-style account names.
MSCHAPv2 patch for 1.7.6-jumbo-5 jmk Status: merged into 1.7.6-jumbo-7 and above. Patch is against John 1.7.6 with Jumbo-5.
This patch add support for bruting MSCHAPv2 challenge/response sets exchanged during network-based authentication attempts.
Enhanced netscreen.py Robert Harris Status: merged into 1.7.6-jumbo-7 and above. Patch is against John 1.7.6 with Jumbo-6.
Updated to: Use the hashlib library, Print help text if both input arguments are missing, Optionally read from a file
Enhanced netscreen.py v2.04 Robert Harris and Brad Tilley Status: merged into 1.7.6-jumbo-8 and above. Patch is against John 1.7.6 with Jumbo-7.
This netscreen.py version 2.04 contains the minor fix from v2.01 and several enhancements including:
This version now runs in Python version 3.x (and also 2.x)
Input files can now have the additional separator ”:”.
Handles a separator (”,” or ”:”) in the password field when reading from a file.
Here is the full script Enhanced netscreen.py v2.04 zip file
Generic salted SHA-1 support Solar Designer Status: merged into 1.7.6-jumbo-8 and above. Patch is against John 1.7.6 with Jumbo-7.
This patch adds support for SHA-1 hashes of passwords prefixed or suffixed by an arbitrary length salt string. It does not yet add support for more complicated hashes based on SHA-1 (such as those with multiple iterations).
Makefile for Solaris targets fix-1 Robert Harris Status: merged into 1.7.6-jumbo-8 and above. Patch is against John 1.7.6 with Jumbo-7.
This patch makes some corrections to the Makefile for all Solaris targets.
MSCash2 support for 1.7.6-jumbo-9 S3nf Status: merged into 1.7.6-jumbo-10 and above. Applies on top of john-1.7.6-jumbo-9.
This patch includes support for Domain Cached Credentials of modern Windows operating systems (e.g. Windows Vista, Windows 7, Windows Server 2008, cf. MSCash2 Algorithm). Version 1.1 added support for big-endian architectures.