Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 13 Jan 2015 01:49:56 +0000
From: Dominyk Tiller <dominyktiller@...il.com>
To: john-dev@...ts.openwall.com, solar@...nwall.com
Subject: Bug Report

Hey Solar,

I've been trying to chase up this bug for a fair while now. It's not a
new bug report by any means, It's been around for years now. You can see
a bit of a summary on the Jumbo Github issue I created here:
https://github.com/magnumripper/JohnTheRipper/issues/982

Essentially, params.h has a note in it to not patch the file but use
cflags to set JOHN_SYSTEMWIDE_EXEC, but doing so causes a fairly massive
compile breakage:

--------------------------------------------------------------------------------------
In file included from ./formats.h:./params.h:86:5:15 :
error: token is not a valid binary operator in a preprocessor subexpression
./params.h:86:5: error: token is not a valid binary operator in a
preprocessor subexpression
#if JOHN_SYSTEMWIDE
    ^~~~~~~~~~~~~~~
#if JOHN_SYSTEMWIDE
    ^~~~~~~~~~~~~~~
<command line>:1:49: <command line>note:: 1expanded from here:
49: note: expanded from here
#define JOHN_SYSTEMWIDE 1
-DJOHN_SYSTEMWIDE_EXEC=/usr/local/Cellar/john-jumbo/1.8.0_j1/share
                           ~~~~~~~~~~~~~~~~~~~~~^
#define JOHN_SYSTEMWIDE 1
-DJOHN_SYSTEMWIDE_EXEC=/usr/local/Cellar/john-jumbo/1.8.0_j1/share
                           ~~~~~~~~~~~~~~~~~~~~~^
In file included from DES_fmt.c:16:
In file included from ./formats.h:15:
./params.h:In file included from jumbo.c:25:
./params.h:145:5: error: 145token is not a valid binary operator in a
preprocessor subexpression:
5: error: token is not a valid binary operator in a preprocessor
subexpression
#if JOHN_SYSTEMWIDE
    ^~~~~~~~~~~~~~~
#if JOHN_SYSTEMWIDE
    ^~~~~~~~~~~~~~~<command line>
:1:49<command line>:: 1note: expanded from here
:49: note: expanded from here
#define JOHN_SYSTEMWIDE 1
-DJOHN_SYSTEMWIDE_EXEC=/usr/local/Cellar/john-jumbo/1.8.0_j1/share
                           ~~~~~~~~~~~~~~~~~~~~~^
#define JOHN_SYSTEMWIDE 1
-DJOHN_SYSTEMWIDE_EXEC=/usr/local/Cellar/john-jumbo/1.8.0_j1/share
                           ~~~~~~~~~~~~~~~~~~~~~^
2 errors generated.
make[1]: *** [jumbo.o] Error 1
make[1]: *** Waiting for unfinished jobs....
2 errors generated.
make[1]: *** [DES_fmt.o] Error 1
Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[1]: *** [john-mpi.o] Error 1
Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[1]: *** [DES_std.o] Error 1
make: *** [default] Error 2

--------------------------------------------------------------------------------------

So despite the file saying not to patch it, it seems patching it is the
only way to set the directories.

All the OS X package managers have been patching the file for years
regardless, but it'd be good to get some fix upstream and be able to
follow the instructions in the file and use flags instead.

Cheers,

Dom

-- 
Sent from OS X. If you wish to communicate more securely my PGP Public
Key is 0x872524db9d74326c.


[ CONTENT OF TYPE application/pgp-signature SKIPPED ]

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ