[packages/gnome-keyring] added upstream patch to fix firefox hang if used with gnome-keyring

atler atler at pld-linux.org
Sat Oct 24 18:33:44 CEST 2015


commit a6c3ee5d73285505d50d88ddfb84e971af2538f4
Author: Jan Palus <atler at pld-linux.org>
Date:   Sat Oct 24 18:32:50 2015 +0200

    added upstream patch to fix firefox hang if used with gnome-keyring
    
    - rel 2

 gnome-keyring-collection_alias.patch | 46 ++++++++++++++++++++++++++++++++++++
 gnome-keyring.spec                   |  4 +++-
 2 files changed, 49 insertions(+), 1 deletion(-)
---
diff --git a/gnome-keyring.spec b/gnome-keyring.spec
index 72c2aed..280b1fc 100644
--- a/gnome-keyring.spec
+++ b/gnome-keyring.spec
@@ -8,11 +8,12 @@ Summary:	Keep passwords and other user's secrets
 Summary(pl.UTF-8):	Przechowywanie haseł i innych tajnych danych użytkowników
 Name:		gnome-keyring
 Version:	3.18.2
-Release:	1
+Release:	2
 License:	LGPL v2+ (library), GPL v2+ (programs)
 Group:		X11/Applications
 Source0:	http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/3.18/%{name}-%{version}.tar.xz
 # Source0-md5:	672eba19f4504351f2b82890682f2872
+Patch0:		%{name}-collection_alias.patch
 URL:		http://live.gnome.org/GnomeKeyring
 BuildRequires:	autoconf >= 2.50
 BuildRequires:	automake >= 1:1.12
@@ -76,6 +77,7 @@ w czasie logowania użytkownika i uruchamiania demona keyring.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %{__glib_gettextize}
diff --git a/gnome-keyring-collection_alias.patch b/gnome-keyring-collection_alias.patch
new file mode 100644
index 0000000..f958279
--- /dev/null
+++ b/gnome-keyring-collection_alias.patch
@@ -0,0 +1,46 @@
+From 2f5e4db43492c8c15577ca18081d06d1bf38ae60 Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57 at ubuntu.com>
+Date: Wed, 21 Oct 2015 16:17:14 +0300
+Subject: dbus: Correctly handle alias paths in lookup_collection
+
+https://bugzilla.gnome.org/show_bug.cgi?id=756865
+---
+ daemon/dbus/gkd-secret-objects.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/daemon/dbus/gkd-secret-objects.c b/daemon/dbus/gkd-secret-objects.c
+index 995c930..90493df 100644
+--- a/daemon/dbus/gkd-secret-objects.c
++++ b/daemon/dbus/gkd-secret-objects.c
+@@ -1047,6 +1047,7 @@ gkd_secret_objects_lookup_collection (GkdSecretObjects *self, const gchar *calle
+ 	GList *objects;
+ 	GckSession *session;
+ 	gchar *identifier;
++	const gchar *real_identifier;
+ 
+ 	g_return_val_if_fail (GKD_SECRET_IS_OBJECTS (self), NULL);
+ 	g_return_val_if_fail (path, NULL);
+@@ -1054,6 +1055,11 @@ gkd_secret_objects_lookup_collection (GkdSecretObjects *self, const gchar *calle
+ 	if (!gkd_secret_util_parse_path (path, &identifier, NULL))
+ 		return NULL;
+ 
++	if (g_str_has_prefix (path, SECRET_ALIAS_PREFIX))
++		real_identifier = gkd_secret_service_get_alias (self->service, identifier);
++	else
++		real_identifier = identifier;
++
+ 	/* The session we're using to access the object */
+ 	if (caller == NULL)
+ 		session = gkd_secret_service_internal_pkcs11_session (self->service);
+@@ -1062,7 +1068,7 @@ gkd_secret_objects_lookup_collection (GkdSecretObjects *self, const gchar *calle
+ 	g_return_val_if_fail (session, NULL);
+ 
+ 	gck_builder_add_ulong (&builder, CKA_CLASS, CKO_G_COLLECTION);
+-	gck_builder_add_string (&builder, CKA_ID, identifier);
++	gck_builder_add_string (&builder, CKA_ID, real_identifier);
+ 
+ 	objects = gck_session_find_objects (session, gck_builder_end (&builder), NULL, &error);
+ 
+-- 
+cgit v0.11.2
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gnome-keyring.git/commitdiff/a6c3ee5d73285505d50d88ddfb84e971af2538f4



More information about the pld-cvs-commit mailing list