mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
Add the SHA1 checksum patch from devel/git
This commit is contained in:
parent
58480d53f2
commit
32de5a8268
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=443020
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= cgit
|
||||
PORTVERSION= 1.1
|
||||
PORTREVISION= 5
|
||||
PORTREVISION= 6
|
||||
CATEGORIES= devel www
|
||||
MASTER_SITES= http://git.zx2c4.com/cgit/snapshot/:cgit \
|
||||
https://www.kernel.org/pub/software/scm/git/:git
|
||||
|
115
devel/cgit/files/patch-SHA1-endianness
Normal file
115
devel/cgit/files/patch-SHA1-endianness
Normal file
@ -0,0 +1,115 @@
|
||||
From 5d184f468e59cd9c5b51b5c139540015c8e41b18 Mon Sep 17 00:00:00 2001
|
||||
From: Jeff King <peff@peff.net>
|
||||
Date: Tue, 6 Jun 2017 15:01:11 -0400
|
||||
Subject: [PATCH 1/2] sha1dc: ignore indent-with-non-tab whitespace violations
|
||||
|
||||
The upstream sha1dc code indents some lines with spaces.
|
||||
While this doesn't match Git's coding guidelines, it's better
|
||||
to leave this imported code untouched than to try to make it
|
||||
match our style. However, we can use .gitattributes to tell
|
||||
"diff --check" and "git am" not to bother us about it.
|
||||
|
||||
Signed-off-by: Jeff King <peff@peff.net>
|
||||
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||||
---
|
||||
sha1dc/.gitattributes | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 sha1dc/.gitattributes
|
||||
|
||||
From 6b851e536b05e0c8c61f77b9e4c3e7cedea39ff8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?=
|
||||
<avarab@gmail.com>
|
||||
Date: Tue, 6 Jun 2017 15:12:29 +0000
|
||||
Subject: [PATCH 2/2] sha1dc: update from upstream
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Update sha1dc from the latest version by the upstream
|
||||
maintainer[1].
|
||||
|
||||
See commit a0103914c2 ("sha1dc: update from upstream", 2017-05-20) for
|
||||
the latest update. That update was done sans some whitespace changes
|
||||
by upstream, which is why the diff here isn't the same as the upstream
|
||||
cc46554..e139984.
|
||||
|
||||
It also brings in a change[2] upstream made which should hopefully
|
||||
address the breakage in 2.13.1 on Cygwin, see [3]. Cygwin defines both
|
||||
_BIG_ENDIAN and _LITTLE_ENDIAN.
|
||||
|
||||
Adam Dinwoodie reports on the mailing list that that upstream commit
|
||||
fixes the issue on Cygwin[4].
|
||||
|
||||
1. https://github.com/cr-marcstevens/sha1collisiondetection/commit/e1399840b501a68ac6c8d7ed9a5cb1455480200e
|
||||
2. https://github.com/cr-marcstevens/sha1collisiondetection/commit/a24eef58c0684078405f8c7a89f9b78271432005
|
||||
3. <20170606100355.GC25777@dinwoodie.org> (https://public-inbox.org/git/20170606100355.GC25777@dinwoodie.org/)
|
||||
4. <20170606124323.GD25777@dinwoodie.org> (https://public-inbox.org/git/20170606124323.GD25777@dinwoodie.org/)
|
||||
|
||||
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
|
||||
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||||
---
|
||||
sha1dc/sha1.c | 30 ++++++++++++++++++++++++------
|
||||
sha1dc/sha1.h | 6 +++---
|
||||
2 files changed, 27 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c
|
||||
index 3dff80ac727aa..facea1bb560b5 100644
|
||||
--- git/sha1dc/sha1.c
|
||||
+++ git/sha1dc/sha1.c
|
||||
@@ -35,15 +35,33 @@
|
||||
#ifdef SHA1DC_BIGENDIAN
|
||||
#undef SHA1DC_BIGENDIAN
|
||||
#endif
|
||||
-#if (!defined SHA1DC_FORCE_LITTLEENDIAN) && \
|
||||
- ((defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
|
||||
- (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) || \
|
||||
- defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) || \
|
||||
- defined(_MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__) || defined(SHA1DC_FORCE_BIGENDIAN))
|
||||
|
||||
+#if (defined(_BYTE_ORDER) || defined(__BYTE_ORDER) || defined(__BYTE_ORDER__))
|
||||
+
|
||||
+#if ((defined(_BYTE_ORDER) && (_BYTE_ORDER == _BIG_ENDIAN)) || \
|
||||
+ (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
|
||||
+ (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) )
|
||||
#define SHA1DC_BIGENDIAN
|
||||
+#endif
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+#if (defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN) || defined(__BIG_ENDIAN__) || \
|
||||
+ defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) || \
|
||||
+ defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || \
|
||||
+ defined(__sparc))
|
||||
+#define SHA1DC_BIGENDIAN
|
||||
+#endif
|
||||
|
||||
-#endif /*ENDIANNESS SELECTION*/
|
||||
+#endif
|
||||
+
|
||||
+#if (defined(SHA1DC_FORCE_LITTLEENDIAN) && defined(SHA1DC_BIGENDIAN))
|
||||
+#undef SHA1DC_BIGENDIAN
|
||||
+#endif
|
||||
+#if (defined(SHA1DC_FORCE_BIGENDIAN) && !defined(SHA1DC_BIGENDIAN))
|
||||
+#define SHA1DC_BIGENDIAN
|
||||
+#endif
|
||||
+/*ENDIANNESS SELECTION*/
|
||||
|
||||
#if (defined SHA1DC_FORCE_UNALIGNED_ACCESS || \
|
||||
defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || \
|
||||
diff --git a/sha1dc/sha1.h b/sha1dc/sha1.h
|
||||
index a0ff5d1305797..1e4e94be54a6d 100644
|
||||
--- git/sha1dc/sha1.h
|
||||
+++ git/sha1dc/sha1.h
|
||||
@@ -61,9 +61,9 @@ void SHA1DCInit(SHA1_CTX*);
|
||||
Function to enable safe SHA-1 hashing:
|
||||
Collision attacks are thwarted by hashing a detected near-collision block 3 times.
|
||||
Think of it as extending SHA-1 from 80-steps to 240-steps for such blocks:
|
||||
- The best collision attacks against SHA-1 have complexity about 2^60,
|
||||
- thus for 240-steps an immediate lower-bound for the best cryptanalytic attacks would be 2^180.
|
||||
- An attacker would be better off using a generic birthday search of complexity 2^80.
|
||||
+ The best collision attacks against SHA-1 have complexity about 2^60,
|
||||
+ thus for 240-steps an immediate lower-bound for the best cryptanalytic attacks would be 2^180.
|
||||
+ An attacker would be better off using a generic birthday search of complexity 2^80.
|
||||
|
||||
Enabling safe SHA-1 hashing will result in the correct SHA-1 hash for messages where no collision attack was detected,
|
||||
but it will result in a different SHA-1 hash for messages where a collision attack was detected.
|
Loading…
Reference in New Issue
Block a user