From d9114f981c9c4a009780f4ef84cc721b30a5be3b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Jan 21 2010 13:59:56 +0000 Subject: Fix defaults mechanism to finx the right action --- diff --git a/0001-Make-the-defaults-mechanism-find-the-right-polkit-ac.patch b/0001-Make-the-defaults-mechanism-find-the-right-polkit-ac.patch new file mode 100644 index 0000000..9d2027d --- /dev/null +++ b/0001-Make-the-defaults-mechanism-find-the-right-polkit-ac.patch @@ -0,0 +1,47 @@ +From 67a2478f610be4beff34258a5a5b36243415b069 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Tue, 19 Jan 2010 20:36:03 -0500 +Subject: [PATCH] Make the defaults mechanism find the right polkit action + +Due to a thinko in the code, the mechanism was always using the +default privileges. +--- + defaults/gconf-defaults.c | 7 ++++--- + 1 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/defaults/gconf-defaults.c b/defaults/gconf-defaults.c +index 11a38ad..b84c632 100644 +--- a/defaults/gconf-defaults.c ++++ b/defaults/gconf-defaults.c +@@ -286,8 +286,8 @@ polkit_action_for_gconf_path (GConfDefaults *mechanism, + PolkitActionDescription *action_description; + const gchar *annotation; + ++ g_debug ("finding action for path '%s'", path); + prefix = g_strdup (path); +- + while (1) { + for (l = action_descriptions; l; l = l->next) { + action_description = l->data; +@@ -295,8 +295,8 @@ polkit_action_for_gconf_path (GConfDefaults *mechanism, + annotation = polkit_action_description_get_annotation (action_description, annotation_key); + if (g_strcmp0 (prefix, annotation) == 0) { + action = polkit_action_description_get_action_id (action_description); +- g_debug ("action for path '%s': '%s'\n", action, path); +- break; ++ g_debug ("action for prefix '%s': '%s'\n", prefix, action); ++ goto found; + } + } + +@@ -310,6 +310,7 @@ polkit_action_for_gconf_path (GConfDefaults *mechanism, + *p = 0; + } + ++ found: + g_free (prefix); + + return action; +-- +1.6.6 + diff --git a/GConf2.spec b/GConf2.spec index fbf09ea..b671555 100644 --- a/GConf2.spec +++ b/GConf2.spec @@ -7,7 +7,7 @@ Summary: A process-transparent configuration system Name: GConf2 Version: 2.28.0 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv2+ Group: System Environment/Base Source: http://download.gnome.org/sources/GConf/2.28/GConf-%{version}.tar.bz2 @@ -40,7 +40,8 @@ Patch0: GConf-2.18.0.1-reload.patch Patch1: GConf-gettext.patch # Patch2: no-access-crash.patch - +# upstream fix +Patch3: 0001-Make-the-defaults-mechanism-find-the-right-polkit-ac.patch %description GConf is a process-transparent configuration database API used to @@ -78,6 +79,7 @@ which require GTK+. %patch0 -p1 -b .reload %patch1 -p1 -b .gettext %patch2 -p1 -b .no-access +%patch3 -p1 -b .defaults-actions autoreconf -f -i @@ -154,6 +156,9 @@ fi %{_libdir}/pkgconfig/* %changelog +* Tue Jan 19 2010 Matthias Clasen - 2.28.0-4 +- Make the defaults mechanism use the right polkit actions + * Mon Dec 14 2009 Matthias Clasen - 2.28.0-3 - Avoid a crash when gconftool-2 can't read the db (#547238)