diff options
author | 2010-11-13 12:08:02 +0000 | |
---|---|---|
committer | 2010-11-13 12:08:02 +0000 | |
commit | 04e317e318790d72097e9ca343a94d832190f43d (patch) | |
tree | 19d4d0445854a0546b0894ff0b53223c1bb1c36c /xfce-base/xfce4-session | |
parent | Add ~ia64/~m68k/~s390/~sh/~sparc wrt #326999 (diff) | |
download | historical-04e317e318790d72097e9ca343a94d832190f43d.tar.gz historical-04e317e318790d72097e9ca343a94d832190f43d.tar.bz2 historical-04e317e318790d72097e9ca343a94d832190f43d.zip |
Update to upstream patch.
Package-Manager: portage-2.2.0_alpha4/cvs/Linux x86_64
Diffstat (limited to 'xfce-base/xfce4-session')
-rw-r--r-- | xfce-base/xfce4-session/ChangeLog | 6 | ||||
-rw-r--r-- | xfce-base/xfce4-session/Manifest | 4 | ||||
-rw-r--r-- | xfce-base/xfce4-session/files/xfce4-session-4.7.1-stop_using_subject_cookie.patch | 178 |
3 files changed, 164 insertions, 24 deletions
diff --git a/xfce-base/xfce4-session/ChangeLog b/xfce-base/xfce4-session/ChangeLog index a35279c3df34..2c23fe74ed65 100644 --- a/xfce-base/xfce4-session/ChangeLog +++ b/xfce-base/xfce4-session/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for xfce-base/xfce4-session # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/ChangeLog,v 1.123 2010/11/12 20:50:57 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/ChangeLog,v 1.124 2010/11/13 12:08:02 ssuominen Exp $ + + 13 Nov 2010; Samuli Suominen <ssuominen@gentoo.org> + files/xfce4-session-4.7.1-stop_using_subject_cookie.patch: + Update to upstream patch. *xfce4-session-4.7.1-r2 (12 Nov 2010) diff --git a/xfce-base/xfce4-session/Manifest b/xfce-base/xfce4-session/Manifest index e4ac092c25fd..19b5d99f4d30 100644 --- a/xfce-base/xfce4-session/Manifest +++ b/xfce-base/xfce4-session/Manifest @@ -1,8 +1,8 @@ AUX xfce4-session-4.7.1-fix_logout_with_sudo.patch 1571 RMD160 11725dddcb3a8c21d99f19677cb659c5f579c6df SHA1 d69f49829f43cb76dbd67474f26afc056db3190a SHA256 a560a930d994e4d09a277de48cfea27ac37541afdcfccdaf8ed09ce5efbe115f -AUX xfce4-session-4.7.1-stop_using_subject_cookie.patch 924 RMD160 97511839cf0ac746156d8b100a906fadce20855d SHA1 45dcd76d09a0b88dc3c13c6f727cede94a00f088 SHA256 8b955d3d0b6ad2c6c9617b15e5006d74b2b619c92d9e04a5fe50a1968513aa2e +AUX xfce4-session-4.7.1-stop_using_subject_cookie.patch 6415 RMD160 da5a600397be0607e1c25e7e761efd740c7e6bc8 SHA1 f44de46c5025f69a9760c5b5e898906911c8889a SHA256 7408d8ff135eaa4c00a2ba2830f67f7f482dd45cec2d1df34b1195c44baa68df DIST xfce4-session-4.6.2.tar.bz2 1385541 RMD160 3c45028d57aee5950a485d760799d0c74ada735e SHA1 2a5778a1543f97845f118a186e2dbb8a8ea3ff4b SHA256 725e269254c34c530acb670f5ccd0fd69b57cbe9f2176abd8499fc5d6dcd30a8 DIST xfce4-session-4.7.1.tar.bz2 1460911 RMD160 99958f36f88b44e98bc3f9b4f34c2507fa539035 SHA1 d65c79e0bf7337705af1cf14964dd53b3422e2ce SHA256 5ee970da59a1433efd4c321794134e4af202ba7b6375ebaf63c84fc246877ee0 EBUILD xfce4-session-4.6.2.ebuild 1651 RMD160 63827c6581d8720ba7205fd1fbf9f816d4caabbc SHA1 dae3fc51c7119453f757b1effaebee17b8fbcaa8 SHA256 3a95405ac286b4195e1072414d966eba3b1a3fb4e825f5b9f3a28e6bc9f1a98c EBUILD xfce4-session-4.7.1-r2.ebuild 1498 RMD160 548a1c02be2cea4c81b5c6787aca1c30c4e0f445 SHA1 504bfb56e426c339e23e4a84681b8a8221a39d11 SHA256 ab5bcbd559870a2cc00d053a3523bb8982eaa26304b7d4eeaa24f29fa9f3364d -MISC ChangeLog 16051 RMD160 68470710a8b6efc1ccd7a0346709bc7cad0a1b83 SHA1 1676ba4f46b79e84e2a24a27973ff2a68696ab22 SHA256 903b89759f0947d087f95ab97597fafc2fcf6b8177589c22e026580a42c89633 +MISC ChangeLog 16195 RMD160 d749fa90ca46d529be21850b3c3b9ac05a373e6a SHA1 d54a1dbeac82000c40c393521024e9be22b5b173 SHA256 617cf62c6703de5b62b50615703ca7a94477da1a9e907944130e25e2d7b93237 MISC metadata.xml 365 RMD160 f5394f10309125c57f366f5bc00d72b7ed2c187f SHA1 71fa94d2aa83cffa134f23be4ec0736e78bc8a19 SHA256 3dd7350379719051299f2cd5f5501c0b3c5cf699b1bd0b89e0c9e6517a4c1b4d diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.7.1-stop_using_subject_cookie.patch b/xfce-base/xfce4-session/files/xfce4-session-4.7.1-stop_using_subject_cookie.patch index ea856314ffee..9a71332bf7b1 100644 --- a/xfce-base/xfce4-session/files/xfce4-session-4.7.1-stop_using_subject_cookie.patch +++ b/xfce-base/xfce4-session/files/xfce4-session-4.7.1-stop_using_subject_cookie.patch @@ -1,31 +1,167 @@ -http://bugzilla.xfce.org/show_bug.cgi?id=6817 +From 394a43c96387ec1c294105b6fa8ea610d5e381dc Mon Sep 17 00:00:00 2001 +From: Jannis Pohlmann <jannis@xfce.org> +Date: Sat, 13 Nov 2010 11:57:19 +0000 +Subject: Don't use "unix-session" authorization with PolicyKit (bug #6817). ---- xfce4-session/xfsm-shutdown-helper.c -+++ xfce4-session/xfsm-shutdown-helper.c -@@ -335,7 +335,7 @@ - const gchar *consolekit_cookie; - #endif +This fixes suspend/hibernate in xfce4-session-logout. For some reason +PolicyKit either has a broken "unix-session" implementation or no +implementation at all. So most GNOME apps seem to use "unix-process". +--- +diff --git a/xfce4-session/xfsm-shutdown-helper.c b/xfce4-session/xfsm-shutdown-helper.c +index e6c2817..9f902ad 100644 +--- a/xfce4-session/xfsm-shutdown-helper.c ++++ b/xfce4-session/xfsm-shutdown-helper.c +@@ -331,11 +331,9 @@ init_dbus_gtypes (void) + static gboolean + xfsm_shutdown_helper_init_polkit_data (XfsmShutdownHelper *helper) + { +-#ifdef ENABLE_CONSOLE_KIT +- const gchar *consolekit_cookie; +-#endif GValue hash_elem = { 0 }; - gboolean subject_created = FALSE; -+// gboolean subject_created = FALSE; ++ guint64 start_time; ++ gint pid; helper->polkit_proxy = dbus_g_proxy_new_for_name (helper->system_bus, -@@ -394,7 +394,7 @@ - g_hash_table_insert (helper->polkit_subject_hash, g_strdup ("session-id"), &val); +@@ -346,112 +344,41 @@ xfsm_shutdown_helper_init_polkit_data (XfsmShutdownHelper *helper) + if (!helper->polkit_proxy) + return FALSE; - g_free (consolekit_session); +-#ifdef ENABLE_CONSOLE_KIT +- /** +- * This variable should be set by the session manager or by +- * the login manager (gdm?). under clean Xfce environment +- * it is set by the session manager (4.8 and above) +- * since we don't have a login manager, yet! +- **/ +- consolekit_cookie = g_getenv ("XDG_SESSION_COOKIE"); +- +- if (consolekit_cookie) +- { +- DBusGProxy *proxy; +- GError *error = NULL; +- gboolean ret; +- gchar *consolekit_session; +- +- proxy = dbus_g_proxy_new_for_name (helper->system_bus, +- "org.freedesktop.ConsoleKit", +- "/org/freedesktop/ConsoleKit/Manager", +- "org.freedesktop.ConsoleKit.Manager"); ++ pid = getpid (); + +- if (proxy) +- { +- ret = dbus_g_proxy_call (proxy, "GetSessionForCookie", &error, +- G_TYPE_STRING, consolekit_cookie, +- G_TYPE_INVALID, +- DBUS_TYPE_G_OBJECT_PATH, &consolekit_session, +- G_TYPE_INVALID); ++ start_time = get_start_time_for_pid (pid); + +- if (G_LIKELY (ret)) +- { +- GValue val = { 0 }; ++ if (G_LIKELY (start_time != 0)) ++ { ++ GValue val = { 0 }, pid_val = { 0 }, start_time_val = { 0 }; + +- helper->polkit_subject = g_value_array_new (2); +- helper->polkit_subject_hash = g_hash_table_new_full (g_str_hash, +- g_str_equal, +- g_free, NULL); +- g_value_init (&val, G_TYPE_STRING); +- g_value_set_string (&val, "unix-session"); +- g_value_array_append (helper->polkit_subject, &val); ++ helper->polkit_subject = g_value_array_new (2); ++ helper->polkit_subject_hash = g_hash_table_new_full (g_str_hash, ++ g_str_equal, ++ g_free, NULL); ++ g_value_init (&val, G_TYPE_STRING); ++ g_value_set_string (&val, "unix-process"); ++ g_value_array_append (helper->polkit_subject, &val); + +- g_value_unset (&val); +- g_value_init (&val, G_TYPE_STRING); +- g_value_set_string (&val, consolekit_session); ++ g_value_unset (&val); + +- g_hash_table_insert (helper->polkit_subject_hash, g_strdup ("session-id"), &val); ++ g_value_init (&pid_val, G_TYPE_UINT); ++ g_value_set_uint (&pid_val, pid); ++ g_hash_table_insert (helper->polkit_subject_hash, g_strdup ("pid"), &pid_val); + +- g_free (consolekit_session); - subject_created = TRUE; -+ //subject_created = TRUE; - } - else if (error) - { -@@ -410,7 +410,7 @@ - * We failed to get valid session data, then we try - * to check authentication using the pid. - **/ +- } +- else if (error) +- { +- g_warning ("'GetSessionForCookie' failed : %s", error->message); +- g_error_free (error); +- } +- g_object_unref (proxy); +- } ++ g_value_init (&start_time_val, G_TYPE_UINT64); ++ g_value_set_uint64 (&start_time_val, start_time); ++ g_hash_table_insert (helper->polkit_subject_hash, g_strdup ("start-time"), &start_time_val); + } +-#endif +- +- /** +- * We failed to get valid session data, then we try +- * to check authentication using the pid. +- **/ - if (subject_created == FALSE) -+ //if (subject_created == FALSE) ++ else { - gint pid; - guint64 start_time; +- gint pid; +- guint64 start_time; +- +- pid = getpid (); +- +- start_time = get_start_time_for_pid (pid); +- +- if (G_LIKELY (start_time != 0)) +- { +- GValue val = { 0 }, pid_val = { 0 }, start_time_val = { 0 }; +- +- helper->polkit_subject = g_value_array_new (2); +- helper->polkit_subject_hash = g_hash_table_new_full (g_str_hash, +- g_str_equal, +- g_free, NULL); +- g_value_init (&val, G_TYPE_STRING); +- g_value_set_string (&val, "unix-process"); +- g_value_array_append (helper->polkit_subject, &val); +- +- g_value_unset (&val); +- +- g_value_init (&pid_val, G_TYPE_UINT); +- g_value_set_uint (&pid_val, pid); +- g_hash_table_insert (helper->polkit_subject_hash, g_strdup ("pid"), &pid_val); +- +- g_value_init (&start_time_val, G_TYPE_UINT64); +- g_value_set_uint64 (&start_time_val, start_time); +- g_hash_table_insert (helper->polkit_subject_hash, g_strdup ("start-time"), &start_time_val); +- } +- else +- { +- g_warning ("Unable to create Polkit subject"); +- return FALSE; +- } ++ g_warning ("Unable to create Polkit subject"); ++ return FALSE; + } ++ + +- g_value_init (&hash_elem, +- dbus_g_type_get_map ("GHashTable", +- G_TYPE_STRING, +- G_TYPE_VALUE)); ++ g_value_init (&hash_elem, ++ dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)); + + g_value_set_static_boxed (&hash_elem, helper->polkit_subject_hash); + g_value_array_append (helper->polkit_subject, &hash_elem); +-- +cgit v0.8.3.4 |