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:
commit
2db87328ef
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
@ -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.
|
# algorithm. This is slower, but may detect attempted collision attacks.
|
||||||
# Takes priority over other *_SHA1 knobs.
|
# 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
|
# Define OPENSSL_SHA1 environment variable when running make to link
|
||||||
# with the SHA1 routine from openssl library.
|
# with the SHA1 routine from openssl library.
|
||||||
#
|
#
|
||||||
@ -1004,6 +1010,10 @@ EXTLIBS =
|
|||||||
|
|
||||||
GIT_USER_AGENT = git/$(GIT_VERSION)
|
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.uname
|
||||||
-include config.mak.autogen
|
-include config.mak.autogen
|
||||||
-include config.mak
|
-include config.mak
|
||||||
@ -1449,8 +1459,14 @@ ifdef APPLE_COMMON_CRYPTO
|
|||||||
BASIC_CFLAGS += -DSHA1_APPLE
|
BASIC_CFLAGS += -DSHA1_APPLE
|
||||||
else
|
else
|
||||||
DC_SHA1 := YesPlease
|
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/sha1.o
|
||||||
LIB_OBJS += sha1dc/ubc_check.o
|
LIB_OBJS += sha1dc/ubc_check.o
|
||||||
|
endif
|
||||||
BASIC_CFLAGS += \
|
BASIC_CFLAGS += \
|
||||||
-DSHA1_DC \
|
-DSHA1_DC \
|
||||||
-DSHA1DC_NO_STANDARD_INCLUDES \
|
-DSHA1DC_NO_STANDARD_INCLUDES \
|
||||||
|
4
hash.h
4
hash.h
@ -8,7 +8,11 @@
|
|||||||
#elif defined(SHA1_OPENSSL)
|
#elif defined(SHA1_OPENSSL)
|
||||||
#include <openssl/sha.h>
|
#include <openssl/sha.h>
|
||||||
#elif defined(SHA1_DC)
|
#elif defined(SHA1_DC)
|
||||||
|
#ifdef DC_SHA1_SUBMODULE
|
||||||
|
#include "sha1collisiondetection/lib/sha1.h"
|
||||||
|
#else
|
||||||
#include "sha1dc/sha1.h"
|
#include "sha1dc/sha1.h"
|
||||||
|
#endif
|
||||||
#else /* SHA1_BLK */
|
#else /* SHA1_BLK */
|
||||||
#include "block-sha1/sha1.h"
|
#include "block-sha1/sha1.h"
|
||||||
#endif
|
#endif
|
||||||
|
1
sha1collisiondetection
Submodule
1
sha1collisiondetection
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 19d97bf5af05312267c2e874ee6bcf584d9e9681
|
Loading…
Reference in New Issue
Block a user