Date: Wednesday, August 1, 2012 @ 05:36:07 Author: jgc Revision: 164501
archrelease: copy trunk to extra-i686, extra-x86_64 Added: gnome-keyring/repos/extra-i686/PKGBUILD (from rev 164500, gnome-keyring/trunk/PKGBUILD) gnome-keyring/repos/extra-i686/gnome-keyring.install (from rev 164500, gnome-keyring/trunk/gnome-keyring.install) gnome-keyring/repos/extra-i686/gpg-agent-fix-encoding.patch (from rev 164500, gnome-keyring/trunk/gpg-agent-fix-encoding.patch) gnome-keyring/repos/extra-x86_64/PKGBUILD (from rev 164500, gnome-keyring/trunk/PKGBUILD) gnome-keyring/repos/extra-x86_64/gnome-keyring.install (from rev 164500, gnome-keyring/trunk/gnome-keyring.install) gnome-keyring/repos/extra-x86_64/gpg-agent-fix-encoding.patch (from rev 164500, gnome-keyring/trunk/gpg-agent-fix-encoding.patch) Deleted: gnome-keyring/repos/extra-i686/PKGBUILD gnome-keyring/repos/extra-i686/gnome-keyring.install gnome-keyring/repos/extra-x86_64/PKGBUILD gnome-keyring/repos/extra-x86_64/gnome-keyring.install -------------------------------------------+ extra-i686/PKGBUILD | 67 +++++++++++---------- extra-i686/gnome-keyring.install | 24 +++---- extra-i686/gpg-agent-fix-encoding.patch | 86 ++++++++++++++++++++++++++++ extra-x86_64/PKGBUILD | 67 +++++++++++---------- extra-x86_64/gnome-keyring.install | 24 +++---- extra-x86_64/gpg-agent-fix-encoding.patch | 86 ++++++++++++++++++++++++++++ 6 files changed, 266 insertions(+), 88 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2012-08-01 09:35:36 UTC (rev 164500) +++ extra-i686/PKGBUILD 2012-08-01 09:36:07 UTC (rev 164501) @@ -1,32 +0,0 @@ -#$Id$ -# Maintainer: Jan De Groot <j...@archlinux.org> - -pkgname=gnome-keyring -pkgver=3.4.1 -pkgrel=2 -pkgdesc="GNOME Password Management daemon" -arch=(i686 x86_64) -license=('GPL' 'LGPL') -depends=('gtk3' 'gcr' 'libcap-ng') -makedepends=('intltool') -groups=('gnome') -options=('!libtool' '!emptydirs') -url="http://www.gnome.org" -install=gnome-keyring.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('9e90267721198cbe6ebc08f6390d24901d9c0de39b180cd2ad1bbcdd7b30b249') - -build() { - cd "$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --libexecdir=/usr/lib/gnome-keyring \ - --with-pam-dir=/usr/lib/security --with-root-certs=/etc/ssl/certs \ - --disable-schemas-compile - make -} - -package() { - cd "$pkgname-$pkgver" - make DESTDIR="$pkgdir" install -} Copied: gnome-keyring/repos/extra-i686/PKGBUILD (from rev 164500, gnome-keyring/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2012-08-01 09:36:07 UTC (rev 164501) @@ -0,0 +1,35 @@ +#$Id$ +# Maintainer: Jan De Groot <j...@archlinux.org> + +pkgname=gnome-keyring +pkgver=3.4.1 +pkgrel=3 +pkgdesc="GNOME Password Management daemon" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +depends=('gtk3' 'gcr' 'libcap-ng') +makedepends=('intltool') +groups=('gnome') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +install=gnome-keyring.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + gpg-agent-fix-encoding.patch) +sha256sums=('9e90267721198cbe6ebc08f6390d24901d9c0de39b180cd2ad1bbcdd7b30b249' + '05ae4ec8db316b1b7552099721226e3a211bcf3d2445f1ea464d26bf31590760') + +build() { + cd "$pkgname-$pkgver" + patch -Np1 -i "$srcdir/gpg-agent-fix-encoding.patch" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-keyring \ + --with-pam-dir=/usr/lib/security --with-root-certs=/etc/ssl/certs \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} Deleted: extra-i686/gnome-keyring.install =================================================================== --- extra-i686/gnome-keyring.install 2012-08-01 09:35:36 UTC (rev 164500) +++ extra-i686/gnome-keyring.install 2012-08-01 09:36:07 UTC (rev 164501) @@ -1,12 +0,0 @@ -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas - setcap cap_ipc_lock=ep /usr/bin/gnome-keyring-daemon -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} Copied: gnome-keyring/repos/extra-i686/gnome-keyring.install (from rev 164500, gnome-keyring/trunk/gnome-keyring.install) =================================================================== --- extra-i686/gnome-keyring.install (rev 0) +++ extra-i686/gnome-keyring.install 2012-08-01 09:36:07 UTC (rev 164501) @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + setcap cap_ipc_lock=ep /usr/bin/gnome-keyring-daemon +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} Copied: gnome-keyring/repos/extra-i686/gpg-agent-fix-encoding.patch (from rev 164500, gnome-keyring/trunk/gpg-agent-fix-encoding.patch) =================================================================== --- extra-i686/gpg-agent-fix-encoding.patch (rev 0) +++ extra-i686/gpg-agent-fix-encoding.patch 2012-08-01 09:36:07 UTC (rev 164501) @@ -0,0 +1,86 @@ +From d31a26df7ce8d9c084b9c66fe00458683dde9864 Mon Sep 17 00:00:00 2001 +From: Stef Walter <st...@gnome.org> +Date: Thu, 28 Jun 2012 15:51:54 +0200 +Subject: [PATCH] gpg-agent: Encode passwords when --data was requested + + * Use URI encoding to return passwords when gnupg calls us with + a --data argument. + +https://bugzilla.gnome.org/show_bug.cgi?id=678771 +--- + daemon/gpg-agent/gkd-gpg-agent-ops.c | 41 ++++++++++++++++++++++++++++++---- + 1 file changed, 37 insertions(+), 4 deletions(-) + +diff --git a/daemon/gpg-agent/gkd-gpg-agent-ops.c b/daemon/gpg-agent/gkd-gpg-agent-ops.c +index be6c4d3..a1a21ff 100644 +--- a/daemon/gpg-agent/gkd-gpg-agent-ops.c ++++ b/daemon/gpg-agent/gkd-gpg-agent-ops.c +@@ -632,11 +632,12 @@ command_has_option (gchar *command, gchar *option) + return has_option; + } + ++static const char HEXC[] = "0123456789abcdef"; ++ + /* Encode a password in hex */ + static gchar* +-encode_password (const gchar *pass) ++hex_encode_password (const gchar *pass) + { +- static const char HEXC[] = "0123456789abcdef"; + int j, c; + gchar *enc, *k; + +@@ -656,6 +657,36 @@ encode_password (const gchar *pass) + return enc; + } + ++static gchar* ++uri_encode_password (const gchar *value) ++{ ++ gchar *p; ++ gchar *result; ++ ++ /* Just allocate for worst case */ ++ result = egg_secure_alloc ((strlen (value) * 3) + 1); ++ ++ /* Now loop through looking for escapes */ ++ p = result; ++ while (*value) { ++ ++ /* These characters we let through verbatim */ ++ if (*value && (g_ascii_isalnum (*value) || strchr ("_-.", *value) != NULL)) { ++ *(p++) = *(value++); ++ ++ /* All others get encoded */ ++ } else { ++ *(p++) = '%'; ++ *(p++) = HEXC[((unsigned char)*value) >> 4]; ++ *(p++) = HEXC[((unsigned char)*value) & 0x0F]; ++ ++value; ++ } ++ } ++ ++ *p = 0; ++ return result; ++} ++ + /* ---------------------------------------------------------------------------------- + * OPERATIONS + */ +@@ -737,10 +768,12 @@ gkd_gpg_agent_ops_getpass (GkdGpgAgentCall *call, gchar *args) + if (password == NULL) { + gkd_gpg_agent_send_reply (call, FALSE, "111 cancelled"); + } else if (flags & GKD_GPG_AGENT_PASS_AS_DATA) { +- gkd_gpg_agent_send_data (call, password); ++ encoded = uri_encode_password (password); ++ gkd_gpg_agent_send_data (call, encoded); + gkd_gpg_agent_send_reply (call, TRUE, NULL); ++ egg_secure_strfree (encoded); + } else { +- encoded = encode_password (password); ++ encoded = hex_encode_password (password); + gkd_gpg_agent_send_reply (call, TRUE, encoded); + egg_secure_strfree (encoded); + } +-- +1.7.10.2 \ No newline at end of file Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2012-08-01 09:35:36 UTC (rev 164500) +++ extra-x86_64/PKGBUILD 2012-08-01 09:36:07 UTC (rev 164501) @@ -1,32 +0,0 @@ -#$Id$ -# Maintainer: Jan De Groot <j...@archlinux.org> - -pkgname=gnome-keyring -pkgver=3.4.1 -pkgrel=2 -pkgdesc="GNOME Password Management daemon" -arch=(i686 x86_64) -license=('GPL' 'LGPL') -depends=('gtk3' 'gcr' 'libcap-ng') -makedepends=('intltool') -groups=('gnome') -options=('!libtool' '!emptydirs') -url="http://www.gnome.org" -install=gnome-keyring.install -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('9e90267721198cbe6ebc08f6390d24901d9c0de39b180cd2ad1bbcdd7b30b249') - -build() { - cd "$pkgname-$pkgver" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static \ - --libexecdir=/usr/lib/gnome-keyring \ - --with-pam-dir=/usr/lib/security --with-root-certs=/etc/ssl/certs \ - --disable-schemas-compile - make -} - -package() { - cd "$pkgname-$pkgver" - make DESTDIR="$pkgdir" install -} Copied: gnome-keyring/repos/extra-x86_64/PKGBUILD (from rev 164500, gnome-keyring/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2012-08-01 09:36:07 UTC (rev 164501) @@ -0,0 +1,35 @@ +#$Id$ +# Maintainer: Jan De Groot <j...@archlinux.org> + +pkgname=gnome-keyring +pkgver=3.4.1 +pkgrel=3 +pkgdesc="GNOME Password Management daemon" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +depends=('gtk3' 'gcr' 'libcap-ng') +makedepends=('intltool') +groups=('gnome') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +install=gnome-keyring.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + gpg-agent-fix-encoding.patch) +sha256sums=('9e90267721198cbe6ebc08f6390d24901d9c0de39b180cd2ad1bbcdd7b30b249' + '05ae4ec8db316b1b7552099721226e3a211bcf3d2445f1ea464d26bf31590760') + +build() { + cd "$pkgname-$pkgver" + patch -Np1 -i "$srcdir/gpg-agent-fix-encoding.patch" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-keyring \ + --with-pam-dir=/usr/lib/security --with-root-certs=/etc/ssl/certs \ + --disable-schemas-compile + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} Deleted: extra-x86_64/gnome-keyring.install =================================================================== --- extra-x86_64/gnome-keyring.install 2012-08-01 09:35:36 UTC (rev 164500) +++ extra-x86_64/gnome-keyring.install 2012-08-01 09:36:07 UTC (rev 164501) @@ -1,12 +0,0 @@ -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas - setcap cap_ipc_lock=ep /usr/bin/gnome-keyring-daemon -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} Copied: gnome-keyring/repos/extra-x86_64/gnome-keyring.install (from rev 164500, gnome-keyring/trunk/gnome-keyring.install) =================================================================== --- extra-x86_64/gnome-keyring.install (rev 0) +++ extra-x86_64/gnome-keyring.install 2012-08-01 09:36:07 UTC (rev 164501) @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + setcap cap_ipc_lock=ep /usr/bin/gnome-keyring-daemon +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} Copied: gnome-keyring/repos/extra-x86_64/gpg-agent-fix-encoding.patch (from rev 164500, gnome-keyring/trunk/gpg-agent-fix-encoding.patch) =================================================================== --- extra-x86_64/gpg-agent-fix-encoding.patch (rev 0) +++ extra-x86_64/gpg-agent-fix-encoding.patch 2012-08-01 09:36:07 UTC (rev 164501) @@ -0,0 +1,86 @@ +From d31a26df7ce8d9c084b9c66fe00458683dde9864 Mon Sep 17 00:00:00 2001 +From: Stef Walter <st...@gnome.org> +Date: Thu, 28 Jun 2012 15:51:54 +0200 +Subject: [PATCH] gpg-agent: Encode passwords when --data was requested + + * Use URI encoding to return passwords when gnupg calls us with + a --data argument. + +https://bugzilla.gnome.org/show_bug.cgi?id=678771 +--- + daemon/gpg-agent/gkd-gpg-agent-ops.c | 41 ++++++++++++++++++++++++++++++---- + 1 file changed, 37 insertions(+), 4 deletions(-) + +diff --git a/daemon/gpg-agent/gkd-gpg-agent-ops.c b/daemon/gpg-agent/gkd-gpg-agent-ops.c +index be6c4d3..a1a21ff 100644 +--- a/daemon/gpg-agent/gkd-gpg-agent-ops.c ++++ b/daemon/gpg-agent/gkd-gpg-agent-ops.c +@@ -632,11 +632,12 @@ command_has_option (gchar *command, gchar *option) + return has_option; + } + ++static const char HEXC[] = "0123456789abcdef"; ++ + /* Encode a password in hex */ + static gchar* +-encode_password (const gchar *pass) ++hex_encode_password (const gchar *pass) + { +- static const char HEXC[] = "0123456789abcdef"; + int j, c; + gchar *enc, *k; + +@@ -656,6 +657,36 @@ encode_password (const gchar *pass) + return enc; + } + ++static gchar* ++uri_encode_password (const gchar *value) ++{ ++ gchar *p; ++ gchar *result; ++ ++ /* Just allocate for worst case */ ++ result = egg_secure_alloc ((strlen (value) * 3) + 1); ++ ++ /* Now loop through looking for escapes */ ++ p = result; ++ while (*value) { ++ ++ /* These characters we let through verbatim */ ++ if (*value && (g_ascii_isalnum (*value) || strchr ("_-.", *value) != NULL)) { ++ *(p++) = *(value++); ++ ++ /* All others get encoded */ ++ } else { ++ *(p++) = '%'; ++ *(p++) = HEXC[((unsigned char)*value) >> 4]; ++ *(p++) = HEXC[((unsigned char)*value) & 0x0F]; ++ ++value; ++ } ++ } ++ ++ *p = 0; ++ return result; ++} ++ + /* ---------------------------------------------------------------------------------- + * OPERATIONS + */ +@@ -737,10 +768,12 @@ gkd_gpg_agent_ops_getpass (GkdGpgAgentCall *call, gchar *args) + if (password == NULL) { + gkd_gpg_agent_send_reply (call, FALSE, "111 cancelled"); + } else if (flags & GKD_GPG_AGENT_PASS_AS_DATA) { +- gkd_gpg_agent_send_data (call, password); ++ encoded = uri_encode_password (password); ++ gkd_gpg_agent_send_data (call, encoded); + gkd_gpg_agent_send_reply (call, TRUE, NULL); ++ egg_secure_strfree (encoded); + } else { +- encoded = encode_password (password); ++ encoded = hex_encode_password (password); + gkd_gpg_agent_send_reply (call, TRUE, encoded); + egg_secure_strfree (encoded); + } +-- +1.7.10.2 \ No newline at end of file