зеркало из https://github.com/microsoft/git.git
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
This commit is contained in:
Коммит
2db87328ef
|
@ -0,0 +1,4 @@
|
|||
[submodule "sha1collisiondetection"]
|
||||
path = sha1collisiondetection
|
||||
url = https://github.com/cr-marcstevens/sha1collisiondetection.git
|
||||
branch = master
|
16
Makefile
16
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 \
|
||||
|
|
4
hash.h
4
hash.h
|
@ -8,7 +8,11 @@
|
|||
#elif defined(SHA1_OPENSSL)
|
||||
#include <openssl/sha.h>
|
||||
#elif defined(SHA1_DC)
|
||||
#ifdef DC_SHA1_SUBMODULE
|
||||
#include "sha1collisiondetection/lib/sha1.h"
|
||||
#else
|
||||
#include "sha1dc/sha1.h"
|
||||
#endif
|
||||
#else /* SHA1_BLK */
|
||||
#include "block-sha1/sha1.h"
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 19d97bf5af05312267c2e874ee6bcf584d9e9681
|
Загрузка…
Ссылка в новой задаче