diff --git a/libgnome-keyring-2.29.5-find-password-return-no-match.patch b/libgnome-keyring-2.29.5-find-password-return-no-match.patch new file mode 100644 index 0000000..78570a4 --- /dev/null +++ b/libgnome-keyring-2.29.5-find-password-return-no-match.patch @@ -0,0 +1,29 @@ +From dca74bd36dd5f3f16f963a194e53a05fda68d868 Mon Sep 17 00:00:00 2001 +From: Vincent Untz +Date: Tue, 16 Feb 2010 13:06:41 +0100 +Subject: [PATCH] When no password is found, return GNOME_KEYRING_RESULT_NO_MATCH + +We were returning GNOME_KEYRING_RESULT_OK with a NULL password, but some +applications rely on GNOME_KEYRING_RESULT_NO_MATCH. + +https://bugzilla.gnome.org/show_bug.cgi?id=608510 +--- + library/gnome-keyring.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/library/gnome-keyring.c b/library/gnome-keyring.c +index 8931fe5..35a860c 100644 +--- a/library/gnome-keyring.c ++++ b/library/gnome-keyring.c +@@ -4379,7 +4379,7 @@ find_password_1_reply (GkrOperation *op, const char *path, gpointer user_data) + /* All done, complete the operation here */ + if (path == NULL) { + cb = gkr_operation_pop (op); +- gkr_callback_invoke_ok_string (cb, NULL); ++ gkr_callback_invoke_res (cb, GNOME_KEYRING_RESULT_NO_MATCH); + + /* We need a session to get the secret for this item */ + } else { +-- +1.6.6.1 + diff --git a/libgnome-keyring.spec b/libgnome-keyring.spec index 36c1a0b..c29f162 100644 --- a/libgnome-keyring.spec +++ b/libgnome-keyring.spec @@ -6,7 +6,7 @@ Summary: Framework for managing passwords and other secrets Name: libgnome-keyring Version: 2.29.4 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ and LGPLv2+ Group: System Environment/Libraries Source: http://ftp.gnome.org/pub/GNOME/sources/libgnome-keyring/2.29/libgnome-keyring-%{version}.tar.bz2 @@ -27,6 +27,9 @@ Patch1: libgnome-keyring-2.29.5-session-clear.patch Patch2: libgnome-keyring-2.29.5-set-info-type-property.patch Patch3: libgnome-keyring-2.29.5-assertion-password-not-found.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=608510#c7 +Patch4: libgnome-keyring-2.29.5-find-password-return-no-match.patch + %description gnome-keyring is a program that keep password and other secrets for users. The library libgnome-keyring is used by applications to integrate @@ -53,6 +56,7 @@ header files needed to develop applications that use libgnome-keyring. %patch1 -p1 -b .session-clear %patch2 -p1 -b .info-type %patch3 -p1 -b .assert-not-found +%patch4 -p1 -b .find-password-return-no-match %build @@ -94,6 +98,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Feb 17 2010 Tomas Bzatek - 2.29.4-4 +- When no password is found, return GNOME_KEYRING_RESULT_NO_MATCH + * Tue Feb 16 2010 Tomas Bzatek - 2.29.4-3 - Fix assertion when password is not found