summaryrefslogtreecommitdiff
path: root/sha1dc_git.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-08-15 14:04:17 +0200
committerJunio C Hamano <gitster@pobox.com>2017-08-16 14:44:25 -0700
commit3964cbbb5c30609ebd795a979074251cf59436c3 (patch)
tree28229c037201ab52741cefa13fb4756d5054ae7d /sha1dc_git.h
parent36f048c5e488005da0a9dfba6b617c7c9951c7cf (diff)
downloadgit-3964cbbb5c30609ebd795a979074251cf59436c3.tar.gz
sha1dc: allow building with the external sha1dc libraryti/external-sha1dc
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 <tiwai@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1dc_git.h')
-rw-r--r--sha1dc_git.h10
1 files changed, 9 insertions, 1 deletions
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 <sha1dc/sha1.h>
#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