From 16fd6c85e4d036e789916e4d802b47a792fe496e Mon Sep 17 00:00:00 2001 From: Justin Tobler Date: Thu, 3 Apr 2025 09:05:28 -0500 Subject: help: include SHA implementation in version info When the `--build-options` flag is used with git-version(1), additional information about the built version of Git is printed. During build time, different SHA implementations may be configured, but this information is not included in the version info. Add the SHA implementations Git is built with to the version info by requiring each backend to define a SHA1_BACKEND or SHA256_BACKEND symbol as appropriate and use the value in the printed build options. Signed-off-by: Justin Tobler Signed-off-by: Junio C Hamano --- hash.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'hash.h') diff --git a/hash.h b/hash.h index 4367acfec5..51cd0ec7b6 100644 --- a/hash.h +++ b/hash.h @@ -2,16 +2,20 @@ #define HASH_H #if defined(SHA1_APPLE) +#define SHA1_BACKEND "SHA1_APPLE (No collision detection)" #include #elif defined(SHA1_OPENSSL) +# define SHA1_BACKEND "SHA1_OPENSSL (No collision detection)" # include # if defined(OPENSSL_API_LEVEL) && OPENSSL_API_LEVEL >= 3 # define SHA1_NEEDS_CLONE_HELPER # include "sha1/openssl.h" # endif #elif defined(SHA1_DC) +#define SHA1_BACKEND "SHA1_DC" #include "sha1dc_git.h" #else /* SHA1_BLK */ +#define SHA1_BACKEND "SHA1_BLK (No collision detection)" #include "block-sha1/sha1.h" #endif @@ -46,17 +50,21 @@ #endif #if defined(SHA256_NETTLE) +#define SHA256_BACKEND "SHA256_NETTLE" #include "sha256/nettle.h" #elif defined(SHA256_GCRYPT) +#define SHA256_BACKEND "SHA256_GCRYPT" #define SHA256_NEEDS_CLONE_HELPER #include "sha256/gcrypt.h" #elif defined(SHA256_OPENSSL) +# define SHA256_BACKEND "SHA256_OPENSSL" # include # if defined(OPENSSL_API_LEVEL) && OPENSSL_API_LEVEL >= 3 # define SHA256_NEEDS_CLONE_HELPER # include "sha256/openssl.h" # endif #else +#define SHA256_BACKEND "SHA256_BLK" #include "sha256/block/sha256.h" #endif -- cgit v1.3-5-g9baa From 6cf65440d39250880e747d2c5281881e95eb9499 Mon Sep 17 00:00:00 2001 From: Justin Tobler Date: Thu, 3 Apr 2025 09:05:29 -0500 Subject: help: include unsafe SHA-1 build info in version In 06c92dafb8 (Makefile: allow specifying a SHA-1 for non-cryptographic uses, 2024-09-26), support for unsafe SHA-1 is added. Add the unsafe SHA-1 build info to `git version --build-info` and update corresponding documentation. Signed-off-by: Justin Tobler Signed-off-by: Junio C Hamano --- Documentation/git-version.adoc | 4 +++- hash.h | 3 +++ help.c | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'hash.h') diff --git a/Documentation/git-version.adoc b/Documentation/git-version.adoc index 913ebf147d..9462043a14 100644 --- a/Documentation/git-version.adoc +++ b/Documentation/git-version.adoc @@ -27,7 +27,9 @@ The libraries used to implement the SHA-1 and SHA-256 algorithms are displayed in the form `SHA-1: