|
Message-ID: <20110608030857.GA26107@openwall.com> 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.