Split parts of the gc module into gc-md5 and gc-hmac-md5 modules.
authorSimon Josefsson <simon@josefsson.org>
Wed, 12 Oct 2005 01:09:32 +0000 (01:09 +0000)
committerSimon Josefsson <simon@josefsson.org>
Wed, 12 Oct 2005 01:09:32 +0000 (01:09 +0000)
ChangeLog
lib/ChangeLog
lib/gc-gnulib.c
lib/gc-libgcrypt.c
m4/ChangeLog
m4/gc-hmac-md5.m4 [new file with mode: 0644]
m4/gc-md5.m4 [new file with mode: 0644]
m4/gc.m4
modules/gc
modules/gc-hmac-md5 [new file with mode: 0644]
modules/gc-md5 [new file with mode: 0644]

index de50dc6..64e8d39 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * modules/gc-md5, modules/gc-hmac-md5: New files.
+
+       * modules/gc (Files): Remove md5, memxor and hmac files.
+
 2005-10-11  Bruno Haible  <bruno@clisp.org>
 
        * modules/c-strcasestr: New file.
index 413e3c1..b67eec2 100644 (file)
@@ -1,5 +1,8 @@
 2005-10-12  Simon Josefsson  <jas@extundo.com>
 
+       * 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 eac9039..00bab97 100644 (file)
 #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 *in, size_t inlen, char *resbuf)
 {
   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 *in, size_t inlen, char *resbuf)
   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 keylen,
   hmac_md5 (key, keylen, in, inlen, resbuf);
   return 0;
 }
+#endif
index d821c1d..0c7e2c3 100644 (file)
@@ -103,9 +103,11 @@ gc_hash_buffer (Gc_hash hash, const void *in, size_t inlen, char *resbuf)
 
   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 *in, size_t inlen, char *resbuf)
 
 /* 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, void *resbuf)
 
   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 keylen,
 
   return GC_OK;
 }
+#endif
index b2b5641..5678658 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-12  Simon Josefsson  <jas@extundo.com>
+
+       * 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  <jas@extundo.com>
 
        * crc.m4: New file.
diff --git a/m4/gc-hmac-md5.m4 b/m4/gc-hmac-md5.m4
new file mode 100644 (file)
index 0000000..bae70b6
--- /dev/null
@@ -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 (file)
index 0000000..bb9a2b3
--- /dev/null
@@ -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 a36c2a9..bf46b92 100644 (file)
--- a/m4/gc.m4
+++ b/m4/gc.m4
@@ -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 129cf6d..cb771c3 100644 (file)
@@ -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
diff --git a/modules/gc-hmac-md5 b/modules/gc-hmac-md5
new file mode 100644 (file)
index 0000000..4091736
--- /dev/null
@@ -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 (file)
index 0000000..662ed5f
--- /dev/null
@@ -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