From 4e769372192ee521321891b0d9048992b3e7729c Mon Sep 17 00:00:00 2001 From: Alexandre Rostovtsev Date: Mon, 10 Sep 2012 06:15:03 +0000 Subject: Fix whitespace removal in secret exchange, bug #434422, thanks to Hans de Graaff. (Portage version: 2.2.0_alpha124/cvs/Linux x86_64) --- app-crypt/gcr/ChangeLog | 9 ++- .../gcr/files/gcr-3.4.1-invalid-whitespace.patch | 46 ++++++++++++++ app-crypt/gcr/gcr-3.4.1-r1.ebuild | 70 ++++++++++++++++++++++ 3 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 app-crypt/gcr/files/gcr-3.4.1-invalid-whitespace.patch create mode 100644 app-crypt/gcr/gcr-3.4.1-r1.ebuild (limited to 'app-crypt/gcr') diff --git a/app-crypt/gcr/ChangeLog b/app-crypt/gcr/ChangeLog index 61ca3bf509a5..65945483f978 100644 --- a/app-crypt/gcr/ChangeLog +++ b/app-crypt/gcr/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-crypt/gcr # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/gcr/ChangeLog,v 1.2 2012/07/16 08:31:14 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/gcr/ChangeLog,v 1.3 2012/09/10 06:15:03 tetromino Exp $ + +*gcr-3.4.1-r1 (10 Sep 2012) + + 10 Sep 2012; Alexandre Rostovtsev + +gcr-3.4.1-r1.ebuild, +files/gcr-3.4.1-invalid-whitespace.patch: + Fix whitespace removal in secret exchange, bug #434422, thanks to Hans de + Graaff. 16 Jul 2012; Alexandre Rostovtsev gcr-3.4.1.ebuild: Add missing gdbus-codegen dependency (bug #425390, thanks to cyrillic). diff --git a/app-crypt/gcr/files/gcr-3.4.1-invalid-whitespace.patch b/app-crypt/gcr/files/gcr-3.4.1-invalid-whitespace.patch new file mode 100644 index 000000000000..4f3287ca7dfb --- /dev/null +++ b/app-crypt/gcr/files/gcr-3.4.1-invalid-whitespace.patch @@ -0,0 +1,46 @@ +From b7e899d45a49085e2cedbff1cf76e6d8450b0bea Mon Sep 17 00:00:00 2001 +From: Stef Walter +Date: Sat, 30 Jun 2012 13:10:31 +0200 +Subject: [PATCH] gcr: Fix invalid warning when sending a secret exchange + + * We checked the prefix of the sent data, but didn't correctly + remove whitespace. In addition the check was inverted + * Exposed by recent changes to glib, which changed the whitespace + in the format a GKeyFile slightly +--- + gcr/gcr-secret-exchange.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/gcr/gcr-secret-exchange.c b/gcr/gcr-secret-exchange.c +index cb3941f..f6eb32e 100644 +--- a/gcr/gcr-secret-exchange.c ++++ b/gcr/gcr-secret-exchange.c +@@ -292,9 +292,9 @@ gcr_secret_exchange_begin (GcrSecretExchange *self) + result = g_key_file_to_data (output, NULL, NULL); + g_return_val_if_fail (result != NULL, NULL); + +- g_strchomp (result); ++ g_strchug (result); + +- if (g_str_has_prefix (result, SECRET_EXCHANGE_PROTOCOL_1_PREFIX)) ++ if (!g_str_has_prefix (result, SECRET_EXCHANGE_PROTOCOL_1_PREFIX)) + g_warning ("the prepared data does not have the correct protocol prefix"); + + g_key_file_free (output); +@@ -540,10 +540,10 @@ gcr_secret_exchange_send (GcrSecretExchange *self, + result = g_key_file_to_data (output, NULL, NULL); + g_return_val_if_fail (result != NULL, NULL); + +- g_strchomp (result); ++ g_strchug (result); + +- if (g_str_has_prefix (result, SECRET_EXCHANGE_PROTOCOL_1_PREFIX)) +- g_warning ("the prepared data does not have the correct protocol prefix"); ++ if (!g_str_has_prefix (result, SECRET_EXCHANGE_PROTOCOL_1_PREFIX)) ++ g_warning ("the prepared data does not have the correct protocol prefix: %s", result); + + g_key_file_free (output); + return result; +-- +1.7.12 + diff --git a/app-crypt/gcr/gcr-3.4.1-r1.ebuild b/app-crypt/gcr/gcr-3.4.1-r1.ebuild new file mode 100644 index 000000000000..0ff4a2b590c1 --- /dev/null +++ b/app-crypt/gcr/gcr-3.4.1-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/gcr/gcr-3.4.1-r1.ebuild,v 1.1 2012/09/10 06:15:03 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" + +inherit autotools gnome2 virtualx + +DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +IUSE="debug doc +introspection" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" + +COMMON_DEPEND=">=app-crypt/gnupg-2 + >=app-crypt/p11-kit-0.6 + >=dev-libs/glib-2.30:2 + >=dev-libs/libgcrypt-1.2.2 + >=dev-libs/libtasn1-1 + >=sys-apps/dbus-1.0 + >=x11-libs/gtk+-3.0:3 + introspection? ( >=dev-libs/gobject-introspection-1.29 ) +" +RDEPEND="${COMMON_DEPEND} + !=dev-util/gtk-doc-am-1.9 + +pkg_setup() { + DOCS="AUTHORS ChangeLog HACKING NEWS README" + G2CONF="${G2CONF} + $(use_enable debug) + --disable-update-icon-cache + --disable-update-mime" +} + +src_prepare() { + epatch "${FILESDIR}/${P}-invalid-whitespace.patch" #434422 + + # FIXME: failing tests + if use test; then + sed -e 's:test-subject-public-key::' \ + -e 's:test-system-prompt:$(NULL):' \ + -i gcr/tests/Makefile.am || die "sed failed" + eautoreconf + fi + + gnome2_src_prepare +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + Xemake check +} -- cgit v1.2.3-65-gdbad