X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fpolkit.c;h=14e27cdc608ba3f417a4bd67aa64b1db8ae17654;hb=4f5d327a49e1a40ae0a3b8f1855dc90f3c0d953f;hp=07d18e7d5fafbe932ee56814cf7457e3784706e6;hpb=3bdf9c1d0a241eff2d17591854172725682b27cd;p=elogind.git diff --git a/src/shared/polkit.c b/src/shared/polkit.c index 07d18e7d5..14e27cdc6 100644 --- a/src/shared/polkit.c +++ b/src/shared/polkit.c @@ -27,56 +27,6 @@ #include "dbus-common.h" #include "polkit.h" -/* This mimics dbus_bus_get_unix_user() */ -static pid_t get_unix_process_id( - DBusConnection *connection, - const char *name, - DBusError *error) { - - DBusMessage *m = NULL, *reply = NULL; - uint32_t pid = 0; - - m = dbus_message_new_method_call( - DBUS_SERVICE_DBUS, - DBUS_PATH_DBUS, - DBUS_INTERFACE_DBUS, - "GetConnectionUnixProcessID"); - if (!m) { - dbus_set_error_const(error, DBUS_ERROR_NO_MEMORY, NULL); - goto finish; - } - - if (!dbus_message_append_args( - m, - DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID)) { - dbus_set_error_const(error, DBUS_ERROR_NO_MEMORY, NULL); - goto finish; - } - - reply = dbus_connection_send_with_reply_and_block(connection, m, -1, error); - if (!reply) - goto finish; - - if (dbus_set_error_from_message(error, reply)) - goto finish; - - if (!dbus_message_get_args( - reply, error, - DBUS_TYPE_UINT32, &pid, - DBUS_TYPE_INVALID)) - goto finish; - -finish: - if (m) - dbus_message_unref(m); - - if (reply) - dbus_message_unref(reply); - - return (pid_t) pid; -} - int verify_polkit( DBusConnection *c, DBusMessage *request, @@ -104,7 +54,7 @@ int verify_polkit( if (!sender) return -EINVAL; - pid_raw = get_unix_process_id(c, sender, error); + pid_raw = bus_get_unix_process_id(c, sender, error); if (pid_raw == 0) return -EINVAL;