Simon Josefsson <[EMAIL PROTECTED]> writes: > What do you think? This is very similar to the hmac-md5 module.
I installed the patch below. It didn't touch on any existing module, so I thought the impact was low. > The reason the modules are separate is that I don't want to force > hmac-sha1 users to have a hmac-md5 and md5 implementation around. > Alas, the sha1 module depend on md5 for 'md5_uint32'. Couldn't we fix > it to use 'stdint' instead? Doing that would perhaps make it possible > to sync md5 with glibc, because I think we could change glibc's md5.h > to use uint32_t too. For reference, I've submitted patches for this in another thread. Index: ChangeLog =================================================================== RCS file: /cvsroot/gnulib/gnulib/ChangeLog,v retrieving revision 1.412 diff -u -p -r1.412 ChangeLog --- ChangeLog 11 Oct 2005 18:50:37 -0000 1.412 +++ ChangeLog 12 Oct 2005 01:08:03 -0000 @@ -1,3 +1,9 @@ +2005-10-12 Simon Josefsson <[EMAIL PROTECTED]> + + * modules/gc-md5, modules/gc-hmac-md5: New files. + + * modules/gc (Files): Remove md5, memxor and hmac files. + 2005-10-11 Bruno Haible <[EMAIL PROTECTED]> * modules/c-strcasestr: New file. Index: m4/ChangeLog =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/ChangeLog,v retrieving revision 1.735 diff -u -p -r1.735 ChangeLog --- m4/ChangeLog 11 Oct 2005 18:25:51 -0000 1.735 +++ m4/ChangeLog 12 Oct 2005 01:08:03 -0000 @@ -1,3 +1,9 @@ +2005-10-12 Simon Josefsson <[EMAIL PROTECTED]> + + * gc-md5.m4, gc-hmac-md5: New files. + + * gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5. + 2005-10-11 Simon Josefsson <[EMAIL PROTECTED]> * crc.m4: New file. Index: m4/gc.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/gc.m4,v retrieving revision 1.1 diff -u -p -r1.1 gc.m4 --- m4/gc.m4 8 Oct 2005 08:33:08 -0000 1.1 +++ m4/gc.m4 12 Oct 2005 01:08:03 -0000 @@ -18,9 +18,6 @@ AC_DEFUN([gl_GC], AC_LIBOBJ([gc-libgcrypt]) else AC_LIBOBJ([gc-gnulib]) - gl_MD5 - gl_MEMXOR - gl_HMAC_MD5 # Devices with randomness. # FIXME: Are these the best defaults? Index: m4/gc-md5.m4 =================================================================== RCS file: m4/gc-md5.m4 diff -N m4/gc-md5.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ m4/gc-md5.m4 12 Oct 2005 01:08:03 -0000 @@ -0,0 +1,14 @@ +# gc-md5.m4 serial 1 +dnl Copyright (C) 2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_MD5], +[ + AC_REQUIRE([gl_GC]) + AC_DEFINE(GC_USE_MD5, 1, [Define to if you want to support MD5 through GC.]) + if test "$ac_cv_libgcrypt" != yes; then + gl_MD5 + fi +]) Index: m4/gc-hmac-md5.m4 =================================================================== RCS file: m4/gc-hmac-md5.m4 diff -N m4/gc-hmac-md5.m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ m4/gc-hmac-md5.m4 12 Oct 2005 01:08:03 -0000 @@ -0,0 +1,17 @@ +# gc-hmac-md5.m4 serial 1 +dnl Copyright (C) 2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_GC_HMAC_MD5], +[ + AC_REQUIRE([gl_GC]) + AC_DEFINE(GC_USE_HMAC_MD5, 1, + [Define to if you want to support HMAC-MD5 through GC.]) + if test "$ac_cv_libgcrypt" != yes; then + gl_MD5 + gl_HMAC_MD5 + gl_MEMXOR + fi +]) Index: lib/ChangeLog =================================================================== RCS file: /cvsroot/gnulib/gnulib/lib/ChangeLog,v retrieving revision 1.1005 diff -u -p -r1.1005 ChangeLog --- lib/ChangeLog 12 Oct 2005 00:23:38 -0000 1.1005 +++ lib/ChangeLog 12 Oct 2005 01:08:03 -0000 @@ -1,5 +1,8 @@ 2005-10-12 Simon Josefsson <[EMAIL PROTECTED]> + * gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and + GC_USE_HMAC_MD5, respectively. + * gc-libgcrypt.c (gc_md5): Fix assert call. (gc_md5): Fix typo. Index: lib/gc-gnulib.c =================================================================== RCS file: /cvsroot/gnulib/gnulib/lib/gc-gnulib.c,v retrieving revision 1.3 diff -u -p -r1.3 gc-gnulib.c --- lib/gc-gnulib.c 12 Oct 2005 00:23:38 -0000 1.3 +++ lib/gc-gnulib.c 12 Oct 2005 01:08:03 -0000 @@ -37,8 +37,12 @@ #include <fcntl.h> #include <errno.h> -#include "md5.h" -#include "hmac.h" +#ifdef GC_USE_MD5 +# include "md5.h" +#endif +#ifdef GC_USE_HMAC_MD5 +# include "hmac.h" +#endif int gc_init (void) @@ -142,9 +146,11 @@ gc_hash_buffer (Gc_hash hash, const void { switch (hash) { +#ifdef GC_USE_MD5 case GC_MD5: md5_buffer (in, inlen, resbuf); break; +#endif default: return GC_INVALID_HASH; @@ -153,13 +159,16 @@ gc_hash_buffer (Gc_hash hash, const void return GC_OK; } +#ifdef GC_USE_MD5 int gc_md5 (const void *in, size_t inlen, void *resbuf) { md5_buffer (in, inlen, resbuf); return 0; } +#endif +#ifdef GC_USE_HMAC_MD5 int gc_hmac_md5 (const void *key, size_t keylen, const void *in, size_t inlen, char *resbuf) @@ -167,3 +176,4 @@ gc_hmac_md5 (const void *key, size_t key hmac_md5 (key, keylen, in, inlen, resbuf); return 0; } +#endif Index: lib/gc-libgcrypt.c =================================================================== RCS file: /cvsroot/gnulib/gnulib/lib/gc-libgcrypt.c,v retrieving revision 1.3 diff -u -p -r1.3 gc-libgcrypt.c --- lib/gc-libgcrypt.c 12 Oct 2005 00:23:38 -0000 1.3 +++ lib/gc-libgcrypt.c 12 Oct 2005 01:08:03 -0000 @@ -103,9 +103,11 @@ gc_hash_buffer (Gc_hash hash, const void switch (hash) { +#ifdef GC_USE_MD5 case GC_MD5: gcryalg = GCRY_MD_MD5; break; +#endif default: return GC_INVALID_HASH; @@ -118,6 +120,7 @@ gc_hash_buffer (Gc_hash hash, const void /* One-call interface. */ +#ifdef GC_USE_MD5 int gc_md5 (const void *in, size_t inlen, void *resbuf) { @@ -147,7 +150,9 @@ gc_md5 (const void *in, size_t inlen, vo return GC_OK; } +#endif +#ifdef GC_USE_HMAC_MD5 int gc_hmac_md5 (const void *key, size_t keylen, const void *in, size_t inlen, char *resbuf) @@ -185,3 +190,4 @@ gc_hmac_md5 (const void *key, size_t key return GC_OK; } +#endif Index: modules/gc =================================================================== RCS file: /cvsroot/gnulib/gnulib/modules/gc,v retrieving revision 1.1 diff -u -p -r1.1 gc --- modules/gc 8 Oct 2005 08:33:08 -0000 1.1 +++ modules/gc 12 Oct 2005 01:08:03 -0000 @@ -6,16 +6,6 @@ lib/gc.h lib/gc-libgcrypt.c lib/gc-gnulib.c m4/gc.m4 -lib/md5.h -lib/md5.c -m4/md5.m4 -m4/uint32_t.m4 -lib/hmac.h -lib/hmac-md5.c -m4/hmac-md5.m4 -lib/memxor.h -lib/memxor.c -m4/memxor.m4 Depends-on: havelib Index: modules/gc-md5 =================================================================== RCS file: modules/gc-md5 diff -N modules/gc-md5 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/gc-md5 12 Oct 2005 01:08:03 -0000 @@ -0,0 +1,26 @@ +Description: +Generic crypto wrappers for MD5 functions. + +Files: +m4/gc-md5.m4 +lib/md5.h +lib/md5.c +m4/md5.m4 + +Depends-on: +stdint +gc + +configure.ac: +gl_GC_MD5 + +Makefile.am: + +Include: +"gc.h" + +License: +LGPL + +Maintainer: +Simon Josefsson Index: modules/gc-hmac-md5 =================================================================== RCS file: modules/gc-hmac-md5 diff -N modules/gc-hmac-md5 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/gc-hmac-md5 12 Oct 2005 01:08:03 -0000 @@ -0,0 +1,32 @@ +Description: +Generic crypto wrappers for HMAC-MD5 functions. + +Files: +m4/gc-hmac-md5.m4 +lib/md5.h +lib/md5.c +m4/md5.m4 +lib/hmac.h +lib/hmac-md5.c +m4/hmac-md5.m4 +lib/memxor.h +lib/memxor.c +m4/memxor.m4 + +Depends-on: +stdint +gc + +configure.ac: +gl_GC_HMAC_MD5 + +Makefile.am: + +Include: +"gc.h" + +License: +LGPL + +Maintainer: +Simon Josefsson _______________________________________________ bug-gnulib mailing list bug-gnulib@gnu.org http://lists.gnu.org/mailman/listinfo/bug-gnulib