# HG changeset patch # User Simon Josefsson # Date 1129079372 0 # Node ID bae11f33bf3c16b95e7d18d1052a8bbe6fe3f695 # Parent 2bcfc491052bf17568dfa25133c95a3b0cfe6fba Split parts of the gc module into gc-md5 and gc-hmac-md5 modules. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-10-12 Simon Josefsson + + * modules/gc-md5, modules/gc-hmac-md5: New files. + + * modules/gc (Files): Remove md5, memxor and hmac files. + 2005-10-11 Bruno Haible * modules/c-strcasestr: New file. diff --git a/lib/ChangeLog b/lib/ChangeLog --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,5 +1,8 @@ 2005-10-12 Simon Josefsson + * 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. diff --git a/lib/gc-gnulib.c b/lib/gc-gnulib.c --- a/lib/gc-gnulib.c +++ b/lib/gc-gnulib.c @@ -37,8 +37,12 @@ #include #include -#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 @@ { 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 @@ 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 @@ hmac_md5 (key, keylen, in, inlen, resbuf); return 0; } +#endif diff --git a/lib/gc-libgcrypt.c b/lib/gc-libgcrypt.c --- a/lib/gc-libgcrypt.c +++ b/lib/gc-libgcrypt.c @@ -103,9 +103,11 @@ switch (hash) { +#ifdef GC_USE_MD5 case GC_MD5: gcryalg = GCRY_MD_MD5; break; +#endif default: return GC_INVALID_HASH; @@ -118,6 +120,7 @@ /* One-call interface. */ +#ifdef GC_USE_MD5 int gc_md5 (const void *in, size_t inlen, void *resbuf) { @@ -147,7 +150,9 @@ 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 @@ return GC_OK; } +#endif diff --git a/m4/ChangeLog b/m4/ChangeLog --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,9 @@ +2005-10-12 Simon Josefsson + + * 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 * crc.m4: New file. diff --git a/m4/gc-hmac-md5.m4 b/m4/gc-hmac-md5.m4 new file mode 100644 --- /dev/null +++ b/m4/gc-hmac-md5.m4 @@ -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 +]) diff --git a/m4/gc-md5.m4 b/m4/gc-md5.m4 new file mode 100644 --- /dev/null +++ b/m4/gc-md5.m4 @@ -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 +]) diff --git a/m4/gc.m4 b/m4/gc.m4 --- a/m4/gc.m4 +++ b/m4/gc.m4 @@ -18,9 +18,6 @@ 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? diff --git a/modules/gc b/modules/gc --- a/modules/gc +++ b/modules/gc @@ -6,16 +6,6 @@ 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 diff --git a/modules/gc-hmac-md5 b/modules/gc-hmac-md5 new file mode 100644 --- /dev/null +++ b/modules/gc-hmac-md5 @@ -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 diff --git a/modules/gc-md5 b/modules/gc-md5 new file mode 100644 --- /dev/null +++ b/modules/gc-md5 @@ -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