Closed magnumripper closed 5 years ago
I'm sorry I can't help with more testing or relbench checks. It's sad we're so short of volunteers (and strange! Sometimes I wonder if it's my fault?)
Hilarious. I got a mail from CircleCI where they apologised for having been slow lately - and I thought they were the quick ones! 🙃
CircleCI had problems (and I think is nice they acknowledged that).
On the other hand, Travis is a victim of its own success. (Comparing with 2 years ago) we are running on worse hardware.
I'm testing on various archs now. Got a failure and a pending fix for "ansible" on archs that require alignment. Got a not-yet-investigated failure for "monero" on big-endian.
Also got a failure and a pending fix for "phpass" on 64-bit archs that require alignment. I wonder how that one bug could have persisted that long.
Had a quick look at monero. Maybe I'm too tired but I see absolutely nothing that could be a problem on BE.
...unless the chacha code has problems of course. But the keepass format worked fine? It's just those two using chacha.
I also have no luck with "monero" so far. But I've got a fail+fix for "racf-kdfaes".
What was the fail in monero? cmp_all?
$ OMP_NUM_THREADS=1 ../run/john -test -form=monero
Warning: OpenMP is disabled; a non-OpenMP build may be faster
Benchmarking: monero, monero Wallet [Pseudo-AES / ChaCha / Various 64/64]... FAILED (cmp_all(1))
Problem should be in slow_hash_plug.c
Maybe. Meanwhile, I'm working on some documentation updates for core.
Problem should be in
slow_hash_plug.c
Hmmm or any of the gazillion hashes it uses. Perhaps we should just disable monero for BE.
Perhaps we should just disable monero for BE.
I'm OK with that.
IIRC I have a really crappy sparc somewhere, I'll see if I can even find it in time (let alone boot it).
@claudioandre-br don't you run lots of BE tests regularly?
Also found/fixed two kinds of alignment issues in "wpapsk".
Ah, yes. We just ignored it 😢
@magnumripper 1.9.0 core is ready, please merge. Thanks!
That was an easy one
When you say "ready" I was expecting params.h to say "1.9.0"
Core's params.h does say 1.9.0 for me.
Now I see it!
@jfoug formspring_fmt_plug.c
has:
#define ALGORITHM_NAME "?" /* filled in by dynamic */
and I'm seeing this moderate weirdness:
Testing: FormSpring [sha256($s.$p) 64/64sha2-OpenSSL]... PASS
I mean the "sha2-OpenSSL" string, which appears right after "64/64" without a space. Perhaps fix this? I think we need a space instead of the "sha2-" string.
I'll have a look at that.
Please do not forget this when eventually baking a jumbo release tarball
diff --git a/src/params.h b/src/params.h
index 290aef16d..0c38ebbd0 100644
--- a/src/params.h
+++ b/src/params.h
@@ -31,13 +31,13 @@
/*
* Define this for release tarballs. It affects the version reporting (will
* be the string above and below and never a Git hash) as well as some other
* details. Eg. it mutes output of OpenCL run-time build log unless the build
* failed.
*/
-//#define JTR_RELEASE_BUILD 1
+#define JTR_RELEASE_BUILD 1
/*
* Jumbo's version number. Note that we must uncomment JTR_RELEASE_BUILD
* above, in any release tar-balls (and only then, never ever in Git).
*/
#define JUMBO_POSTFIX "-jumbo-1"
More of the same weirdness:
Testing: FormSpring [sha256($s.$p) 64/64sha2-OpenSSL]... PASS
Testing: hMailServer [sha256($s.$p) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_50 [sha224($p) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_60 [sha256($p) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_61 [sha256($s.$p) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_70 [sha384($p) 64/64 sha2-OpenSSL]... PASS
Testing: dynamic_80 [sha512($p) 64/64 sha2-OpenSSL]... PASS
Testing: dynamic_1029 [sha256($p) (hash truncated to length 32) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_1503 [sha256(sha256($p).$s) (XenForo SHA-256) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_1528 [sha256($s.$p.$s) (Telegram for Android) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_1588 [sha256($s.sha1($p)) (ColdFusion 11) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_1602 [sha256(#.$salt.-.$pass) (QAS vas_auth) 64/64sha2-OpenSSL]... PASS
Testing: dynamic_1608 [sha256(sha256_raw(sha256_raw($p))) (Neo Wallet) 64/64sha2-OpenSSL]... PASS
Algorithm names intermixed with implementation bitness:
Testing: tc_aes_xts, TrueCrypt AES256_XTS [SHA512 64/64 /RIPEMD160/WHIRLPOOL]... (33xOMP) PASS
BTW, "64/64" is also wrong for scalar SHA-256 and SHA-224. It's 32-bit only, so should be "32/32" or "32/64".
Doh. I'll find it.
More SHA-256 misreported as 64-bit:
Testing: ansible, Ansible Vault [PBKDF2-SHA256 HMAC-256 64/64 OpenSSL]... (33xOMP) PASS
Testing: AzureAD [PBKDF2-SHA256 64/64 OpenSSL]... (33xOMP) PASS
Testing: BitLocker, BitLocker [SHA-256 AES 64/64]... (33xOMP) PASS
Testing: Bitwarden, Bitwarden Password Manager [PBKDF2-SHA256 AES 64/64 OpenSSL]... (33xOMP) PASS
Testing: FVDE, FileVault 2 [PBKDF2-SHA256 AES 64/64 OpenSSL]... (33xOMP) PASS
Testing: keyring, GNOME Keyring [SHA256 AES 64/64 OpenSSL]... (33xOMP) PASS
Testing: notes, Apple Notes [PBKDF2-SHA256 AES 64/64 OpenSSL]... (33xOMP) PASS
Testing: Padlock [PBKDF2-SHA256 AES 64/64 OpenSSL]... (33xOMP) PASS
Testing: PBKDF2-HMAC-SHA256 [PBKDF2-SHA256 64/64 OpenSSL]... (33xOMP) PASS
Testing: pwsafe, Password Safe [SHA256 64/64 OpenSSL]... (33xOMP) PASS
Testing: RAR5 [PBKDF2-SHA256 64/64 OpenSSL]... (33xOMP) PASS
Testing: SybaseASE, Sybase ASE [SHA256 64/64 OpenSSL]... (33xOMP) PASS
Testing: vdi, VirtualBox-VDI AES_XTS [PBKDF2-SHA256 64/64 OpenSSL + AES_XTS]... (33xOMP) PASS
Testing: HMAC-SHA256 [password is key, SHA256 64/64 OpenSSL]... (33xOMP) PASS
Some of these might refer to AES (does it use 64-bit?), but when there's PBKDF2-SHA256 we should only report on properties of that slow step, not on whatever fast post-processing there might be.
IIRC, Whirlpool is also 32-bit only:
Testing: tc_whirlpool, TrueCrypt AES256_XTS [WHIRLPOOL 64/64]... (33xOMP) PASS
Scalar SHA-1 misreported as 32-bit:
Testing: as400-ssha1, AS400-SaltedSHA1 [sha1(utf16be(space_pad_10(uc($s)).$p)) (IBM AS/400 SHA1) 64/64]... PASS
Testing: sha1crypt, NetBSD's sha1crypt [PBKDF1-SHA1 64/64]... (33xOMP) PASS
Testing: dynamic_1590 [sha1(utf16be(space_pad_10(uc($s)).$p)) (IBM AS/400 SHA1) 64/64]... PASS
Duplicate "DES DES" (but 64/64 is possibly OK, if bitslice):
Testing: mschapv2-naive, MSCHAPv2 C/R [MD4 DES DES 64/64 naive]... (33xOMP) PASS
What about "gost, GOST R 34.11-94 [64/64]" is that correct?
I don't know. It might be.
I'm done now, need sleep. Good luck, my friend.
What about "gost, GOST R 34.11-94 [64/64]" is that correct?
It is.
BTW cba22ea9 fixed lots of other algo names but commit message accidentally referred to €3513 instead of #3513
I really don't have more time now, for anything. Will commit a few minor things I found, then I'm gone. TTFN
I will check later tonight for any core patches though
I temporarily dropped the requirement for PR reviews. Use wisely, eg. if you merely fixed a typo then don't bother waiting for bots or reviews, just merge
I'm in the process of releasing 1.9.0 core. It's already on the website, and I'm about to write its announcement. I'm going to say that these days it's primarily just core for jumbo and that a corresponding jumbo release is coming shortly.
1.9.0 core is fully out and announced. I'm likely to proceed with 1.9.0-jumbo-1 tomorrow or later - am tired now, and there are still minor changes to make and non-trivial announcement detail to write.
The following shows the number of Jumbo commits since 1.8.0-jumbo-1, not counting the ones merged from core and not counting other merge commits (i.e. we do count non-core commits that were merged, just not the merge "glue" commit itself).
$ git log --no-merges 1.8.0-jumbo-1..HEAD ^origin/master --pretty=oneline | wc -l
5904
A diffstat is too long to post here...
$ git diff --stat 1.8.0-jumbo-1..HEAD | wc -l
1999
But it ends like this:
1998 files changed, 823800 insertions(+), 192254 deletions(-)
I'm not quite sure, but doesn't this mean we could say "over a million changes"? 👀 😃
Here's a full changelog (it's also in the tree as doc/CHANGES-jumbo.git
)
@solardiz feel free to re-word anything here. I'm just throwing out things that pop up.
Just listing some highlights. This is random things that pop up in my head and that I see when surfing randomly in the 6,000 commit descriptions:
(moved to wiki: https://github.com/magnumripper/JohnTheRipper/wiki/1.9.0-jumbo-1-NEWS)
I have to quit and get some sleep. I was using git log --color=always --no-merges 1.8.0-jumbo-1..HEAD ^origin/master --oneline | tac | less -r
and stopped at 55fde2fcc which apparently is beginning of 2016. More than three years more to browse.
On a FreeBSD system, I have to explicitly use gmake
instead of make
after running our ./configure
. Do we have this requirement of GNU make documented anywhere?
I've proceeded to post my relbench
results to #2914.
I've just created issues #3811 #3812 #3813 #3814 #3815 #3816 #3817 #3818 for the 10%+ performance regressions.
I have to quit and get some sleep. I [...] stopped at 55fde2f which apparently is beginning of 2016. More than three years more to browse.
1.8.0-jumbo-1 is from December 2014 (we released it much later than 1.8.0 core), so it's just 1+ year more to browse. Anyone else willing to help, now that magnum is away?
Another highlight.
I’ll be back in business here on Sunday April 28th, evening CET. If Jumbo isn’t yet released by then, I’ll spend all available time on it until it is.
Our jumbo-specific README.md still has the partial and non-updated yet lengthy list of jumbo-specific documentation files, which magnum agreed we should simply drop from there. I'd like to see that happen, maybe along with other pre-release edits/cleanups of that file. Claudio?
Claudio took care of some cleanup of README.md. Thanks!
magnum, now that you're back perhaps you can continue preparing the release highlights list? Maybe put it in a NEWS file or such in the repo, so that we'll hopefully maintain it going forward. Also, since we release so infrequently maybe group those changes not only by release (for now that would be just one list of all changes since 1.8.0-jumbo-1), but also by year. Thanks!
Lets's list / discuss here what we need to do before a release. Or rather, a list of NEED, one of NICE and one of DON'Ts.
See also #1879