diff options
Diffstat (limited to 'debian/patches/01_polkit-1.patch')
-rw-r--r-- | debian/patches/01_polkit-1.patch | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/debian/patches/01_polkit-1.patch b/debian/patches/01_polkit-1.patch deleted file mode 100644 index 03660cb..0000000 --- a/debian/patches/01_polkit-1.patch +++ /dev/null @@ -1,155 +0,0 @@ ---- indicator-session-0.1.4/configure.ac 2009-09-22 09:12:00.000000000 +0200 -+++ indicator-session-0.1.4.new/configure.ac 2009-09-22 09:11:42.000000000 +0200 -@@ -28,6 +28,7 @@ - GTK_REQUIRED_VERSION=2.12 - INDICATOR_REQUIRED_VERSION=0.2.0 - DBUSMENUGTK_REQUIRED_VERSION=0.1.1 -+POLKIT_REQUIRED_VERSION=0.92 - - PKG_CHECK_MODULES(APPLET, gtk+-2.0 >= $GTK_REQUIRED_VERSION - indicator >= $INDICATOR_REQUIRED_VERSION -@@ -53,7 +54,8 @@ - AC_SUBST(SESSIONERVICE_LIBS) - - PKG_CHECK_MODULES(GTKLOGOUTHELPER, gtk+-2.0 >= $GTK_REQUIRED_VERSION -- polkit-gnome) -+ polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION) -+ - - AC_SUBST(GTKLOGOUTHELPER_CFLAGS) - AC_SUBST(GTKLOGOUTHELPER_LIBS) -diff -ur indicator-session-0.1.4/src/gtk-dialog/ck-pk-helper.c indicator-session-0.1.4.new/src/gtk-dialog/ck-pk-helper.c ---- indicator-session-0.1.4/src/gtk-dialog/ck-pk-helper.c 2009-09-22 09:12:00.000000000 +0200 -+++ indicator-session-0.1.4.new/src/gtk-dialog/ck-pk-helper.c 2009-09-22 09:11:43.000000000 +0200 -@@ -24,7 +24,7 @@ - #include <unistd.h> - #include <glib.h> - #include <dbus/dbus-glib.h> --#include <polkit-gnome/polkit-gnome.h> -+#include <polkit/polkit.h> - - #include "logout-dialog.h" - #include "ck-pk-helper.h" -@@ -170,67 +170,53 @@ - } - } - -- PolKitResult polres; -+ PolkitAuthorizationResult *polres = NULL; -+ gboolean ret = FALSE; - if (pk_can_do_action(pk_action, &polres)) { -- if (polres == POLKIT_RESULT_YES) { -- return FALSE; -+ if (polkit_authorization_result_get_is_challenge (polres)) { -+ ret = TRUE; - } -- return TRUE; -+ g_debug ("pk_require_auth(%s): authorized, is_challenge: %i", pk_action, ret); -+ } else { -+ g_debug ("pk_require_auth(%s): not authorized", pk_action); -+ } -+ if (polres) { -+ g_object_unref (polres); - } -- return FALSE; -+ return ret; - } - - gboolean --pk_can_do_action (const gchar *action_id, PolKitResult * pol_result) -+pk_can_do_action (const gchar *action_id, PolkitAuthorizationResult ** pol_result) - { -- PolKitGnomeContext *gnome_context; -- PolKitAction *action; -- PolKitCaller *caller; -- DBusError dbus_error; -- PolKitError *error; -- PolKitResult result; -- -- gnome_context = polkit_gnome_context_get (NULL); -- -- if (gnome_context == NULL) { -- return FALSE; -- } -- -- if (gnome_context->pk_tracker == NULL) { -- return FALSE; -- } -- -- dbus_error_init (&dbus_error); -- caller = polkit_tracker_get_caller_from_pid (gnome_context->pk_tracker, -- getpid (), -- &dbus_error); -- dbus_error_free (&dbus_error); -- -- if (caller == NULL) { -- return FALSE; -- } -- -- action = polkit_action_new (); -- if (!polkit_action_set_action_id (action, action_id)) { -- polkit_action_unref (action); -- polkit_caller_unref (caller); -- return FALSE; -- } -- -- result = POLKIT_RESULT_UNKNOWN; -- error = NULL; -- result = polkit_context_is_caller_authorized (gnome_context->pk_context, -- action, caller, FALSE, -- &error); -- if (polkit_error_is_set (error)) { -- polkit_error_free (error); -- } -- polkit_action_unref (action); -- polkit_caller_unref (caller); -+ PolkitAuthority *authority; -+ PolkitSubject *subject; -+ PolkitAuthorizationResult *result; -+ gboolean ret; -+ -+ authority = polkit_authority_get(); -+ if (!authority) { -+ g_warning ("Could not get PolicyKit authority instance"); -+ return FALSE; -+ } -+ subject = polkit_unix_process_new (getpid()); - -- if (pol_result != NULL) { -- *pol_result = result; -- } -+ result = polkit_authority_check_authorization_sync (authority, subject, action_id, NULL, 0, NULL, NULL); -+ g_object_unref (authority); - -- return result != POLKIT_RESULT_NO && result != POLKIT_RESULT_UNKNOWN; -+ ret = FALSE; -+ if (result) { -+ ret = polkit_authorization_result_get_is_authorized (result) || -+ polkit_authorization_result_get_is_challenge (result); -+ g_debug ("pk_can_do_action(%s): %i", action_id, ret); -+ } else { -+ g_warning ("pk_can_do_action(%s): check_authorization returned NULL", action_id); -+ } -+ if (pol_result) { -+ *pol_result = result; -+ } else { -+ g_object_unref (result); -+ } -+ return ret; -+ - } -diff -ur indicator-session-0.1.4/src/gtk-dialog/ck-pk-helper.h indicator-session-0.1.4.new/src/gtk-dialog/ck-pk-helper.h ---- indicator-session-0.1.4/src/gtk-dialog/ck-pk-helper.h 2009-09-22 09:12:00.000000000 +0200 -+++ indicator-session-0.1.4.new/src/gtk-dialog/ck-pk-helper.h 2009-09-22 09:11:43.000000000 +0200 -@@ -24,9 +24,9 @@ - #ifndef __CK_PK_HELPER_H__ - #define __CK_PK_HELPER_H__ 1 - --#include <polkit-gnome/polkit-gnome.h> -+#include <polkit/polkit.h> - - gboolean pk_require_auth (LogoutDialogAction action); --gboolean pk_can_do_action (const gchar *action_id, PolKitResult * pol_result); -+gboolean pk_can_do_action (const gchar *action_id, PolkitAuthorizationResult ** pol_result); - - #endif /* __CK_PK_HELPER__ */ |