Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 8 Jun 2011 07:08:57 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: 1.7.7-jumbo-6

Dhiru, bartavelle, Jim, magnum, all -

On Wed, Jun 08, 2011 at 05:07:56AM +0400, Solar Designer wrote:
> I also made some changes of my own, which I'll describe separately.

Here are some that I recall and haven't mentioned yet, in arbitrary order:

hmailserver and SybaseASE required addition of fmt_default_prepare and
changing of valid() prototype, obviously.

Their get_binary() needed to be updated to word-align the return value
buffer.  I reused Jim's approach for this.

#include <omp.h> dropped from all Dhiru's patches - they don't use
anything from that file.  Merely using OpenMP #pragma's does not require
that #include.

#ifdef _OPENMP ... #endif added around #pragma omp's.

FMT_OMP flag added where appropriate.

Some more of the global variables and functions declared static (this
prevents accidental use by other object files).

In Makefile, I added proper lines and sections for the new unssh, unpdf,
and drar tools to be compiled on non-Unix.

Various test files, etc. moved under src/unused/

The awful formatting of struct fmt_main fmt_ssh, etc. (in several files)
corrected.

In rar_fmt.c, added #undef set_key to avoid conflict with old OpenSSL's
#define, which it had for its own backwards compatibility.  (rar_fmt.c
directly includes OpenSSL header files, which is what exposed this problem.)

The move to SSE2 intrinsics for MD5-based hashes resulted in poor
performance when building with old gcc.  I introduced a workaround
limited to "FreeBSD MD5" - that is, to have speed no worse than the
official 1.7.7's for these hashes even when building with old gcc.
This amounts to:

+#define MD5_in_sse_intrinsics
 #include "MD5_std.h"
+#undef MD5_in_sse_intrinsics

in sse-intrinsics.c and:

+#if !defined(MD5_in_sse_intrinsics) && defined(__GNUC__) && __GNUC__ < 4
+#undef MD5_SSE_PARA
+#endif

in MD5_std.h.  Tested with 3.4.5 (getting old non-SSE2 code) and 4.5.0
(getting SSE2 intrinsics), both on x86_64.  Unfortunately, other
MD5-based hashes still suffer from the slow intrinsics when building
with old gcc; maybe we need to make this workaround more extensive.

mskrb5_fmt.c misattributed "the Kerberos 5 module" to me.  Fixed:

-Based on the Kerberos 5 module by Solar Designer, in turn based on
+Based on the Kerberos 5 module by Nasko Oskov, in turn based on
 the KRB4 module by Dug Song.

I also edited the comments in KRB5_*, which had resulted in this error.

logger.c had its licensing comment change inadvertently dropped between
-jumbo-1 and -jumbo-5.  I restored and extended it.

Trailing whitespace (lots of it in Dhiru's files) was deleted again:

sed -i 's/[[:space:]]$//g' `grep -l '[[:space:]]$' *.[ch]`

This is all I recall right now.  Dirty stuff, dirty fixes on my part.
Yet it is great that we have so much useful stuff in jumbo.  We just
need to find time to clean it up eventually... even though this sounds
almost unrealistic to me.

Thanks,

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.