Re: [PATCH] sha256: add support for Nettle
From: Junio C Hamano <hidden>
Date: 2022-07-06 23:05:12
Junio C Hamano [off-list ref] writes:
Perhaps "Let's add another option ..., which is Nettle, and give it preference over all others when multiple libraries are availalble" or something along that line?quoted
diff --git a/sha256/nettle.h b/sha256/nettle.h new file mode 100644 index 0000000000..9b2845babc --- /dev/null +++ b/sha256/nettle.h@@ -0,0 +1,28 @@ +#ifndef SHA256_GCRYPT_H +#define SHA256_GCRYPT_HNot really ;-)
FWIW, I needed the following to successfully build with
NETTLE_SHA256=YesPlease defined. The final linkage step complained
about missing nettle_SHA256_{Init,Update,Final}() functions without
the tweak.
diff --git c/sha256/nettle.h w/sha256/nettle.h
index 9b2845babc..8c93f29dda 100644
--- c/sha256/nettle.h
+++ w/sha256/nettle.h@@ -1,21 +1,21 @@ -#ifndef SHA256_GCRYPT_H -#define SHA256_GCRYPT_H +#ifndef SHA256_NETTLE_H +#define SHA256_NETTLE_H #include <nettle/sha2.h> typedef struct sha256_ctx nettle_SHA256_CTX; -inline void nettle_SHA256_Init(nettle_SHA256_CTX *ctx) +static inline void nettle_SHA256_Init(nettle_SHA256_CTX *ctx) { sha256_init(ctx); } -inline void nettle_SHA256_Update(nettle_SHA256_CTX *ctx, const void *data, size_t len) +static inline void nettle_SHA256_Update(nettle_SHA256_CTX *ctx, const void *data, size_t len) { sha256_update(ctx, len, data); } -inline void nettle_SHA256_Final(unsigned char *digest, nettle_SHA256_CTX *ctx) +static inline void nettle_SHA256_Final(unsigned char *digest, nettle_SHA256_CTX *ctx) { sha256_digest(ctx, SHA256_DIGEST_SIZE, digest); }