summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-07-10 13:42:51 -0700
committerJunio C Hamano <gitster@pobox.com>2017-07-10 13:42:51 -0700
commit2db87328ef8246b7dbca90563fecc1e67c6274e6 (patch)
tree8ecbba52925f1095eab841f6d3fc05064d2a7097 /Makefile
parentd73b46cfb5cd675e79ad61ba08e32b06d95f1a08 (diff)
parentcac87dc01d30ed8fc00f5b872a7ee7804f7b9ffa (diff)
downloadgit-2db87328ef8246b7dbca90563fecc1e67c6274e6.tar.gz
Merge branch 'ab/sha1dc'
The "collission-detecting" implementation of SHA-1 hash we borrowed from is replaced by directly binding the upstream project as our submodule. Glitches on minority platforms are still being worked out. * ab/sha1dc: sha1collisiondetection: automatically enable when submodule is populated sha1dc: optionally use sha1collisiondetection as a submodule
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 9c9c42f8f9..bfa5b3a4ca 100644
--- a/Makefile
+++ b/Makefile
@@ -162,6 +162,12 @@ all::
# algorithm. This is slower, but may detect attempted collision attacks.
# Takes priority over other *_SHA1 knobs.
#
+# Define DC_SHA1_SUBMODULE in addition to DC_SHA1 to use the
+# sha1collisiondetection shipped as a submodule instead of the
+# non-submodule copy in sha1dc/. This is an experimental option used
+# by the git project to migrate to using sha1collisiondetection as a
+# submodule.
+#
# Define OPENSSL_SHA1 environment variable when running make to link
# with the SHA1 routine from openssl library.
#
@@ -1004,6 +1010,10 @@ EXTLIBS =
GIT_USER_AGENT = git/$(GIT_VERSION)
+ifeq ($(wildcard sha1collisiondetection/lib/sha1.h),sha1collisiondetection/lib/sha1.h)
+DC_SHA1_SUBMODULE = auto
+endif
+
include config.mak.uname
-include config.mak.autogen
-include config.mak
@@ -1449,8 +1459,14 @@ ifdef APPLE_COMMON_CRYPTO
BASIC_CFLAGS += -DSHA1_APPLE
else
DC_SHA1 := YesPlease
+ifdef DC_SHA1_SUBMODULE
+ LIB_OBJS += sha1collisiondetection/lib/sha1.o
+ LIB_OBJS += sha1collisiondetection/lib/ubc_check.o
+ BASIC_CFLAGS += -DDC_SHA1_SUBMODULE
+else
LIB_OBJS += sha1dc/sha1.o
LIB_OBJS += sha1dc/ubc_check.o
+endif
BASIC_CFLAGS += \
-DSHA1_DC \
-DSHA1DC_NO_STANDARD_INCLUDES \