Date: Thursday, July 16, 2015 @ 21:36:04 Author: heftig Revision: 242289
Fix bus policy Added: modemmanager/trunk/bus-signals.patch Modified: modemmanager/trunk/PKGBUILD -------------------+ PKGBUILD | 13 ++++++++++--- bus-signals.patch | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-07-16 19:30:03 UTC (rev 242288) +++ PKGBUILD 2015-07-16 19:36:04 UTC (rev 242289) @@ -5,7 +5,7 @@ pkgbase=modemmanager pkgname=(modemmanager libmm-glib) pkgver=1.4.10 -pkgrel=1 +pkgrel=2 pkgdesc="Mobile broadband modem management service" arch=(i686 x86_64) url="http://www.freedesktop.org/wiki/Software/ModemManager/" @@ -12,9 +12,16 @@ license=(GPL2 LGPL2.1) depends=(systemd libgudev polkit ppp libqmi libmbim hicolor-icon-theme) makedepends=(intltool gtk-doc gobject-introspection vala) -source=(http://www.freedesktop.org/software/ModemManager/ModemManager-$pkgver.tar.xz) -sha256sums=('107ba0b4d0749aebb0347691a39f60891cc6004aeca8b2128d69c50557049a63') +source=(http://www.freedesktop.org/software/ModemManager/ModemManager-${pkgver}.tar.xz + bus-signals.patch) +sha256sums=('107ba0b4d0749aebb0347691a39f60891cc6004aeca8b2128d69c50557049a63' + '2bf544ace3e79276f8e9c113fe3468506da74eb7f4ce1de5b33ea0e955dfd09e') +prepare() { + cd ModemManager-$pkgver + patch -Np1 -i ../bus-signals.patch +} + build() { cd ModemManager-$pkgver ./configure --prefix=/usr \ Added: bus-signals.patch =================================================================== --- bus-signals.patch (rev 0) +++ bus-signals.patch 2015-07-16 19:36:04 UTC (rev 242289) @@ -0,0 +1,43 @@ +From a043f8064b6d1fb1ce5ee4b1d263117ea6eac505 Mon Sep 17 00:00:00 2001 +From: David Herrmann <dh.herrm...@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 +