Re: [PATCH] sha256: add support for Nettle
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 7, 2022, 06:43 UTC
- Message-ID
- <xmqqpmih2zix.fsf@gitster.g>
- In-Reply-To
- <xmqqilo94zc2.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 5 quoted lines
> 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.
> ...Another glitch.
As "make hdr-check" is pretty much indiscriminatory, my build failed on a box without libnettle-dev (hence /usr/include/nettle/sha2.h missing).
diff --git a/Makefile b/Makefile index ce99aecc31..52a9f97997 100644 --- a/Makefile +++ b/Makefile @@ -3098,6 +3098,9 @@ $(SP_OBJ): %.sp: %.c %.o sparse: $(SP_OBJ) EXCEPT_HDRS := $(GENERATED_H) unicode-width.h compat/% xdiff/% +ifndef NETTLE_SHA256 + EXCEPT_HDRS += sha256/nettle.h +endif ifndef GCRYPT_SHA256 EXCEPT_HDRS += sha256/gcrypt.h endif diff --git a/sha256/nettle.h b/sha256/nettle.h index 159239a785..8c93f29dda 100644 --- a/sha256/nettle.h +++ b/sha256/nettle.h @@ -5,17 +5,17 @@ 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); }