pkgsrc/security/john/Makefile

98 lines
2.6 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.21 2012/10/23 18:16:31 asau Exp $
#
Update to 1.7.6: The following changes have been made between John 1.7.5.1 and 1.7.6: * Generic crypt(3) support (enabled with "--format=crypt") has been added for auditing password hash types supported by the system but not yet supported by John's own optimized cryptographic routines (such as "SHA-crypt" and SunMD5). * Optional parallelization of the above has been implemented by means of OpenMP along with glibc's crypt_r(3) or Solaris' MT-safe crypt(3C). * Optional parallelization of John's own optimized code for the OpenBSD-style Blowfish-based crypt(3) (bcrypt) hashes with OpenMP has been added. * A more suitable version of 32-bit x86 assembly code for Blowfish is now chosen on Core i7 and similar CPUs (when they happen to run a 32-bit build). * More optimal DES S-box expressions for PowerPC with AltiVec (making use of the conditional select operation) contributed by Dumplinger Boy (Dango-Chu) have been integrated. * The bitslice DES C source code has been reworked to allow for the use of arbitrary SIMD intrinsics, which was previously only implemented for AltiVec as a special case. * Support for SSE2 and MMX intrinsics with bitslice DES (as an alternative to the supplied assembly code) has been added (currently only enabled for SSE2 on x86-64 when compiling with GCC 4.4+). * Support for mixed-type longer virtual vectors (such as SSE2+MMX, SSE2+ALU, AltiVec+ALU, and other combinations) with bitslice DES has been added (not enabled by default yet, primarily intended for easy benchmarks on future CPUs, with future compiler versions, with even more SIMD instruction sets, and with different DES S-box expressions that might be available in the future). * The obsolete 32-bit SPARC assembly implementation of DES has been dropped. * The loader will now detect password hashes specified on a line on their own, not only as part of an /etc/passwd or PWDUMP format file. * When run in "--stdin" mode and reading candidate passwords from a terminal (to be typed by the user), John will no longer mess with the terminal settings. * John will now restore terminal settings not only on normal termination or interrupt, but also when forcibly interrupted with two Ctrl-C keypresses. The following changes have been made between John 1.7.5 and 1.7.5.1: * A new numeric variable has been added to the word mangling rules engine: "p" for position of the character last found with the "/" or "%" commands. The following changes have been made between John 1.7.4.2 and 1.7.5: * Support for the use of "--format" along with "--show" or "--make-charset" has been added. * The choice of .rec and .log filenames for custom session names has been made more intuitive. * Support for "\r" (character lists with repeats) and "\p0" (reference to the immediately preceding character list/range) has been added to the word mangling rules preprocessor. * The undefined and undocumented behavior of some subtle word mangling rules preprocessor constructs has been changed to arguably be more sensible. * Some bugs were fixed, most notably JtR crashing on no password hashes loaded (bug introduced in 1.7.4.2). The following changes have been made between John 1.7.4 and 1.7.4.2: * Major performance improvements for processing of very large password files or sets of files, especially with salt-less or same-salt hashes, achieved primarily through introduction of two additional hash table sizes (64K and 1M entries), changes to the loader, and smarter processing of successful guesses (to accommodate getting thousands of hashes successfully cracked per second). * Many default buffer and hash table sizes have been increased and thresholds for the use of hash tables lowered, meaning that John will now tend to use more memory to achieve better speed (unless it is told not to with the "--save-memory" option). * Some previously missed common website passwords found on public lists of "top N passwords" have been added to the bundled common passwords list. * Some bugs introduced in 1.7.4 and affecting wordlist mode's elimination of consecutive duplicate candidate passwords have been fixed. The following changes have been made between John 1.7.3.4 and 1.7.4: * Support for back-references and "parallel" ranges has been added to the word mangling rules preprocessor. * The notion of numeric variables (to be used for character positions and substring lengths along with numeric constants supported previously) has been introduced into the rules engine. Two pre-defined variables ("l" for initial or updated word's length and "m" for initial or memorized word's last character position) and 11 user-defined variables ("a" through "k") have been added. Additionally, there's a new numeric constant: "z" for "infinite" position or length. * New rule commands have been added: "A" (append, insert, or prefix with a string), "X" (extract a substring from memory and insert), "v" (subtract and assign to a numeric variable). * New rule reject flags have been added: ":" (no-op, for use along with the "parallel" ranges feature of the preprocessor) and "p" (reject unless word pair commands are allowed, for sharing of the same ruleset between "single crack" and wordlist modes). * Processing of word mangling rules has been made significantly faster in multiple ways (caching of the current length, less copying of data, code and data placement changes for better branch prediction and L1 cache usage, compiler-friendly use of local variables, code micro-optimizations, removal of no-op rule commands in an initial pass). * The default rulesets for "single crack" and wordlist modes have been revised to make use of the new features, for speed, to produce fewer duplicates, and to attempt additional kinds of candidate passwords (such as for years 2010 through 2019 with "year-based" rules). * The idle priority emulation code has been optimized for lower overhead when there appears to be no other demand for CPU time. * The default for the Idle setting has been changed from N to Y. The following changes have been made between John 1.7.3.1 and 1.7.3.4: * "make check" has been implemented (for Unix-like systems only). * The "--test" option will now take an optional argument - the duration of each benchmark in seconds. * Section .note.GNU-stack has been added to all assembly files to avoid the stack area unnecessarily being made executable on Linux systems that use this mechanism. * Some very minor bugs that did not affect normal operation have been fixed. * Some unimportant compiler warnings have been fixed, a source code comment has been made more verbose and more complete.
2010-12-13 11:32:35 +01:00
DISTNAME= john-1.7.6
PKGREVISION= 1
CATEGORIES= security textproc
MASTER_SITES= http://www.openwall.com/john/g/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.openwall.com/john/
COMMENT= Unix Password Cracker
LICENSE= gnu-gpl-v2
NO_CONFIGURE= yes
2005-11-03 21:41:43 +01:00
BUILD_DIRS= src
2010-12-13 11:33:24 +01:00
TEST_TARGET= check
.include "../../mk/compiler.mk"
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "SunOS" && ${MACHINE_ARCH} == "sparc"
. if !empty(CC_VERSION:MSun)
. if defined(SPARC_TARGET_ARCH) && ${SPARC_TARGET_ARCH} == "sparcv9"
BUILD_TARGET= solaris-sparc-v9-cc
. else
BUILD_TARGET= solaris-sparc-v8-cc
. endif
. else
BUILD_TARGET= solaris-sparc-gcc
. endif
.elif ${OPSYS} == "SunOS" && ${MACHINE_ARCH} == "i386"
BUILD_TARGET= solaris-x86-any
.elif ${OPSYS} == "NetBSD"
. if ${MACHINE_ARCH} == "i386"
BUILD_TARGET= openbsd-x86-any
. elif ${MACHINE_ARCH} == "x86_64"
BUILD_TARGET= openbsd-x86-64
. elif ${MACHINE_ARCH} == "sparc64"
BUILD_TARGET= netbsd-sparc64
. elif ${MACHINE_ARCH} == "sparc"
BUILD_TARGET= openbsd-sparc
. elif ${MACHINE_ARCH} == "alpha"
BUILD_TARGET= openbsd-alpha
. elif ${MACHINE_ARCH} == "powerpc"
BUILD_TARGET= openbsd-ppc32
. elif ${MACHINE_ARCH} == "powerpc64"
BUILD_TARGET= openbsd-ppc64
. elif ${MACHINE_ARCH} == "vax"
BUILD_TARGET= netbsd-vax
. else
BUILD_TARGET= generic
. endif
.elif ${OPSYS} == "OpenBSD"
. if ${MACHINE_ARCH} == "i386"
BUILD_TARGET= openbsd-x86-any
. elif ${MACHINE_ARCH} == "x86_64"
BUILD_TARGET= openbsd-x86-64
. elif ${MACHINE_ARCH} == "sparc64"
BUILD_TARGET= openbsd-sparc64
. elif ${MACHINE_ARCH} == "sparc"
BUILD_TARGET= openbsd-sparc
. elif ${MACHINE_ARCH} == "alpha"
BUILD_TARGET= openbsd-alpha
. elif ${MACHINE_ARCH} == "powerpc"
BUILD_TARGET= openbsd-ppc32
. elif ${MACHINE_ARCH} == "powerpc64"
BUILD_TARGET= openbsd-ppc64
. else
BUILD_TARGET= generic
. endif
.else
BUILD_TARGET= generic
.endif
2009-02-10 17:39:40 +01:00
INSTALLATION_DIRS= bin share/john
Updated security/john to 1.7.0.1 The following changes have been made between John 1.7 and 1.7.0.1: * Minor bug and portability fixes. * Better handling of certain uncommon scenarios and improper uses of John. * Bonus: "Keyboard" cracker included in the default john.conf (john.ini) that will try sequences of adjacent keys on a keyboard as passwords. The following major changes have been made since John 1.6: * Bitslice DES code for x86 with MMX: more than twice faster than older non-bitslice MMX code. * Bitsliced the LM hash code as well: now several times faster. * Significant improvements to the generic bitslice DES code: +20% on RISC. * PowerPC G4+ AltiVec support (Mac OS X and Linux): effective 128-bitness for bitslice DES, resulting in huge speedups. * First attempt at generic vectorization support for bitslice DES. * Two MD5 hashes at a time for extra ILP on RISC: up to +80% on Alpha EV5+. * Generic Blowfish x86 assembly code in addition to the original Pentium version: +15% on the Pentium Pro family (up to and including Pentium III), +20% on AMD K6 (Pentium 4 and newer AMD CPUs are more happy running the original Pentium code for Blowfish). * Verbose logging of events to the global or a session-specific log file. * Better idle priority emulation with POSIX.1b (POSIX.4) scheduling calls. * System-wide installation support for *BSD ports and Linux distributions. * AIX, DU/Tru64 C2, HP-UX tcb files support in unshadow. * New make targets for Linux/x86-64, Linux/PowerPC, FreeBSD/Alpha, OpenBSD/x86-64, OpenBSD/Alpha, OpenBSD/SPARC, OpenBSD/SPARC64, OpenBSD/PowerPC, OpenBSD/PA-RISC, OpenBSD/VAX, NetBSD/VAX, Solaris/SPARC64, Mac OS X (PowerPC and x86), SCO, BeOS. * Bug and portability fixes, and new bugs. * Bonus: "Strip" cracker included in the default john.conf (john.ini).
2006-03-14 11:17:25 +01:00
SUBST_CLASSES+= john
SUBST_STAGE.john= pre-build
SUBST_FILES.john= src/params.h
SUBST_SED.john= -e "s+@PREFIX@+${PREFIX}+g"
do-install:
Updated security/john to 1.7.0.1 The following changes have been made between John 1.7 and 1.7.0.1: * Minor bug and portability fixes. * Better handling of certain uncommon scenarios and improper uses of John. * Bonus: "Keyboard" cracker included in the default john.conf (john.ini) that will try sequences of adjacent keys on a keyboard as passwords. The following major changes have been made since John 1.6: * Bitslice DES code for x86 with MMX: more than twice faster than older non-bitslice MMX code. * Bitsliced the LM hash code as well: now several times faster. * Significant improvements to the generic bitslice DES code: +20% on RISC. * PowerPC G4+ AltiVec support (Mac OS X and Linux): effective 128-bitness for bitslice DES, resulting in huge speedups. * First attempt at generic vectorization support for bitslice DES. * Two MD5 hashes at a time for extra ILP on RISC: up to +80% on Alpha EV5+. * Generic Blowfish x86 assembly code in addition to the original Pentium version: +15% on the Pentium Pro family (up to and including Pentium III), +20% on AMD K6 (Pentium 4 and newer AMD CPUs are more happy running the original Pentium code for Blowfish). * Verbose logging of events to the global or a session-specific log file. * Better idle priority emulation with POSIX.1b (POSIX.4) scheduling calls. * System-wide installation support for *BSD ports and Linux distributions. * AIX, DU/Tru64 C2, HP-UX tcb files support in unshadow. * New make targets for Linux/x86-64, Linux/PowerPC, FreeBSD/Alpha, OpenBSD/x86-64, OpenBSD/Alpha, OpenBSD/SPARC, OpenBSD/SPARC64, OpenBSD/PowerPC, OpenBSD/PA-RISC, OpenBSD/VAX, NetBSD/VAX, Solaris/SPARC64, Mac OS X (PowerPC and x86), SCO, BeOS. * Bug and portability fixes, and new bugs. * Bonus: "Strip" cracker included in the default john.conf (john.ini).
2006-03-14 11:17:25 +01:00
# programs and scripts
2009-02-10 17:39:40 +01:00
${INSTALL_PROGRAM} ${WRKSRC}/run/john ${DESTDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKSRC}/run/mailer ${DESTDIR}${PREFIX}/bin
Updated security/john to 1.7.0.1 The following changes have been made between John 1.7 and 1.7.0.1: * Minor bug and portability fixes. * Better handling of certain uncommon scenarios and improper uses of John. * Bonus: "Keyboard" cracker included in the default john.conf (john.ini) that will try sequences of adjacent keys on a keyboard as passwords. The following major changes have been made since John 1.6: * Bitslice DES code for x86 with MMX: more than twice faster than older non-bitslice MMX code. * Bitsliced the LM hash code as well: now several times faster. * Significant improvements to the generic bitslice DES code: +20% on RISC. * PowerPC G4+ AltiVec support (Mac OS X and Linux): effective 128-bitness for bitslice DES, resulting in huge speedups. * First attempt at generic vectorization support for bitslice DES. * Two MD5 hashes at a time for extra ILP on RISC: up to +80% on Alpha EV5+. * Generic Blowfish x86 assembly code in addition to the original Pentium version: +15% on the Pentium Pro family (up to and including Pentium III), +20% on AMD K6 (Pentium 4 and newer AMD CPUs are more happy running the original Pentium code for Blowfish). * Verbose logging of events to the global or a session-specific log file. * Better idle priority emulation with POSIX.1b (POSIX.4) scheduling calls. * System-wide installation support for *BSD ports and Linux distributions. * AIX, DU/Tru64 C2, HP-UX tcb files support in unshadow. * New make targets for Linux/x86-64, Linux/PowerPC, FreeBSD/Alpha, OpenBSD/x86-64, OpenBSD/Alpha, OpenBSD/SPARC, OpenBSD/SPARC64, OpenBSD/PowerPC, OpenBSD/PA-RISC, OpenBSD/VAX, NetBSD/VAX, Solaris/SPARC64, Mac OS X (PowerPC and x86), SCO, BeOS. * Bug and portability fixes, and new bugs. * Bonus: "Strip" cracker included in the default john.conf (john.ini).
2006-03-14 11:17:25 +01:00
# configuration file
2009-02-10 17:39:40 +01:00
${INSTALL_DATA} ${WRKSRC}/run/john.conf ${DESTDIR}${PREFIX}/share/john
Updated security/john to 1.7.0.1 The following changes have been made between John 1.7 and 1.7.0.1: * Minor bug and portability fixes. * Better handling of certain uncommon scenarios and improper uses of John. * Bonus: "Keyboard" cracker included in the default john.conf (john.ini) that will try sequences of adjacent keys on a keyboard as passwords. The following major changes have been made since John 1.6: * Bitslice DES code for x86 with MMX: more than twice faster than older non-bitslice MMX code. * Bitsliced the LM hash code as well: now several times faster. * Significant improvements to the generic bitslice DES code: +20% on RISC. * PowerPC G4+ AltiVec support (Mac OS X and Linux): effective 128-bitness for bitslice DES, resulting in huge speedups. * First attempt at generic vectorization support for bitslice DES. * Two MD5 hashes at a time for extra ILP on RISC: up to +80% on Alpha EV5+. * Generic Blowfish x86 assembly code in addition to the original Pentium version: +15% on the Pentium Pro family (up to and including Pentium III), +20% on AMD K6 (Pentium 4 and newer AMD CPUs are more happy running the original Pentium code for Blowfish). * Verbose logging of events to the global or a session-specific log file. * Better idle priority emulation with POSIX.1b (POSIX.4) scheduling calls. * System-wide installation support for *BSD ports and Linux distributions. * AIX, DU/Tru64 C2, HP-UX tcb files support in unshadow. * New make targets for Linux/x86-64, Linux/PowerPC, FreeBSD/Alpha, OpenBSD/x86-64, OpenBSD/Alpha, OpenBSD/SPARC, OpenBSD/SPARC64, OpenBSD/PowerPC, OpenBSD/PA-RISC, OpenBSD/VAX, NetBSD/VAX, Solaris/SPARC64, Mac OS X (PowerPC and x86), SCO, BeOS. * Bug and portability fixes, and new bugs. * Bonus: "Strip" cracker included in the default john.conf (john.ini).
2006-03-14 11:17:25 +01:00
# symbolic links
.for i in unafs unique unshadow
2009-02-10 17:39:40 +01:00
${LN} -sf john ${DESTDIR}${PREFIX}/bin/${i}
Updated security/john to 1.7.0.1 The following changes have been made between John 1.7 and 1.7.0.1: * Minor bug and portability fixes. * Better handling of certain uncommon scenarios and improper uses of John. * Bonus: "Keyboard" cracker included in the default john.conf (john.ini) that will try sequences of adjacent keys on a keyboard as passwords. The following major changes have been made since John 1.6: * Bitslice DES code for x86 with MMX: more than twice faster than older non-bitslice MMX code. * Bitsliced the LM hash code as well: now several times faster. * Significant improvements to the generic bitslice DES code: +20% on RISC. * PowerPC G4+ AltiVec support (Mac OS X and Linux): effective 128-bitness for bitslice DES, resulting in huge speedups. * First attempt at generic vectorization support for bitslice DES. * Two MD5 hashes at a time for extra ILP on RISC: up to +80% on Alpha EV5+. * Generic Blowfish x86 assembly code in addition to the original Pentium version: +15% on the Pentium Pro family (up to and including Pentium III), +20% on AMD K6 (Pentium 4 and newer AMD CPUs are more happy running the original Pentium code for Blowfish). * Verbose logging of events to the global or a session-specific log file. * Better idle priority emulation with POSIX.1b (POSIX.4) scheduling calls. * System-wide installation support for *BSD ports and Linux distributions. * AIX, DU/Tru64 C2, HP-UX tcb files support in unshadow. * New make targets for Linux/x86-64, Linux/PowerPC, FreeBSD/Alpha, OpenBSD/x86-64, OpenBSD/Alpha, OpenBSD/SPARC, OpenBSD/SPARC64, OpenBSD/PowerPC, OpenBSD/PA-RISC, OpenBSD/VAX, NetBSD/VAX, Solaris/SPARC64, Mac OS X (PowerPC and x86), SCO, BeOS. * Bug and portability fixes, and new bugs. * Bonus: "Strip" cracker included in the default john.conf (john.ini).
2006-03-14 11:17:25 +01:00
.endfor
# data files
.for i in all.chr alnum.chr alpha.chr digits.chr lanman.chr password.lst
2009-02-10 17:39:40 +01:00
${INSTALL_DATA} ${WRKSRC}/run/${i} ${DESTDIR}${PREFIX}/share/john
Updated security/john to 1.7.0.1 The following changes have been made between John 1.7 and 1.7.0.1: * Minor bug and portability fixes. * Better handling of certain uncommon scenarios and improper uses of John. * Bonus: "Keyboard" cracker included in the default john.conf (john.ini) that will try sequences of adjacent keys on a keyboard as passwords. The following major changes have been made since John 1.6: * Bitslice DES code for x86 with MMX: more than twice faster than older non-bitslice MMX code. * Bitsliced the LM hash code as well: now several times faster. * Significant improvements to the generic bitslice DES code: +20% on RISC. * PowerPC G4+ AltiVec support (Mac OS X and Linux): effective 128-bitness for bitslice DES, resulting in huge speedups. * First attempt at generic vectorization support for bitslice DES. * Two MD5 hashes at a time for extra ILP on RISC: up to +80% on Alpha EV5+. * Generic Blowfish x86 assembly code in addition to the original Pentium version: +15% on the Pentium Pro family (up to and including Pentium III), +20% on AMD K6 (Pentium 4 and newer AMD CPUs are more happy running the original Pentium code for Blowfish). * Verbose logging of events to the global or a session-specific log file. * Better idle priority emulation with POSIX.1b (POSIX.4) scheduling calls. * System-wide installation support for *BSD ports and Linux distributions. * AIX, DU/Tru64 C2, HP-UX tcb files support in unshadow. * New make targets for Linux/x86-64, Linux/PowerPC, FreeBSD/Alpha, OpenBSD/x86-64, OpenBSD/Alpha, OpenBSD/SPARC, OpenBSD/SPARC64, OpenBSD/PowerPC, OpenBSD/PA-RISC, OpenBSD/VAX, NetBSD/VAX, Solaris/SPARC64, Mac OS X (PowerPC and x86), SCO, BeOS. * Bug and portability fixes, and new bugs. * Bonus: "Strip" cracker included in the default john.conf (john.ini).
2006-03-14 11:17:25 +01:00
.endfor
.include "../../mk/bsd.pkg.mk"