summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-09-10 06:15:03 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-09-10 06:15:03 +0000
commit4e769372192ee521321891b0d9048992b3e7729c (patch)
tree7893fea8d7feaf80c512fb2814442502968d1abe /app-crypt
parentfixed incorrect license thanks to chithanh for noticing (diff)
downloadgentoo-2-4e769372192ee521321891b0d9048992b3e7729c.tar.gz
gentoo-2-4e769372192ee521321891b0d9048992b3e7729c.tar.bz2
gentoo-2-4e769372192ee521321891b0d9048992b3e7729c.zip
Fix whitespace removal in secret exchange, bug #434422, thanks to Hans de Graaff.
(Portage version: 2.2.0_alpha124/cvs/Linux x86_64)
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/gcr/ChangeLog9
-rw-r--r--app-crypt/gcr/files/gcr-3.4.1-invalid-whitespace.patch46
-rw-r--r--app-crypt/gcr/gcr-3.4.1-r1.ebuild70
3 files changed, 124 insertions, 1 deletions
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 <tetromino@gentoo.org>
+ +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 <tetromino@gentoo.org> 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 <stefw@gnome.org>
+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}
+ !<gnome-base/gnome-keyring-3.3"
+# gcr was part of gnome-keyring until 3.3
+DEPEND="${COMMON_DEPEND}
+ dev-util/gdbus-codegen
+ >=dev-util/intltool-0.35
+ sys-devel/gettext
+ virtual/pkgconfig
+
+ dev-libs/gobject-introspection-common
+ >=dev-util/gtk-doc-am-1.9
+
+ doc? ( >=dev-util/gtk-doc-1.9 )"
+# eautoreconf needs:
+# dev-libs/gobject-introspection-common
+# >=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
+}