summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-06-04 20:02:04 +0200
committerMichał Górny <mgorny@gentoo.org>2016-06-04 20:11:15 +0200
commit7724be2064e7f967ff1678165c514a698d8c526c (patch)
tree699937d07465baf80fc6cfae27394b832253e1e4 /net-wireless
parentsavannah: switch to https URLs (diff)
downloadgentoo-7724be2064e7f967ff1678165c514a698d8c526c.tar.gz
gentoo-7724be2064e7f967ff1678165c514a698d8c526c.tar.bz2
gentoo-7724be2064e7f967ff1678165c514a698d8c526c.zip
net-wireless/blueman: include polkit rules for network setup, #584300
Add a set of polkit rules that allow active users belonging to the plugdev group to perform network setup actions via blueman. This resembles the rules used by NetworkManager. Bug: https://bugs.gentoo.org/show_bug.cgi?id=584300
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/blueman/blueman-9999.ebuild6
-rw-r--r--net-wireless/blueman/files/01-org.blueman.rules11
2 files changed, 17 insertions, 0 deletions
diff --git a/net-wireless/blueman/blueman-9999.ebuild b/net-wireless/blueman/blueman-9999.ebuild
index 011f2ef1c211..69c82c72397e 100644
--- a/net-wireless/blueman/blueman-9999.ebuild
+++ b/net-wireless/blueman/blueman-9999.ebuild
@@ -97,6 +97,12 @@ src_configure() {
src_install() {
default
+ if use policykit; then
+ # Allow users in plugdev group to modify connections
+ insinto /usr/share/polkit-1/rules.d
+ doins "${FILESDIR}/01-org.blueman.rules"
+ fi
+
python_fix_shebang "${D}"
rm "${D}"/$(python_get_sitedir)/*.la || die
}
diff --git a/net-wireless/blueman/files/01-org.blueman.rules b/net-wireless/blueman/files/01-org.blueman.rules
new file mode 100644
index 000000000000..2f1a2bd36ee7
--- /dev/null
+++ b/net-wireless/blueman/files/01-org.blueman.rules
@@ -0,0 +1,11 @@
+// Let users in plugdev group modify network connections using blueman
+polkit.addRule(function(action, subject) {
+ if ((action.id == "org.blueman.network.setup" ||
+ action.id == "org.blueman.dhcp.client" ||
+ action.id == "org.blueman.rfkill.setstate" ||
+ action.id == "org.blueman.pppd.pppconnect") &&
+ subject.isInGroup("plugdev") && subject.active) {
+
+ return polkit.Result.YES;
+ }
+});