diff options
Diffstat (limited to 'src/login')
-rw-r--r-- | src/login/logind-dbus.c | 7 | ||||
-rw-r--r-- | src/login/org.freedesktop.login1.policy.in | 52 |
2 files changed, 50 insertions, 9 deletions
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index af62d87821..4f180b013d 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -723,9 +723,10 @@ static int bus_manager_inhibit(Manager *m, DBusConnection *connection, DBusMessa } r = verify_polkit(connection, message, - m == INHIBIT_BLOCK ? - "org.freedesktop.login1.inhibit-block" : - "org.freedesktop.login1.inhibit-delay", false, NULL, error); + w == INHIBIT_SHUTDOWN ? (mm == INHIBIT_BLOCK ? "org.freedesktop.login1.inhibit-block-shutdown" : "org.freedesktop.login1.inhibit-delay-shutdown") : + w == INHIBIT_SLEEP ? (mm == INHIBIT_BLOCK ? "org.freedesktop.login1.inhibit-block-sleep" : "org.freedesktop.login1.inhibit-delay-sleep") : + (mm == INHIBIT_BLOCK ? "org.freedesktop.login1.inhibit-block-idle" : "org.freedesktop.login1.inhibit-delay-idle"), + false, NULL, error); if (r < 0) goto fail; diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in index 92c0a4d324..970adbeff2 100644 --- a/src/login/org.freedesktop.login1.policy.in +++ b/src/login/org.freedesktop.login1.policy.in @@ -16,9 +16,9 @@ <vendor>The systemd Project</vendor> <vendor_url>http://www.freedesktop.org/wiki/Software/systemd</vendor_url> - <action id="org.freedesktop.login1.inhibit-block"> - <_description>Allow applications to inhibit system shutdown and suspend</_description> - <_message>Authentication is required to allow an application to inhibit system shutdown or suspend.</_message> + <action id="org.freedesktop.login1.inhibit-block-shutdown"> + <_description>Allow applications to inhibit system shutdown</_description> + <_message>Authentication is required to allow an application to inhibit system shutdown.</_message> <defaults> <allow_any>auth_admin_keep</allow_any> <allow_inactive>yes</allow_inactive> @@ -26,9 +26,49 @@ </defaults> </action> - <action id="org.freedesktop.login1.inhibit-delay"> - <_description>Allow applications to delay system shutdown and suspend</_description> - <_message>Authentication is required to allow an application to delay system shutdown or suspend.</_message> + <action id="org.freedesktop.login1.inhibit-block-sleep"> + <_description>Allow applications to inhibit system sleep</_description> + <_message>Authentication is required to allow an application to inhibit system sleep.</_message> + <defaults> + <allow_any>auth_admin_keep</allow_any> + <allow_inactive>yes</allow_inactive> + <allow_active>yes</allow_active> + </defaults> + </action> + + <action id="org.freedesktop.login1.inhibit-block-idle"> + <_description>Allow applications to inhibit automatic system suspend</_description> + <_message>Authentication is required to allow an application to inhibit automatic system suspend.</_message> + <defaults> + <allow_any>yes</allow_any> + <allow_inactive>yes</allow_inactive> + <allow_active>yes</allow_active> + </defaults> + </action> + + <action id="org.freedesktop.login1.inhibit-delay-shutdown"> + <_description>Allow applications to delay system shutdown</_description> + <_message>Authentication is required to allow an application to delay system shutdown.</_message> + <defaults> + <allow_any>yes</allow_any> + <allow_inactive>yes</allow_inactive> + <allow_active>yes</allow_active> + </defaults> + </action> + + <action id="org.freedesktop.login1.inhibit-delay-sleep"> + <_description>Allow applications to delay system sleep</_description> + <_message>Authentication is required to allow an application to delay system sleep.</_message> + <defaults> + <allow_any>yes</allow_any> + <allow_inactive>yes</allow_inactive> + <allow_active>yes</allow_active> + </defaults> + </action> + + <action id="org.freedesktop.login1.inhibit-delay-idle"> + <_description>Allow applications to delay automatic system suspend</_description> + <_message>Authentication is required to allow an application to delay automatic system suspend.</_message> <defaults> <allow_any>yes</allow_any> <allow_inactive>yes</allow_inactive> |