From c3ecfa6f2d5b18910d31eec15a3c0b34ff2b2115 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 6 Nov 2008 08:10:02 +0000 Subject: hash calculation fix as per upstream http://marc.info/?l=gcrypt-devel&m=122591162816263&w=2 (Portage version: 2.2_rc12/cvs/Linux 2.6.25-gentoo-r7 x86_64) --- dev-libs/libgcrypt/ChangeLog | 11 +++- .../files/libgcrypt-1.4.0-HMAC-SHA-384-512.patch | 20 ++++++ .../files/libgcrypt-1.4.3-HMAC-SHA-384-512.patch | 21 +++++++ dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild | 4 +- dev-libs/libgcrypt/libgcrypt-1.4.3-r1.ebuild | 71 ++++++++++++++++++++++ dev-libs/libgcrypt/libgcrypt-1.4.3.ebuild | 69 --------------------- 6 files changed, 125 insertions(+), 71 deletions(-) create mode 100644 dev-libs/libgcrypt/files/libgcrypt-1.4.0-HMAC-SHA-384-512.patch create mode 100644 dev-libs/libgcrypt/files/libgcrypt-1.4.3-HMAC-SHA-384-512.patch create mode 100644 dev-libs/libgcrypt/libgcrypt-1.4.3-r1.ebuild delete mode 100644 dev-libs/libgcrypt/libgcrypt-1.4.3.ebuild (limited to 'dev-libs/libgcrypt') diff --git a/dev-libs/libgcrypt/ChangeLog b/dev-libs/libgcrypt/ChangeLog index 4b8b29c90c42..a0763efbf1f6 100644 --- a/dev-libs/libgcrypt/ChangeLog +++ b/dev-libs/libgcrypt/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-libs/libgcrypt # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgcrypt/ChangeLog,v 1.115 2008/11/03 17:07:51 dragonheart Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgcrypt/ChangeLog,v 1.116 2008/11/06 08:10:02 dragonheart Exp $ + +*libgcrypt-1.4.3-r1 (06 Nov 2008) + + 06 Nov 2008; Daniel Black + +files/libgcrypt-1.4.0-HMAC-SHA-384-512.patch, + +files/libgcrypt-1.4.3-HMAC-SHA-384-512.patch, libgcrypt-1.4.0-r1.ebuild, + -libgcrypt-1.4.3.ebuild, +libgcrypt-1.4.3-r1.ebuild: + hash calculation fix as per upstream + http://marc.info/?l=gcrypt-devel&m=122591162816263&w=2 *libgcrypt-1.4.3 (03 Nov 2008) diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.4.0-HMAC-SHA-384-512.patch b/dev-libs/libgcrypt/files/libgcrypt-1.4.0-HMAC-SHA-384-512.patch new file mode 100644 index 000000000000..6841fce90a27 --- /dev/null +++ b/dev-libs/libgcrypt/files/libgcrypt-1.4.0-HMAC-SHA-384-512.patch @@ -0,0 +1,20 @@ +--- cipher/md.c.orig 2007-08-14 02:46:51.000000000 +1000 ++++ cipher/md.c 2008-11-06 19:05:37.000000000 +1100 +@@ -791,7 +791,7 @@ + if ( !algo ) + return GPG_ERR_DIGEST_ALGO; /* i.e. no algo enabled */ + +- if ( keylen > 64 ) ++ if ( keylen > hd->ctx->macpads_Bsize ) + { + helpkey = gcry_malloc_secure ( md_digest_length( algo ) ); + if ( !helpkey ) +@@ -799,7 +799,7 @@ + gcry_md_hash_buffer ( algo, helpkey, key, keylen ); + key = helpkey; + keylen = md_digest_length( algo ); +- assert ( keylen <= 64 ); ++ assert ( keylen <= hd->ctx->macpads_Bsize ); + } + + memset ( hd->ctx->macpads, 0, 2*(hd->ctx->macpads_Bsize) ); diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.4.3-HMAC-SHA-384-512.patch b/dev-libs/libgcrypt/files/libgcrypt-1.4.3-HMAC-SHA-384-512.patch new file mode 100644 index 000000000000..e9146b9085a0 --- /dev/null +++ b/dev-libs/libgcrypt/files/libgcrypt-1.4.3-HMAC-SHA-384-512.patch @@ -0,0 +1,21 @@ +--- orig/libgcrypt-1.4.3/cipher/md.c 2008-09-12 15:43:52.000000000 +0200 ++++ libgcrypt-1.4.3/cipher/md.c 2008-11-05 19:52:32.000000000 +0100 +@@ -834,7 +834,7 @@ prepare_macpads( gcry_md_hd_t hd, const + if ( !algo ) + return GPG_ERR_DIGEST_ALGO; /* i.e. no algo enabled */ + +- if ( keylen > 64 ) ++ if ( keylen > hd->ctx->macpads_Bsize ) + { + helpkey = gcry_malloc_secure ( md_digest_length( algo ) ); + if ( !helpkey ) +@@ -842,7 +842,7 @@ prepare_macpads( gcry_md_hd_t hd, const + gcry_md_hash_buffer ( algo, helpkey, key, keylen ); + key = helpkey; + keylen = md_digest_length( algo ); +- gcry_assert ( keylen <= 64 ); ++ gcry_assert ( keylen <= hd->ctx->macpads_Bsize ); + } + + memset ( hd->ctx->macpads, 0, 2*(hd->ctx->macpads_Bsize) ); + diff --git a/dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild index 53c70db7511f..d862b462614f 100644 --- a/dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild +++ b/dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild,v 1.10 2008/01/31 15:00:42 alonbl Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgcrypt/libgcrypt-1.4.0-r1.ebuild,v 1.11 2008/11/06 08:10:02 dragonheart Exp $ inherit eutils autotools @@ -22,6 +22,8 @@ DEPEND="${RDEPEND} src_unpack() { unpack ${A} cd "${S}" + # http://marc.info/?l=gcrypt-devel&m=122591162816263&w=2 + epatch "${FILESDIR}"/${P}-HMAC-SHA-384-512.patch if use idea; then if use bindist; then diff --git a/dev-libs/libgcrypt/libgcrypt-1.4.3-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.4.3-r1.ebuild new file mode 100644 index 000000000000..4535fc9a79a0 --- /dev/null +++ b/dev-libs/libgcrypt/libgcrypt-1.4.3-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgcrypt/libgcrypt-1.4.3-r1.ebuild,v 1.1 2008/11/06 08:10:02 dragonheart Exp $ + +inherit autotools eutils + +DESCRIPTION="general purpose crypto library based on the code used in GnuPG" +HOMEPAGE="http://www.gnupg.org/" +SRC_URI="mirror://gnupg/libgcrypt/${P}.tar.bz2 + ftp://ftp.gnupg.org/gcrypt/${PN}/${P}.tar.bz2 + !bindist? ( idea? ( mirror://gentoo/${PN}-1.4.0-idea.diff.bz2 ) )" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="bindist idea" + +RDEPEND=">=dev-libs/libgpg-error-1.5" +DEPEND="${RDEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + # http://marc.info/?l=gcrypt-devel&m=122591162816263&w=2 + epatch "${FILESDIR}"/${P}-HMAC-SHA-384-512.patch + + if use idea; then + if use bindist; then + elog "Skipping IDEA support to comply with binary distribution (bug #148907)." + else + ewarn "Please read http://www.gnupg.org/(en)/faq/why-not-idea.html" + epatch "${WORKDIR}/${PN}-1.4.0-idea.diff" + AT_M4DIR="m4" eautoreconf + fi + fi +} + +src_compile() { + # --disable-padlock-support for bug #201917 + econf \ + --disable-padlock-support \ + --disable-dependency-tracking \ + --with-pic \ + --enable-noexecstack + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc AUTHORS ChangeLog NEWS README* THANKS TODO +} + +pkg_postinst() { + if use !bindist && use idea; then + ewarn "-----------------------------------------------------------------------------------" + ewarn "IDEA" + ewarn "you have compiled ${PN} with support for the IDEA algorithm, this code" + ewarn "is distributed under the GPL in countries where it is permitted to do so" + ewarn "by law." + ewarn + ewarn "Please read http://www.gnupg.org/(en)/faq/why-not-idea.html for more information." + ewarn + ewarn "If you are in a country where the IDEA algorithm is patented, you are permitted" + ewarn "to use it at no cost for 'non revenue generating data transfer between private" + ewarn "individuals'." + ewarn + ewarn "Countries where the patent applies are listed here" + ewarn "http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm#Security" + ewarn "-----------------------------------------------------------------------------------" + fi +} diff --git a/dev-libs/libgcrypt/libgcrypt-1.4.3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.4.3.ebuild deleted file mode 100644 index 44180d131f1c..000000000000 --- a/dev-libs/libgcrypt/libgcrypt-1.4.3.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgcrypt/libgcrypt-1.4.3.ebuild,v 1.1 2008/11/03 17:07:51 dragonheart Exp $ - -inherit autotools eutils - -DESCRIPTION="general purpose crypto library based on the code used in GnuPG" -HOMEPAGE="http://www.gnupg.org/" -SRC_URI="mirror://gnupg/libgcrypt/${P}.tar.bz2 - ftp://ftp.gnupg.org/gcrypt/${PN}/${P}.tar.bz2 - !bindist? ( idea? ( mirror://gentoo/${PN}-1.4.0-idea.diff.bz2 ) )" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" -IUSE="bindist idea" - -RDEPEND=">=dev-libs/libgpg-error-1.5" -DEPEND="${RDEPEND}" - -src_unpack() { - unpack ${A} - cd "${S}" - - if use idea; then - if use bindist; then - elog "Skipping IDEA support to comply with binary distribution (bug #148907)." - else - ewarn "Please read http://www.gnupg.org/(en)/faq/why-not-idea.html" - epatch "${WORKDIR}/${PN}-1.4.0-idea.diff" - AT_M4DIR="m4" eautoreconf - fi - fi -} - -src_compile() { - # --disable-padlock-support for bug #201917 - econf \ - --disable-padlock-support \ - --disable-dependency-tracking \ - --with-pic \ - --enable-noexecstack - emake || die "emake failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "emake install failed" - dodoc AUTHORS ChangeLog NEWS README* THANKS TODO -} - -pkg_postinst() { - if use !bindist && use idea; then - ewarn "-----------------------------------------------------------------------------------" - ewarn "IDEA" - ewarn "you have compiled ${PN} with support for the IDEA algorithm, this code" - ewarn "is distributed under the GPL in countries where it is permitted to do so" - ewarn "by law." - ewarn - ewarn "Please read http://www.gnupg.org/(en)/faq/why-not-idea.html for more information." - ewarn - ewarn "If you are in a country where the IDEA algorithm is patented, you are permitted" - ewarn "to use it at no cost for 'non revenue generating data transfer between private" - ewarn "individuals'." - ewarn - ewarn "Countries where the patent applies are listed here" - ewarn "http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm#Security" - ewarn "-----------------------------------------------------------------------------------" - fi -} -- cgit v1.2.3-65-gdbad