From ed5bf059428a7da4aa67515848975ac135bd2078 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Mon, 25 Jan 2010 17:02:15 +0000 Subject: [PATCH] - Fix endless loop when looking for password in login keyring - Fix undefined reference to S_ISSOCK (#557970) --- ...e-keyring-2.29.6-lookup-endless-loop.patch | 31 +++++++++++++++++++ gnome-keyring-2.29.6-stat-include.patch | 14 +++++++++ gnome-keyring.spec | 16 +++++++++- 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 gnome-keyring-2.29.6-lookup-endless-loop.patch create mode 100644 gnome-keyring-2.29.6-stat-include.patch diff --git a/gnome-keyring-2.29.6-lookup-endless-loop.patch b/gnome-keyring-2.29.6-lookup-endless-loop.patch new file mode 100644 index 0000000..f138bd0 --- /dev/null +++ b/gnome-keyring-2.29.6-lookup-endless-loop.patch @@ -0,0 +1,31 @@ +From 7407bcbbb0da9721c9ead7b9253b8dd90b12ccda Mon Sep 17 00:00:00 2001 +From: Stef Walter +Date: Thu, 21 Jan 2010 14:49:00 +0000 +Subject: Fix endless loop when looking for password in login keyring. + +If the password for an encryption key was stored in the login +keyring in the 'old' way, there could be an endless loop if +it was the wrong password. +--- +diff --git a/daemon/pkcs11/gkd-pkcs11-auth.c b/daemon/pkcs11/gkd-pkcs11-auth.c +index 599e212..e9cc232 100644 +--- a/daemon/pkcs11/gkd-pkcs11-auth.c ++++ b/daemon/pkcs11/gkd-pkcs11-auth.c +@@ -518,8 +518,15 @@ login_specific_done (CK_SESSION_HANDLE handle, CK_SESSION_INFO *info, + case CKR_PIN_INVALID: + case CKR_PIN_LEN_RANGE: + case CKR_PIN_LOCKED: ++ /* Clear out any stored secret */ + if (object->unique && object->token) + gkd_login_remove_secret ("unique", object->unique, NULL); ++ ++ /* COMPAT: Clear old method of storing secrets for objects in login keyring */ ++ if (object->digest) { ++ convert_upper_case (object->digest); ++ gkd_login_remove_secret ("object-digest", object->digest, NULL); ++ } + break; + + case CKR_OK: +-- +cgit v0.8.3.1 diff --git a/gnome-keyring-2.29.6-stat-include.patch b/gnome-keyring-2.29.6-stat-include.patch new file mode 100644 index 0000000..a310204 --- /dev/null +++ b/gnome-keyring-2.29.6-stat-include.patch @@ -0,0 +1,14 @@ +*** a/daemon/control/gkd-control-client.c 2009-12-20 01:24:11.000000000 +0530 +--- b/daemon/control/gkd-control-client.c 2010-01-23 03:08:37.000000000 +0530 +*************** +*** 34,39 **** +--- 34,40 ---- + #include + #include + #include ++ #include + + static int + control_connect (const gchar *path) + +Diff finished. Sat Jan 23 03:08:42 2010 diff --git a/gnome-keyring.spec b/gnome-keyring.spec index ba462e9..7100fbb 100644 --- a/gnome-keyring.spec +++ b/gnome-keyring.spec @@ -9,7 +9,7 @@ Summary: Framework for managing passwords and other secrets Name: gnome-keyring Version: 2.29.5 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ and LGPLv2+ Group: System Environment/Libraries Source: http://download.gnome.org/sources/gnome-keyring/2.29/gnome-keyring-%{version}.tar.bz2 @@ -21,6 +21,14 @@ Patch2: gnome-keyring-2.29.4-die-on-session-exit.patch # http://bugs.gnome.org/598494 Patch3: gnome-keyring-2.28.1-nopass.patch +# from upstream +Patch4: gnome-keyring-2.29.6-lookup-endless-loop.patch + +# FTBFS: undefined reference to S_ISSOCK +# https://bugzilla.gnome.org/show_bug.cgi?id=607819 +Patch5: gnome-keyring-2.29.6-stat-include.patch + + URL: http://www.gnome.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -81,6 +89,8 @@ automatically unlock the "login" keyring when the user logs in. %setup -q -n gnome-keyring-%{version} %patch2 -p1 -b .die-on-session-exit %patch3 -p1 -b .no-pass +%patch4 -p1 -b .lookup-endless-loop +%patch5 -p1 -b .ftbfs-stat %build %configure --disable-gtk-doc --with-pam-dir=/%{_lib}/security --disable-acl-prompts @@ -158,6 +168,10 @@ fi %changelog +* Mon Jan 25 2010 Tomas Bzatek - 2.29.5-2 +- Fix endless loop when looking for password in login keyring +- Fix undefined reference to S_ISSOCK (#557970) + * Mon Jan 11 2010 Tomas Bzatek - 2.29.5-1 - Update to 2.29.5