From 3964cbbb5c30609ebd795a979074251cf59436c3 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 15 Aug 2017 14:04:17 +0200 Subject: sha1dc: allow building with the external sha1dc library Some distros provide SHA1 collision-detect code as a shared library. It's the same code as we have in git tree (but may be with a different init default for hash), and git can link with it as well; at least, it may make maintenance easier, according to our security guys. This patch allows user to build git linking with the external sha1dc library instead of the built-in code. User needs to define DC_SHA1_EXTERNAL explicitly. As default without it, the built-in sha1dc code is used like before. Signed-off-by: Takashi Iwai Signed-off-by: Junio C Hamano --- sha1dc_git.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sha1dc_git.h') diff --git a/sha1dc_git.h b/sha1dc_git.h index af3e9514bc..a8c2729278 100644 --- a/sha1dc_git.h +++ b/sha1dc_git.h @@ -2,14 +2,22 @@ #ifdef DC_SHA1_SUBMODULE #include "sha1collisiondetection/lib/sha1.h" +#elif defined(DC_SHA1_EXTERNAL) +#include #else #include "sha1dc/sha1.h" #endif +#ifdef DC_SHA1_EXTERNAL +void git_SHA1DCInit(SHA1_CTX *); +#else +#define git_SHA1DCInit SHA1DCInit +#endif + void git_SHA1DCFinal(unsigned char [20], SHA1_CTX *); void git_SHA1DCUpdate(SHA1_CTX *ctx, const void *data, unsigned long len); #define platform_SHA_CTX SHA1_CTX -#define platform_SHA1_Init SHA1DCInit +#define platform_SHA1_Init git_SHA1DCInit #define platform_SHA1_Update git_SHA1DCUpdate #define platform_SHA1_Final git_SHA1DCFinal -- cgit v1.2.3