Received: by mail.netbsd.org (Postfix, from userid 605) id 270C384D72; Sat, 8 Aug 2020 02:09:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id A180C84D63 for ; Sat, 8 Aug 2020 02:09:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id vdSgFpzEmFUT for ; Sat, 8 Aug 2020 02:09:01 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id 8C07784CE9 for ; Sat, 8 Aug 2020 02:09:01 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 851B0FB28; Sat, 8 Aug 2020 02:09:01 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_159685254199380" MIME-Version: 1.0 Date: Sat, 8 Aug 2020 02:09:01 +0000 From: "Leonardo Taccari" Subject: CVS commit: pkgsrc/security/john To: pkgsrc-changes@NetBSD.org Reply-To: leot@netbsd.org X-Mailer: log_accum Message-Id: <20200808020901.851B0FB28@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_159685254199380 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: leot Date: Sat Aug 8 02:09:01 UTC 2020 Modified Files: pkgsrc/security/john: Makefile PLIST distinfo pkgsrc/security/john/patches: patch-aa patch-ab Added Files: pkgsrc/security/john/patches: patch-src_logger.c Log Message: john: Update to 1.9.0 pkgsrc changes: - Document all the patches - Honors user's CFLAGS and don't remove -Wall from CFLAGS in patch-aa: they are usually pretty useful - Unset OPT_{NORMAL,INLINE} optimizations via MAKE_FLAGS to minimize patch-aa - Remove not needed NO_CONFIGURE - Use pre-configure as stage for SUBST (now that NO_CONFIGURE is removed) Changes: The following changes have been made between John 1.8.0 and 1.9.0: * Increased the interleaving for bcrypt on x86-64 from 2x to 3x for a major speedup on CPUs without SMT. Unfortunately, this sometimes results in a minor performance regression when running multiple threads on CPUs with SMT. * Recognize the $2b$ bcrypt prefix. * In the generic crypt(3) format, detect descrypt with valid vs. invalid salts as separate id's for our heuristics on supported hash types. * Introduced a number of optimizations for faster handling of large password hash files, including loading, cracking, and "--show". Some of these use more memory than before, yet in a more efficient manner. * Benchmark using all-different candidate passwords of length 7 by default. * Dropped undocumented special handling of "Mc" in 'c' and 'C' rule commands. * Dropped undocumented limitation of the 'M' and 'Q' rule commands where they would sometimes memorize/check only up to the current hash type's length limit yet this optimization wouldn't necessarily be transparent (e.g., if a later command would extract a substring from above the hash type's length limit and bring it to within the limit). * Implemented special-case handling of repeated rule commands '$', '^', '[', ']', '{', and '}', as well as faster handling of the 'D' command. * When built with "--fork" support, disallow session names with all-digit suffixes since these clash with those produced by "--fork". * Forward SIGTERM to --fork'ed children. * Set stdout to line buffered (rather than potentially fully buffered), except for "--stdout", "--show", and auxiliary programs such as "unshadow". * On Windows, restore normal processing of Ctrl-C in case our parent (such as Johnny the GUI) had disabled it. * Added linux-x86*-avx512 and linux-x86*-avx2 make targets, which use respectively AVX-512 and AVX2 for bitslice DES. * Added linux-mic make target for Intel MIC (first generation Xeon Phi, aka Knights Corner), which uses its 512-bit SIMD intrinsics for bitslice DES. (For second generation Xeon Phi, aka Knights Landing, use linux-x86-64-avx512.) * Added linux-arm64le, linux-arm32le-neon, and linux-arm32le make targets. (The first two of these make use of ASIMD or NEON for bitslice DES.) * Added linux-sparc64 make target. * Made a minor optimization to MMX and SSE2 assembly code for LM hash. * Dropped Ultrix and SCO support. * Don't probe for alternate config file names (like john.ini when on Unix). * "DokuWiki" external mode sample has been added to the default john.conf. * Fixed operator precedence in the external mode compiler to be the same as C. * Fixed an out of bounds write bug in the external mode virtual machine. * Fixed a bug introduced in version 1.7.4 in the wordlist rules engine, where some sequences of rule commands could overflow a word buffer. * Fixed a bug where unaligned access SSE/AVX instructions would unnecessarily be generated by GCC 4.6+ in the bitslice DES code in non-OpenMP builds. * Fixed a bug where "Warning: no OpenMP support for this hash type" could be printed in "--stdout" mode. * Made assorted other bugfixes, portability and documentation enhancements. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 pkgsrc/security/john/Makefile cvs rdiff -u -r1.4 -r1.5 pkgsrc/security/john/PLIST cvs rdiff -u -r1.15 -r1.16 pkgsrc/security/john/distinfo cvs rdiff -u -r1.9 -r1.10 pkgsrc/security/john/patches/patch-aa cvs rdiff -u -r1.2 -r1.3 pkgsrc/security/john/patches/patch-ab cvs rdiff -u -r0 -r1.1 pkgsrc/security/john/patches/patch-src_logger.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_159685254199380 Content-Disposition: inline Content-Length: 7634 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/security/john/Makefile diff -u pkgsrc/security/john/Makefile:1.28 pkgsrc/security/john/Makefile:1.29 --- pkgsrc/security/john/Makefile:1.28 Sun Jan 26 17:32:03 2020 +++ pkgsrc/security/john/Makefile Sat Aug 8 02:09:01 2020 @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.28 2020/01/26 17:32:03 rillig Exp $ +# $NetBSD: Makefile,v 1.29 2020/08/08 02:09:01 leot Exp $ # -DISTNAME= john-1.8.0 +DISTNAME= john-1.9.0 CATEGORIES= security textproc -MASTER_SITES= http://www.openwall.com/john/j/ +MASTER_SITES= http://www.openwall.com/john/k/ EXTRACT_SUFX= .tar.xz MAINTAINER= pkgsrc-users@NetBSD.org @@ -11,7 +11,6 @@ HOMEPAGE= https://www.openwall.com/john/ COMMENT= Unix Password Cracker LICENSE= gnu-gpl-v2 -NO_CONFIGURE= yes BUILD_DIRS= src TEST_TARGET= check @@ -68,12 +67,17 @@ BUILD_TARGET= generic BUILD_TARGET= generic .endif +# Avoid possible per-platform optimization +MAKE_FLAGS+= OPT_NORMAL= +MAKE_FLAGS+= OPT_INLINE= + INSTALLATION_DIRS= bin share/john -SUBST_CLASSES+= john -SUBST_STAGE.john= pre-build -SUBST_FILES.john= src/params.h -SUBST_VARS.john= PREFIX +SUBST_CLASSES+= fix-paths +SUBST_STAGE.fix-paths= pre-configure +SUBST_MESSAGE.fix-paths= Fixing hardcoded paths. +SUBST_FILES.fix-paths= src/params.h +SUBST_VARS.fix-paths= PREFIX do-install: # programs and scripts @@ -86,7 +90,8 @@ do-install: ${LN} -sf john ${DESTDIR}${PREFIX}/bin/${i} .endfor # data files -.for i in ascii.chr digits.chr lm_ascii.chr password.lst +.for i in alnum.chr alpha.chr ascii.chr digits.chr lm_ascii.chr lower.chr \ + lowernum.chr lowerspace.chr upper.chr uppernum.chr password.lst ${INSTALL_DATA} ${WRKSRC}/run/${i} ${DESTDIR}${PREFIX}/share/john .endfor Index: pkgsrc/security/john/PLIST diff -u pkgsrc/security/john/PLIST:1.4 pkgsrc/security/john/PLIST:1.5 --- pkgsrc/security/john/PLIST:1.4 Sun Sep 14 13:20:08 2014 +++ pkgsrc/security/john/PLIST Sat Aug 8 02:09:01 2020 @@ -1,11 +1,18 @@ -@comment $NetBSD: PLIST,v 1.4 2014/09/14 13:20:08 shattered Exp $ +@comment $NetBSD: PLIST,v 1.5 2020/08/08 02:09:01 leot Exp $ bin/john bin/mailer bin/unafs bin/unique bin/unshadow +share/john/alnum.chr +share/john/alpha.chr share/john/ascii.chr share/john/digits.chr share/john/john.conf share/john/lm_ascii.chr +share/john/lower.chr +share/john/lowernum.chr +share/john/lowerspace.chr share/john/password.lst +share/john/upper.chr +share/john/uppernum.chr Index: pkgsrc/security/john/distinfo diff -u pkgsrc/security/john/distinfo:1.15 pkgsrc/security/john/distinfo:1.16 --- pkgsrc/security/john/distinfo:1.15 Wed Nov 4 01:17:47 2015 +++ pkgsrc/security/john/distinfo Sat Aug 8 02:09:01 2020 @@ -1,8 +1,9 @@ -$NetBSD: distinfo,v 1.15 2015/11/04 01:17:47 agc Exp $ +$NetBSD: distinfo,v 1.16 2020/08/08 02:09:01 leot Exp $ -SHA1 (john-1.8.0.tar.xz) = 423901b9b281c26656234ee31b362f1c0c2b680c -RMD160 (john-1.8.0.tar.xz) = fda9971cd78bdf2b5154586efde2504c9a5974a4 -SHA512 (john-1.8.0.tar.xz) = e2820ecabd7ea4c7404c3d40f064994d0f5746b093c859a58fbf2588492ebcef411d9f3088c8e8ee726284ead969e26fdae834cdae3eb2d32408fc79ed906543 -Size (john-1.8.0.tar.xz) = 4468704 bytes -SHA1 (patch-aa) = 15ba3d70444435c6705f189b32af109e1f211ff4 -SHA1 (patch-ab) = 4f8c9e1bba14f64b651c6d08337f004a3e278e44 +SHA1 (john-1.9.0.tar.xz) = 5e15e41adb96768cb1ea05af1b3128059df842df +RMD160 (john-1.9.0.tar.xz) = 16114db2fe5004ce4044a2d56b46ef209b941dc4 +SHA512 (john-1.9.0.tar.xz) = 26e9a245e9f050344ae8c3320e1e24dad6bc2b73e99cc041a50c2d124b2c898c93d048727451ab8a2ba1c8aa4d8d462a8c0c9fea7de39f3479a0c170a5e9ad60 +Size (john-1.9.0.tar.xz) = 8944932 bytes +SHA1 (patch-aa) = 8bc111b75bb848f7373f339c77075886e0c54098 +SHA1 (patch-ab) = 7cce81d7692b556ee35b90912192ae48c5b98cc7 +SHA1 (patch-src_logger.c) = e97548fe857ee58da21cab2d763155360b70a964 Index: pkgsrc/security/john/patches/patch-aa diff -u pkgsrc/security/john/patches/patch-aa:1.9 pkgsrc/security/john/patches/patch-aa:1.10 --- pkgsrc/security/john/patches/patch-aa:1.9 Sun Sep 14 13:20:08 2014 +++ pkgsrc/security/john/patches/patch-aa Sat Aug 8 02:09:01 2020 @@ -1,23 +1,20 @@ -$NetBSD: patch-aa,v 1.9 2014/09/14 13:20:08 shattered Exp $ +$NetBSD: patch-aa,v 1.10 2020/08/08 02:09:01 leot Exp $ ---- src/Makefile.orig 2013-05-29 23:21:25.000000000 +0000 +Honors user's {C,LD}FLAGS and do not strip. + +--- src/Makefile.orig 2019-04-10 16:53:34.000000000 +0000 +++ src/Makefile -@@ -28,14 +28,13 @@ OMPFLAGS = - #OMPFLAGS = -fopenmp -D_FORTIFY_SOURCE=0 +@@ -30,11 +30,11 @@ OMPFLAGS = + #OMPFLAGS = -openmp # Sun Studio with OpenMP (set the OMP_NUM_THREADS env var at runtime) #OMPFLAGS = -xopenmp --CFLAGS = -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer $(OMPFLAGS) -+CFLAGS = -c $(OMPFLAGS) +-CFLAGS = -c -Wall -O2 -fomit-frame-pointer $(OMPFLAGS) ++CFLAGS += -c -Wall $(OMPFLAGS) # CFLAGS for use on the main john.c file only CFLAGS_MAIN = $(CFLAGS) ASFLAGS = -c $(OMPFLAGS) -LDFLAGS = -s $(OMPFLAGS) --OPT_NORMAL = -funroll-loops --# Remove the "-Os" if you're using an ancient version of gcc --OPT_INLINE = -Os -funroll-loops -finline-functions -+LDFLAGS += -s $(OMPFLAGS) -+OPT_NORMAL = -+OPT_INLINE = - - JOHN_OBJS = \ - DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o \ ++LDFLAGS += $(OMPFLAGS) + OPT_NORMAL = -funroll-loops + # Remove the "-Os" if you're using an ancient version of gcc + OPT_INLINE = -Os -funroll-loops -finline-functions Index: pkgsrc/security/john/patches/patch-ab diff -u pkgsrc/security/john/patches/patch-ab:1.2 pkgsrc/security/john/patches/patch-ab:1.3 --- pkgsrc/security/john/patches/patch-ab:1.2 Mon Dec 13 10:32:35 2010 +++ pkgsrc/security/john/patches/patch-ab Sat Aug 8 02:09:01 2020 @@ -1,8 +1,10 @@ -$NetBSD: patch-ab,v 1.2 2010/12/13 10:32:35 wiz Exp $ +$NetBSD: patch-ab,v 1.3 2020/08/08 02:09:01 leot Exp $ ---- src/params.h.orig 2010-06-14 02:38:55.000000000 +0000 +Use @PREFIX@ instead of hardcoding /usr. + +--- src/params.h.orig 2019-04-12 01:00:35.000000000 +0000 +++ src/params.h -@@ -51,15 +51,15 @@ +@@ -75,15 +75,15 @@ * notes above. */ #ifndef JOHN_SYSTEMWIDE @@ -21,18 +23,19 @@ $NetBSD: patch-ab,v 1.2 2010/12/13 10:32 #endif #define JOHN_PRIVATE_HOME "~/.john" #endif -@@ -103,8 +103,8 @@ - /* +@@ -136,9 +136,9 @@ * File names. */ + #ifdef __DJGPP__ +-#define CFG_FULL_NAME "$JOHN/john.ini" ++#define CFG_FULL_NAME "@PREFIX@/share/john/john.ini" + #else -#define CFG_FULL_NAME "$JOHN/john.conf" --#define CFG_ALT_NAME "$JOHN/john.ini" -+#define CFG_FULL_NAME "@PREFIX@/share/john/john.conf" -+#define CFG_ALT_NAME "@PREFIX@/share/john/john.ini" ++#define CFG_FULL_NAME "@PREFIX@/share/john/john.ini" + #endif #if JOHN_SYSTEMWIDE - #define CFG_PRIVATE_FULL_NAME JOHN_PRIVATE_HOME "/john.conf" - #define CFG_PRIVATE_ALT_NAME JOHN_PRIVATE_HOME "/john.ini" -@@ -118,7 +118,7 @@ + #ifdef __DJGPP__ +@@ -156,7 +156,7 @@ #endif #define LOG_SUFFIX ".log" #define RECOVERY_SUFFIX ".rec" Added files: Index: pkgsrc/security/john/patches/patch-src_logger.c diff -u /dev/null pkgsrc/security/john/patches/patch-src_logger.c:1.1 --- /dev/null Sat Aug 8 02:09:01 2020 +++ pkgsrc/security/john/patches/patch-src_logger.c Sat Aug 8 02:09:01 2020 @@ -0,0 +1,15 @@ +$NetBSD: patch-src_logger.c,v 1.1 2020/08/08 02:09:01 leot Exp $ + +Properly define _XOPEN_SOURCE. + +--- src/logger.c.orig 2015-05-31 06:38:14.000000000 +0000 ++++ src/logger.c +@@ -8,7 +8,7 @@ + * There's ABSOLUTELY NO WARRANTY, express or implied. + */ + +-#define _XOPEN_SOURCE /* for fileno(3) and fsync(2) */ ++#define _XOPEN_SOURCE 500 /* for fileno(3) and fsync(2) */ + + #define NEED_OS_FLOCK + #include "os.h" --_----------=_159685254199380--