Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 29 Nov 2017 13:38:13 +0100
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: aix 5 compilation

On Tue, Nov 28, 2017 at 11:02:22PM +0100, altr@...2.de wrote:
> by compiling jtr on an old AIX 5.3 machine (sigh, for compat reasons, ...):
> 
> 1) there is a conflict for int64, renamed it to jtrint64.

JtR core tree already includes this workaround in math.h:

#undef int64
#define int64 _john_int64_t

Somehow jumbo has this instead:

#undef int64
#define int64 _john_int64_composite

So it turns out these are insufficient, because AIX header files that we
sometimes (indirectly) include (at least in jumbo) after having already
included our math.h try to refer to AIX's own int64, but instead hit our
workaround macro.

I'll need to fix this in the core tree to avoid unnecessary differences
between it and jumbo.

> 2) there are $ as variable names, which the compiler does not  
> understand. I renamed them.

OK.

> 3) arg list in the binary linking step was too long -> created a file  
> "jtr_link" with the command and bashed it

Previously discussed in:

https://github.com/magnumripper/JohnTheRipper/issues/2150

Maybe we need to enhance jumbo to exclude opencl_*.o from linking when
we're making non-OpenCL builds.  magnum?

Also, we may want to document use of AIX's chdev command:

http://www.in-ulm.de/~mascheck/various/argmax/

"The limit on AIX 5.1 can be changed at run time with "chdev -l sys0 -a
ncargs=value", in the range from 6_4KB to 1024_4KB."

And I don't see how people are bumping into the 24 KB default already.
This default is not that low.  Can you find out?  Do you already have so
many env vars set or whatever?  Try something like "set | wc" in bash.

> 4) no clue

> In file included from SIPdump.c:51:
> tcphdr.h:20: error: expected ':', ',', ';', '}' or '__attribute__'  
> before '.' token

Previously discussed in:

https://github.com/magnumripper/JohnTheRipper/issues/2153

Apparently, libpcap upgrade helps.

Our tcphdr.h:20 is:

	uint8_t th_off:4;

I am puzzled as to why this fails to compile, why line 21 apparently
compiles (it's very similar, so maybe the issue is th_off specifically
is already defined?), and and why upgrading libpcap would make a
difference with respect to this error (does it possibly define TCPHDR_H
on its own, which results in our tcphdr.h's content skipped?)

> $ git log | head
> commit 1b73c7339f385946e287696510909bd6f7950ce8
> Author: jfoug <jfoug@...nwall.net>
> Date:   Tue Nov 28 11:49:41 2017 -0600
> $ git diff > jtr.diff
> 
> ... appended, is there a better way to do this? (git send-email ?)

As you already found out, we use GitHub pull requests.  Thank you for
making one:

https://github.com/magnumripper/JohnTheRipper/pull/2935

Please exclude the int64 rename from there: that issue should be dealt
with separately.

The unshadow.c changes, if needed, I should probably make in the core
tree as well, and mine won't be exactly the same as yours.  But I don't
mind having this in jumbo as you wrote first.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

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