bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gc-hmac-sha1


From: Simon Josefsson
Subject: gc-hmac-sha1
Date: Wed, 12 Oct 2005 11:28:43 +0200
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux)

I have installed this.

Index: m4/ChangeLog
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/ChangeLog,v
retrieving revision 1.738
diff -u -p -r1.738 ChangeLog
--- m4/ChangeLog        12 Oct 2005 01:42:54 -0000      1.738
+++ m4/ChangeLog        12 Oct 2005 09:26:41 -0000
@@ -1,5 +1,7 @@
 2005-10-12  Simon Josefsson  <address@hidden>
 
+       * gc-hmac-sha1.m4: New file.
+
        * gc-sha1: New file.
 
        * hmac-sha1.m4: New file.
Index: m4/gc-hmac-sha1.m4
===================================================================
RCS file: m4/gc-hmac-sha1.m4
diff -N m4/gc-hmac-sha1.m4
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ m4/gc-hmac-sha1.m4  12 Oct 2005 09:26:41 -0000
@@ -0,0 +1,17 @@
+# gc-hmac-sha1.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_SHA1],
+[
+  AC_REQUIRE([gl_GC])
+  AC_DEFINE(GC_USE_HMAC_SHA1, 1,
+    [Define to if you want to support HMAC-SHA1 through GC.])
+  if test "$ac_cv_libgcrypt" != yes; then
+    gl_SHA1
+    gl_HMAC_SHA1
+    gl_MEMXOR
+  fi
+])
Index: lib/ChangeLog
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/ChangeLog,v
retrieving revision 1.1007
diff -u -p -r1.1007 ChangeLog
--- lib/ChangeLog       12 Oct 2005 01:42:55 -0000      1.1007
+++ lib/ChangeLog       12 Oct 2005 09:26:42 -0000
@@ -1,5 +1,11 @@
 2005-10-12  Simon Josefsson  <address@hidden>
 
+       * gc-libgcrypt.c (gc_hmac_sha1): New function.
+
+       * gc-gnulib.c (gc_hmac_sha1): New function.
+
+2005-10-12  Simon Josefsson  <address@hidden>
+
        * gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
 
 2005-10-12  Simon Josefsson  <address@hidden>
Index: lib/gc-gnulib.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/gc-gnulib.c,v
retrieving revision 1.5
diff -u -p -r1.5 gc-gnulib.c
--- lib/gc-gnulib.c     12 Oct 2005 01:42:55 -0000      1.5
+++ lib/gc-gnulib.c     12 Oct 2005 09:26:42 -0000
@@ -195,3 +195,13 @@ gc_hmac_md5 (const void *key, size_t key
   return 0;
 }
 #endif
+
+#ifdef GC_USE_HMAC_SHA1
+int
+gc_hmac_sha1 (const void *key, size_t keylen,
+             const void *in, size_t inlen, char *resbuf)
+{
+  hmac_sha1 (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.5
diff -u -p -r1.5 gc-libgcrypt.c
--- lib/gc-libgcrypt.c  12 Oct 2005 01:42:55 -0000      1.5
+++ lib/gc-libgcrypt.c  12 Oct 2005 09:26:42 -0000
@@ -229,3 +229,43 @@ gc_hmac_md5 (const void *key, size_t key
   return GC_OK;
 }
 #endif
+
+#ifdef GC_USE_HMAC_SHA1
+int
+gc_hmac_sha1 (const void *key, size_t keylen,
+             const void *in, size_t inlen, char *resbuf)
+{
+  size_t hlen = gcry_md_get_algo_dlen (GCRY_MD_SHA1);
+  gcry_md_hd_t mdh;
+  unsigned char *hash;
+  gpg_error_t err;
+
+  assert (hlen == 16);
+
+  err = gcry_md_open (&mdh, GCRY_MD_SHA1, GCRY_MD_FLAG_HMAC);
+  if (err != GPG_ERR_NO_ERROR)
+    return GC_INVALID_HASH;
+
+  err = gcry_md_setkey (mdh, key, keylen);
+  if (err != GPG_ERR_NO_ERROR)
+    {
+      gcry_md_close (mdh);
+      return GC_INVALID_HASH;
+    }
+
+  gcry_md_write (mdh, in, inlen);
+
+  hash = gcry_md_read (mdh, GCRY_MD_SHA1);
+  if (hash == NULL)
+    {
+      gcry_md_close (mdh);
+      return GC_INVALID_HASH;
+    }
+
+  memcpy (resbuf, hash, hlen);
+
+  gcry_md_close (mdh);
+
+  return GC_OK;
+}
+#endif
Index: modules/gc-hmac-sha1
===================================================================
RCS file: modules/gc-hmac-sha1
diff -N modules/gc-hmac-sha1
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ modules/gc-hmac-sha1        12 Oct 2005 09:26:42 -0000
@@ -0,0 +1,32 @@
+Description:
+Generic crypto wrappers for HMAC-SHA1 functions.
+
+Files:
+m4/gc-hmac-md5.m4
+lib/sha1.h
+lib/sha1.c
+m4/sha1.m4
+lib/hmac.h
+lib/hmac-sha1.c
+m4/hmac-sha1.m4
+lib/memxor.h
+lib/memxor.c
+m4/memxor.m4
+
+Depends-on:
+stdint
+gc
+
+configure.ac:
+gl_GC_HMAC_SHA1
+
+Makefile.am:
+
+Include:
+"gc.h"
+
+License:
+LGPL
+
+Maintainer:
+Simon Josefsson




reply via email to

[Prev in Thread] Current Thread [Next in Thread]