summaryrefslogtreecommitdiff
path: root/lib/gc-libgcrypt.c
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2007-02-05 11:17:30 +0000
committerSimon Josefsson <simon@josefsson.org>2007-02-05 11:17:30 +0000
commitb4b1d30cb940262c0a340112aef705a34b3439d9 (patch)
tree9c22d65829d4988d83f2f7438d3937c2a6f06f66 /lib/gc-libgcrypt.c
parented081024933a7c415cb2872f847357102cf6595b (diff)
downloadgnulib-b4b1d30cb940262c0a340112aef705a34b3439d9.tar.gz
lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
Diffstat (limited to 'lib/gc-libgcrypt.c')
-rw-r--r--lib/gc-libgcrypt.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/gc-libgcrypt.c b/lib/gc-libgcrypt.c
index 4a583495c3..6649660c43 100644
--- a/lib/gc-libgcrypt.c
+++ b/lib/gc-libgcrypt.c
@@ -269,6 +269,18 @@ gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle * outhandle)
gcryalg = GCRY_MD_SHA1;
break;
+ case GC_SHA256:
+ gcryalg = GCRY_MD_SHA256;
+ break;
+
+ case GC_SHA384:
+ gcryalg = GCRY_MD_SHA384;
+ break;
+
+ case GC_SHA512:
+ gcryalg = GCRY_MD_SHA512;
+ break;
+
case GC_RMD160:
gcryalg = GCRY_MD_RMD160;
break;
@@ -356,6 +368,18 @@ gc_hash_digest_length (Gc_hash hash)
len = GC_SHA1_DIGEST_SIZE;
break;
+ case GC_SHA256:
+ len = GC_SHA256_DIGEST_SIZE;
+ break;
+
+ case GC_SHA384:
+ len = GC_SHA384_DIGEST_SIZE;
+ break;
+
+ case GC_SHA512:
+ len = GC_SHA512_DIGEST_SIZE;
+ break;
+
default:
return 0;
}
@@ -453,6 +477,24 @@ gc_hash_buffer (Gc_hash hash, const void *in, size_t inlen, char *resbuf)
break;
#endif
+#ifdef GNULIB_GC_SHA256
+ case GC_SHA256:
+ gcryalg = GCRY_MD_SHA256;
+ break;
+#endif
+
+#ifdef GNULIB_GC_SHA384
+ case GC_SHA384:
+ gcryalg = GCRY_MD_SHA384;
+ break;
+#endif
+
+#ifdef GNULIB_GC_SHA512
+ case GC_SHA512:
+ gcryalg = GCRY_MD_SHA512;
+ break;
+#endif
+
#ifdef GNULIB_GC_RMD160
case GC_RMD160:
gcryalg = GCRY_MD_RMD160;