dm0 / rpms / systemd

Forked from rpms/systemd 5 years ago
Clone
275528d
From 559b5cc2734bdd968c1c56ad1dc6fff08b8b30ba Mon Sep 17 00:00:00 2001
275528d
From: Lennart Poettering <lennart@poettering.net>
275528d
Date: Sat, 11 Jul 2015 17:00:26 -0300
275528d
Subject: [PATCH 043/261] logind: bring bus policy up-to-date
275528d
275528d
A while back we opened up all of logind's bus calls to unprivileged
275528d
users, via PK. However, the dbus1 policy wasn't updated accordingly.
275528d
275528d
With this change, the dbus1 policy is opened up for all bus calls that
275528d
should be available to unprivileged clients.
275528d
275528d
(also rearranges some calls in the vtable, to make more sense, and be in
275528d
line with the order in the bus policy file)
275528d
275528d
Fixes #471.
275528d
---
275528d
 src/login/logind-dbus.c               |  4 +-
275528d
 src/login/org.freedesktop.login1.conf | 72 +++++++++++++++++++++++++++++++++++
275528d
 2 files changed, 74 insertions(+), 2 deletions(-)
275528d
275528d
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
275528d
index ca435df..049e33e 100644
275528d
--- a/src/login/logind-dbus.c
275528d
+++ b/src/login/logind-dbus.c
275528d
@@ -2449,8 +2449,6 @@ const sd_bus_vtable manager_vtable[] = {
275528d
         SD_BUS_METHOD("PowerOff", "b", NULL, method_poweroff, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("Reboot", "b", NULL, method_reboot, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("Suspend", "b", NULL, method_suspend, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
-        SD_BUS_METHOD("ScheduleShutdown", "st", NULL, method_schedule_shutdown, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
-        SD_BUS_METHOD("CancelScheduledShutdown", NULL, "b", method_cancel_scheduled_shutdown, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("Hibernate", "b", NULL, method_hibernate, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("HybridSleep", "b", NULL, method_hybrid_sleep, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("CanPowerOff", NULL, "s", method_can_poweroff, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
@@ -2458,6 +2456,8 @@ const sd_bus_vtable manager_vtable[] = {
275528d
         SD_BUS_METHOD("CanSuspend", NULL, "s", method_can_suspend, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("CanHibernate", NULL, "s", method_can_hibernate, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("CanHybridSleep", NULL, "s", method_can_hybrid_sleep, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
+        SD_BUS_METHOD("ScheduleShutdown", "st", NULL, method_schedule_shutdown, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
+        SD_BUS_METHOD("CancelScheduledShutdown", NULL, "b", method_cancel_scheduled_shutdown, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("Inhibit", "ssss", "h", method_inhibit, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("CanRebootToFirmwareSetup", NULL, "s", method_can_reboot_to_firmware_setup, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
         SD_BUS_METHOD("SetRebootToFirmwareSetup", "b", NULL, method_set_reboot_to_firmware_setup, SD_BUS_VTABLE_UNPRIVILEGED),
275528d
diff --git a/src/login/org.freedesktop.login1.conf b/src/login/org.freedesktop.login1.conf
275528d
index 0ad7880..d8deb7b 100644
275528d
--- a/src/login/org.freedesktop.login1.conf
275528d
+++ b/src/login/org.freedesktop.login1.conf
275528d
@@ -90,6 +90,42 @@
275528d
 
275528d
                 
275528d
                        send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="LockSession"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="UnlockSession"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="LockSessions"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="UnlockSessions"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="KillSession"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="KillUser"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="TerminateSession"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="TerminateUser"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="TerminateSeat"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
                        send_member="PowerOff"/>
275528d
 
275528d
                 
275528d
@@ -130,6 +166,14 @@
275528d
 
275528d
                 
275528d
                        send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="ScheduleShutdown"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
+                       send_member="CancelScheduledShutdown"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Manager"
275528d
                        send_member="CanRebootToFirmwareSetup"/>
275528d
 
275528d
                 
275528d
@@ -146,6 +190,10 @@
275528d
 
275528d
                 
275528d
                        send_interface="org.freedesktop.login1.Seat"
275528d
+                       send_member="Terminate"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Seat"
275528d
                        send_member="ActivateSession"/>
275528d
 
275528d
                 
275528d
@@ -162,14 +210,30 @@
275528d
 
275528d
                 
275528d
                        send_interface="org.freedesktop.login1.Session"
275528d
+                       send_member="Terminate"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Session"
275528d
                        send_member="Activate"/>
275528d
 
275528d
                 
275528d
                        send_interface="org.freedesktop.login1.Session"
275528d
+                       send_member="Lock"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Session"
275528d
+                       send_member="Unlock"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Session"
275528d
                        send_member="SetIdleHint"/>
275528d
 
275528d
                 
275528d
                        send_interface="org.freedesktop.login1.Session"
275528d
+                       send_member="Kill"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.Session"
275528d
                        send_member="TakeControl"/>
275528d
 
275528d
                 
275528d
@@ -188,6 +252,14 @@
275528d
                        send_interface="org.freedesktop.login1.Session"
275528d
                        send_member="PauseDeviceComplete"/>
275528d
 
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.User"
275528d
+                       send_member="Terminate"/>
275528d
+
275528d
+                
275528d
+                       send_interface="org.freedesktop.login1.User"
275528d
+                       send_member="Kill"/>
275528d
+
275528d
                 <allow receive_sender="org.freedesktop.login1"/>
275528d
         </policy>
275528d
 
275528d
-- 
275528d
2.4.3
275528d