mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-11 23:34:40 +08:00
44 lines
1.8 KiB
Diff
44 lines
1.8 KiB
Diff
From a043f8064b6d1fb1ce5ee4b1d263117ea6eac505 Mon Sep 17 00:00:00 2001
|
|
From: David Herrmann <dh.herrmann@gmail.com>
|
|
Date: Wed, 15 Jul 2015 13:49:49 +0200
|
|
Subject: policy: don't prevent us from receiving signals
|
|
|
|
By using:
|
|
<deny send_destination="org.freedesktop.ModemManager1"/>
|
|
|
|
..we prevent anyone on the system from sending us signals, even if we
|
|
subscribed to them. This is clearly not what this line intended. More
|
|
importantly, we silently break mm-auth-provider-polkit, as we never
|
|
receiver 'changed' signals via PolkitAuthority. Right now, this is not
|
|
required by the implementation of PolkitAuthority, but ModemManager
|
|
should not place restrictions on the implementation of external
|
|
libraries.
|
|
|
|
So make sure we only prevent Method-Calls to be sent to us. Any other
|
|
message that we didn't expect is automatically discarded by gdbus,
|
|
anyway.
|
|
|
|
Without this change, debugging dbus policies constantly shows messages
|
|
that Polkit couldn't send the 'changed' signal to ModemManager. This is
|
|
suppressed in non-debugging mode. But it would make debugging a lot
|
|
easier, if we'd avoid force-dropping those events and not clutter the
|
|
debug-log.
|
|
|
|
diff --git a/data/org.freedesktop.ModemManager1.conf.polkit b/data/org.freedesktop.ModemManager1.conf.polkit
|
|
index d1ea166..6b90b4b 100644
|
|
--- a/data/org.freedesktop.ModemManager1.conf.polkit
|
|
+++ b/data/org.freedesktop.ModemManager1.conf.polkit
|
|
@@ -3,7 +3,8 @@
|
|
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
|
<busconfig>
|
|
<policy context="default">
|
|
- <deny send_destination="org.freedesktop.ModemManager1"/>
|
|
+ <deny send_destination="org.freedesktop.ModemManager1"
|
|
+ send_type="method_call"/>
|
|
|
|
<!-- Methods listed here are explicitly allowed or PolicyKit protected.
|
|
The rest are restricted to root for security.
|
|
--
|
|
cgit v0.10.2
|
|
|