I tried to install the new john the ripper ebuild with MPI support. The patch the ebuild is trying to download does not exist. Even not on the bindshell.net site. I looked into making an ebuild for john the ripper with MPI support before, and I couldn't find a separate patch for MPI support. Only complete patched john sources. I emailed the author (John Anderson) about this but never got a reply. The ideal situation would be that the john contrib patch can be applied and additional the MPI patch depending on the USE flags. This way the same ciphers are supported for both the MPI and non-MPI version. Reproducible: Always Steps to Reproduce: 1.try to emerge the app-crypt/johntheripper-1.7.2-r5 MPI ebuild with the MPI use flag enabled 2.The ebuild fails because it can't download the MPI patch 3. Actual Results: The ebuild fails because it can't download the MPI patch Expected Results: app-crypt/johntheripper-1.7.2-r5 emerges with MPI support
Quote from upstream john-mpi@bindshell.net list (didn't find a mirror immediately): ===== No, there's never been much demand for diffs, seems a lot of people simply aren't willing or able to apply patches... The download stats showed something like a 90:1 ratio of downloads for the prepatched archives... It's not too hard to post them again if people want them. ===== This was almost a month ago; I since just went ahead and made my own patch, stripping it down to remove non-MPI related bits and make it able to apply with the existing jumbo (currently all-12) patch. I can attach it if you like, but it's not official.
I uploaded the john-1.7.2-bp17-mpi8.patch.gz patch myself now. aoz.syn: Since you are on the upstream list, please ask them to post as diffs as well in future.
Ok, it worked now, but the patch also contains support for the different ciphers and not only MPI support. In the current ebuild either the big patch or the MPI patch is applied, which could result in different supported ciphers for the non-MPI and MPI version. Is it not possible to strip the MPI patch down to only MPI support and apply the big patch for both the non-MPI and MPI version of john? Also the latest version of the big patch is not applied, currently 9 is applied and 12 is available. See: http://www.openwall.com/john/contrib/john-1.7.2-all-12.diff.gz I can open a separate bug for this if you want.
It seems that upstream is now considering putting out a minimal MPI patch after I posted mine; the following is a link to at least an intermediate version (mine) - it's 32k and 470 LOC as opposed to 440/12000. http://openwall.info/wiki/_media/john/john-1.7.2-mpi8.diff.gz
aoz.syn: does the new upstream minimal MPI apply cleanly on top of the bigpatch? Can you test and post up a revised ebuild?
That linked patch is mine (upstream hasn't done one yet), and although I'm reasonably pleased with it would rather wait for them to come out with (and support) one of their own. Once they do that I'd be more than glad to provide an updated ebuild. Mine is currently tuned to apply cleanly with the current all-12 jumbo/big patch, but as the first one against the vanilla source. Applying after was going to force adding more code specific to non-canonical functionality instead of just core. There is room for improvement to reduce the collisions, but I'm sitting on the fence for bit to see if upstream picks up the ball or if I'll need to. He's reportedly recovering from a failed dev machine, so is a bit hampered ATM.
Created attachment 157677 [details] johntheripper-1.7.2-r6.ebuild I've made an updated ebuild, which uses the MPI patch provided by RB. I also updated the ebuild to use the lastest jumbo patch
Created attachment 157679 [details] Updated patch In order to get the johntheripper-1.7.2-r6.ebuild working with the stackdef patches which were included, and the RB MPI patch I edited the latter a bit. There were some overlapping stackdefs, which I removed from the RB MPI patch. See attached file for new version.
Bumped in the sectools overlay: http://gentoo.o0o.nu/portage/app-crypt/johntheripper/
Created attachment 164516 [details] 1.7.3.1 ebuild JtR has updated to 1.7.3.1, and bindshell.net has started maintaining their own copy of the minimized MPI patch. This ebuild covers both of those, builds & runs just fine on my systems. Had to stop applying one of the stackdef patches, as sha1-mmx.S no longer exists, but otherwise is just changed from 1.7.2-r5 to reflect version updates.
It has been updated in sectools overlay. Thanks.
Created attachment 165973 [details] failed to compile without MPI RB, the 1.7.3.1.ebuild can not be compiled without MPI flag. I tried to compile it with the new all-4.diff.gz patch but the error is still the same (see attachment). Any ideas?
Created attachment 166127 [details] updated 1.7.3.1 ebuild There's a host of issues with this package right now; the one that triggered yours is that LDFLAGS handling in src/Makefile is somewhat brittle for the jumbo patch and the 'emake ... LDFLAGS=${LDFLAGS}' bit copied from the mainstream ebuild (1.7.2-r5) causes the breakage, MPI patch or not. Guess I didn't realize that the mainstream ebuild also does MPI _or_ jumbo, not both. Fixing that shows there are conflicts between >=all-3 and the mpi8 patch. The attached ebuild and associated patches make a somewhat reasonable stab at fixing both the issues and allowing any combination of vanilla, MPI, and Jumbo JtR builds. This will only use the all-2 patch until upstream fixes the src/bench.c conflict.
Created attachment 166129 [details, diff] files/johntheripper-1.7.3.1-mkdir-sandbox.patch
Created attachment 166131 [details, diff] files/johntheripper-1.7.3.1-params.h.patch
Created attachment 166133 [details, diff] Stackdef fixes for jumbo patch
Created attachment 166136 [details] 1.7.3.1 ebuild Note to self: 'emerge -av $foo' for final pre-posting check instead of 'ebuild $foo'.
It seems they have deleted the "all-2" patch from the openwall hosting and the ebuild is broken again...
Created attachment 166163 [details] 1.7.3.1 ebuild Not really; he's just moved it under historical/, which is only available via FTP. I still had a cached copy in my distfiles, but pointed this ebuild toward FTP.
I managed to compile both with && without MPI patch. Thank you.
So if I enable MPI, the jumbo patch gets still applied? Nice, I was working on that as well and had it almost finished. I was also looking into the custom cflags part of the ebuild, which I think doesn't really make any sense. I think the ebuild should use the same cflags as specified in john's own makefile, unless the custom-cflags USE flag is specified. I think the john author knows pretty well how to optimize his code and we should follow that, unless somebody really knows what he is doing.
*** Bug 238196 has been marked as a duplicate of this bug. ***
thankyou all for your great contributions to get this working. I've added the version from the sec-tools overlay. I've used the all-3 patch as that seems to work. There is a all-4 patch now however it doesn't patch nicely. Fixes welcome