diff options
author | Alon Bar-Lev <alonbl@gentoo.org> | 2017-07-23 21:08:34 +0300 |
---|---|---|
committer | Alon Bar-Lev <alonbl@gentoo.org> | 2017-07-23 21:08:58 +0300 |
commit | 85a16efd00f98f26f3966aaa273eb9797194bf75 (patch) | |
tree | 7ba8eca907cbb96106dd3281e853a09db683890b /dev-libs/nettle | |
parent | net-libs/mbedtls: version bump to 2.5.2 (diff) | |
download | gentoo-85a16efd00f98f26f3966aaa273eb9797194bf75.tar.gz gentoo-85a16efd00f98f26f3966aaa273eb9797194bf75.tar.bz2 gentoo-85a16efd00f98f26f3966aaa273eb9797194bf75.zip |
dev-libs/nettle: fix inplace operations
Thanks: Sergei Trofimovich
Bug: 613418
Package-Manager: Portage-2.3.6, Repoman-2.3.1
Diffstat (limited to 'dev-libs/nettle')
-rw-r--r-- | dev-libs/nettle/files/nettle-3.3-ecc-add-eh.patch | 32 | ||||
-rw-r--r-- | dev-libs/nettle/nettle-3.3-r2.ebuild | 70 |
2 files changed, 102 insertions, 0 deletions
diff --git a/dev-libs/nettle/files/nettle-3.3-ecc-add-eh.patch b/dev-libs/nettle/files/nettle-3.3-ecc-add-eh.patch new file mode 100644 index 000000000000..5492997f336e --- /dev/null +++ b/dev-libs/nettle/files/nettle-3.3-ecc-add-eh.patch @@ -0,0 +1,32 @@ +From dcda81d796de2f4a16fd7e9e7a5d07baa288f147 Mon Sep 17 00:00:00 2001 +From: Niels Möller <nisse@lysator.liu.se> +Date: Tue, 18 Jul 2017 20:52:30 +0200 +Subject: [PATCH] Fix for in-place ecc_add_eh. + +* ecc-add-eh.c (ecc_add_eh): Fix in-place operation by reordering +two multiplies. Previously, in-place operation resulted in an +invalid call to mpn_mul with overlapping operands. Reported by +Sergei Trofimovich. +--- + ChangeLog | 7 +++++++ + ecc-add-eh.c | 4 ++-- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/ecc-add-eh.c b/ecc-add-eh.c +index a16be4c..c07ff49 100644 +--- a/ecc-add-eh.c ++++ b/ecc-add-eh.c +@@ -98,8 +98,8 @@ ecc_add_eh (const struct ecc_curve *ecc, + ecc_modp_mul (ecc, x3, B, z1); + + /* y3 */ +- ecc_modp_mul (ecc, B, F, C); /* ! */ +- ecc_modp_mul (ecc, y3, B, z1); ++ ecc_modp_mul (ecc, B, F, z1); /* ! */ ++ ecc_modp_mul (ecc, y3, B, C); /* Clobbers z1 in case r == p. */ + + /* z3 */ + ecc_modp_mul (ecc, B, F, G); +-- +libgit2 0.25.0 + diff --git a/dev-libs/nettle/nettle-3.3-r2.ebuild b/dev-libs/nettle/nettle-3.3-r2.ebuild new file mode 100644 index 000000000000..6062d1dfd34b --- /dev/null +++ b/dev-libs/nettle/nettle-3.3-r2.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools multilib-build multilib-minimal multilib toolchain-funcs + +DESCRIPTION="Low-level cryptographic library" +HOMEPAGE="http://www.lysator.liu.se/~nisse/nettle/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +LICENSE="|| ( LGPL-3 LGPL-2.1 )" +SLOT="0/6.1" # subslot = libnettle soname version, .1 as broke ABI bug#601512 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc +gmp neon static-libs test cpu_flags_x86_aes" + +DEPEND="gmp? ( >=dev-libs/gmp-5.0:0=[${MULTILIB_USEDEP}] )" +RDEPEND="${DEPEND} + abi_x86_32? ( + !<=app-emulation/emul-linux-x86-baselibs-20131008-r17 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/nettle/nettle-stdint.h + /usr/include/nettle/version.h +) + +DOCS=() +HTML_DOCS=() + +PATCHES=( + "${FILESDIR}/${P}-ecc-add-eh.patch" +) + +pkg_setup() { + use doc && DOCS+=( + nettle.pdf + ) + use doc && HTML_DOCS+=( + nettle.html + ) +} + +src_prepare() { + default + + sed -e '/CFLAGS=/s: -ggdb3::' \ + -e 's/solaris\*)/sunldsolaris*)/' \ + -i configure.ac || die + + # conditionally build tests and examples required by tests + use test || sed -i '/SUBDIRS/s/testsuite examples//' Makefile.in || die + + eautoreconf +} + +multilib_src_configure() { + # --disable-openssl bug #427526 + ECONF_SOURCE="${S}" econf \ + --libdir="${EPREFIX}"/usr/$(get_libdir) \ + --disable-openssl \ + --disable-fat \ + $(use_enable gmp public-key) \ + $(use_enable static-libs static) \ + $(tc-is-static-only && echo --disable-shared) \ + $(use_enable doc documentation) \ + $(use_enable neon arm-neon) \ + $(use_enable cpu_flags_x86_aes x86-aesni) +} |