polkit: don't start polkit agent when running as root

On the server side we already bypass the polkit checks if the caller is root
(see the sd_bus_query_sender_privilege() call in bus_verify_polkit_async()). So
there is no reason to invoke polkit when running
systemctl/machinectl/loginctl/timedatectl as root.

Fixes #2748
This commit is contained in:
Martin Pitt
2016-04-05 12:18:55 +02:00
parent 356a5696b4
commit 89d0348220
+4
View File
@@ -44,6 +44,10 @@ int polkit_agent_open(void) {
if (agent_pid > 0)
return 0;
/* Clients that run as root don't need to activate/query polkit */
if (geteuid() == 0)
return 0;
/* We check STDIN here, not STDOUT, since this is about input,
* not output */
if (!isatty(STDIN_FILENO))