core/modemmanager/bus-signals.patch

44 lines
1.8 KiB
Diff
Raw Normal View History

2015-09-16 15:15:58 +08:00
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