-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve packaged Windows builds #3960
Comments
Fixed in #3959
|
I don't mind using |
Ok, |
Don't forget you need to also specify the paths to fallback binaries during build of binaries that will invoke the fallbacks. |
I know (and that makes me a sad person). The madness of escaping. |
This change shouldn't require additional escaping, or does it? |
Testing now. Let's see. |
It is basically done and works in https://ci.appveyor.com/project/claudioandre-br/johntheripper/builds/24608734.
But there is a bad side effect. And a Windows symlink did not solve it (remember Win7 32bits).
|
Oh, I missed that problem, which I now realize was to be expected. This may be a reason to revert to the other approach I mentioned on the 1.9.0-jumbo-1 meta-issue: "maybe we should include the best SIMD+OMP not only as john.exe, but also with its full name consistent with the rest. [...] We could then also use our symlink.c to produce a tiny john.exe that merely executes the best one (letting it start the fallback chain if necessary)." |
Done! The Windows release "reloaded" is available at: https://ci.appveyor.com/project/claudioandre-br/johntheripper/builds/24630991
The fallback is tested by CI itself (avx512bw->avx2) I added only avx512bw because we are very close to CI limits (I shouldn't, better, can't add more stuff). |
I guess this is temporary, just for the test build? We also need Win32 builds for our releases. Regarding AVX-512 support in 32-bit builds, on one hand I doubt there's a 32-bit Windows that supports AVX-512 on context switches, but on the other hand someone might mistakenly install a 32-bit build that we release on 64-bit Windows on AVX-512 capable hardware. Do we care about having such installs use AVX-512? |
I removed all 32bits testing. But I will be able to release for 32bits.
I wont build AVX512BW on 32bits (see #3962). I will only build 512BW for 64bits. Note to self: AVX512F versus AVX512BW (from a Linux machine).
|
I guess you meant to test 512BW in 2xOMP there, but didn't. Anyway, we first need to know which of our formats are expected to benefit from BW, then test those. @magnumripper Perhaps you can suggest specific formats to use for 512F vs. 512BW tests. |
No, I did something wrong (fixed now). |
I don't think it's worth it.
I believe the only difference between them (currently) is in swap32/swap64, so -BW probably doesn't gain very much (likely only noticable for raw formats - unless it's hidden there too for other reasons). |
Claudio shows a difference for sha512crypt, and I'm not too surprised it too might involve byte swaps - but we need to take a look at the code, or just run more benchmarks first to confirm there's a difference for that format. Anyway, I think we've decided on going 512BW for 64-bit Windows. |
The basic SHA512 function in The sha512crypt format indeed uses |
Closing for now. Everything is done. |
I'll start recording related sub-issues in here.
windows-package
target. Use an equivalent of these commands in thewindows-package
target:peflags
) called e.g.fallback
. This will be a closer match to how I intended this functionality to be used, where on Linux systemwide installs/usr/libexec/john
is used. This is why I didn't worry about those files confusing the user.Otherwise someone might run a suboptimal build thinking it's the best suitable for their CPU, by looking at the many filenames.
Of course, this change also requires changing where the executables expect their next fallbacks.
The text was updated successfully, but these errors were encountered: