aboutsummaryrefslogtreecommitdiff
path: root/devel/git
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2017-06-09 16:38:39 +0000
committerAdam Weinberger <adamw@FreeBSD.org>2017-06-09 16:38:39 +0000
commit0d68bec0b7ed26ee9ae8cbaed589d73cdbb85005 (patch)
treea49b98d2cb3eec2a15e0893e424262cabd3bdf1f /devel/git
parent43ce954d7f68345ea63790ca76128f91faffdef6 (diff)
downloadports-0d68bec0b7ed26ee9ae8cbaed589d73cdbb85005.tar.gz
ports-0d68bec0b7ed26ee9ae8cbaed589d73cdbb85005.zip
Notes
Diffstat (limited to 'devel/git')
-rw-r--r--devel/git/Makefile1
-rw-r--r--devel/git/files/patch-SHA1-endianness115
2 files changed, 116 insertions, 0 deletions
diff --git a/devel/git/Makefile b/devel/git/Makefile
index beaabd527142..4a13c4c478a9 100644
--- a/devel/git/Makefile
+++ b/devel/git/Makefile
@@ -3,6 +3,7 @@
PORTNAME= git
DISTVERSION= 2.13.1
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= KERNEL_ORG/software/scm/git
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
diff --git a/devel/git/files/patch-SHA1-endianness b/devel/git/files/patch-SHA1-endianness
new file mode 100644
index 000000000000..46f141393e70
--- /dev/null
+++ b/devel/git/files/patch-SHA1-endianness
@@ -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
+--- sha1dc/sha1.c
++++ 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
+--- sha1dc/sha1.h
++++ 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.