Hello community,
here is the log from the commit of package polkit-default-privs for
openSUSE:Factory checked in at 2020-11-06 23:44:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit-default-privs (Old)
and /work/SRC/openSUSE:Factory/.polkit-default-privs.new.11331 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polkit-default-privs"
Fri Nov 6 23:44:01 2020 rev:190 rq:845677 version:1550+20201103.994a5ed
Changes:
--------
---
/work/SRC/openSUSE:Factory/polkit-default-privs/polkit-default-privs.changes
2020-10-22 14:23:29.162815088 +0200
+++
/work/SRC/openSUSE:Factory/.polkit-default-privs.new.11331/polkit-default-privs.changes
2020-11-06 23:44:21.631348855 +0100
@@ -1,0 +2,17 @@
+Tue Nov 03 10:14:02 UTC 2020 - [email protected]
+
+- Update to version 1550+20201103.994a5ed:
+ * udisks2: rename of manage-led action to match upstream changes
(bsc#1178321)
+
+-------------------------------------------------------------------
+Mon Nov 02 08:34:41 UTC 2020 - [email protected]
+
+- Update to version 1550+20201030.d1b5d8b:
+ * whitelisting of GNOME malcontent parental controls (bsc#1177974)
+ * restrictive profile: fix conflicting duplicate action
org.kde.powerdevil.backlighthelper.setbrightness
+ * restrictive profile: fix conflicting duplicate action
org.freedesktop.color-manager.delete-profile
+ * profiles: fix conflicting duplicate action
org.kde.powerdevil.backlighthelper.brightness
+ * profiles: remove duplicate actions with same authentication settings
+ * tools: new script to cleanly remove duplicate actions
+
+-------------------------------------------------------------------
Old:
----
polkit-default-privs-1550+20201012.1df5a0d.tar.xz
New:
----
polkit-default-privs-1550+20201103.994a5ed.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit-default-privs.spec ++++++
--- /var/tmp/diff_new_pack.RJYtoU/_old 2020-11-06 23:44:22.387347402 +0100
+++ /var/tmp/diff_new_pack.RJYtoU/_new 2020-11-06 23:44:22.387347402 +0100
@@ -23,7 +23,7 @@
%endif
Name: polkit-default-privs
-Version: 1550+20201012.1df5a0d
+Version: 1550+20201103.994a5ed
Release: 0
Summary: SUSE PolicyKit default permissions
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.RJYtoU/_old 2020-11-06 23:44:22.427347325 +0100
+++ /var/tmp/diff_new_pack.RJYtoU/_new 2020-11-06 23:44:22.431347318 +0100
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/polkit-default-privs.git</param>
- <param
name="changesrevision">e08bbb1037fcb30224ed4f6a6fe1338fd264f2a6</param></service></servicedata>
\ No newline at end of file
+ <param
name="changesrevision">994a5edb86a391614ecd0b8d52441c2da72f63a4</param></service></servicedata>
\ No newline at end of file
++++++ polkit-default-privs-1550+20201012.1df5a0d.tar.xz ->
polkit-default-privs-1550+20201103.994a5ed.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/etc/polkit-rules-whitelist.json
new/polkit-default-privs-1550+20201103.994a5ed/etc/polkit-rules-whitelist.json
---
old/polkit-default-privs-1550+20201012.1df5a0d/etc/polkit-rules-whitelist.json
2020-10-12 10:40:44.000000000 +0200
+++
new/polkit-default-privs-1550+20201103.994a5ed/etc/polkit-rules-whitelist.json
2020-11-03 10:43:56.000000000 +0100
@@ -84,5 +84,15 @@
}
}
}
+ },
+ "malcontent": {
+ "audits": {
+ "bsc#1177974": {
+ "comment": "Allows wheel members to bypass
parental controls. We allow this as an exception (granting implicit
authorization to wheel) since this is not security relevant per se.",
+ "digests": {
+
"/usr/share/polkit-1/rules.d/com.endlessm.ParentalControls.rules":
"sha256:4dca105e78ff95c2317386d4df4f959f0c055eec13e12c34c48084b9bbb385b4"
+ }
+ }
+ }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/profiles/polkit-default-privs.easy
new/polkit-default-privs-1550+20201103.994a5ed/profiles/polkit-default-privs.easy
---
old/polkit-default-privs-1550+20201012.1df5a0d/profiles/polkit-default-privs.easy
2020-10-12 10:40:44.000000000 +0200
+++
new/polkit-default-privs-1550+20201103.994a5ed/profiles/polkit-default-privs.easy
2020-11-03 10:43:56.000000000 +0100
@@ -226,7 +226,7 @@
org.freedesktop.udisks2.btrfs.manage-btrfs
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.filesystem-take-ownership
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.lvm2.manage-lvm
auth_admin:auth_admin:auth_admin_keep
-org.freedesktop.udisks2.manage-led
auth_admin:auth_admin:auth_admin_keep
+org.freedesktop.udisks2.lsm.manage-led
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.zram.manage-zram
auth_admin:auth_admin:auth_admin_keep
# bsc#1123747
@@ -331,7 +331,7 @@
org.kde.kcontrol.kcmkdm.managethemes auth_admin_keep
org.kde.kcontrol.kcmkdm.save auth_admin
# kde backlight helper (bnc#672145)
-org.kde.powerdevil.backlighthelper.brightness no:no:yes
+org.kde.powerdevil.backlighthelper.brightness no:yes:yes
org.kde.powerdevil.backlighthelper.setbrightness no:no:yes
# kde powerdevil gpu helper (bsc#1019644)
@@ -607,17 +607,8 @@
# libvirt (bsc#959297)
org.libvirt.api.connect.detect-storage-pools auth_admin_keep
-org.libvirt.api.connect.getattr auth_admin_keep
org.libvirt.api.connect.interface-transaction auth_admin_keep
org.libvirt.api.connect.pm-control auth_admin_keep
-org.libvirt.api.connect.read auth_admin_keep
-org.libvirt.api.connect.search-domains auth_admin_keep
-org.libvirt.api.connect.search-interfaces auth_admin_keep
-org.libvirt.api.connect.search-networks auth_admin_keep
-org.libvirt.api.connect.search-node-devices auth_admin_keep
-org.libvirt.api.connect.search-nwfilters auth_admin_keep
-org.libvirt.api.connect.search-secrets auth_admin_keep
-org.libvirt.api.connect.search-storage-pools auth_admin_keep
org.libvirt.api.connect.write auth_admin_keep
org.libvirt.api.domain.block-read auth_admin_keep
org.libvirt.api.domain.block-write auth_admin_keep
@@ -625,7 +616,6 @@
org.libvirt.api.domain.delete auth_admin_keep
org.libvirt.api.domain.fs-freeze auth_admin_keep
org.libvirt.api.domain.fs-trim auth_admin_keep
-org.libvirt.api.domain.getattr auth_admin_keep
org.libvirt.api.domain.hibernate auth_admin_keep
org.libvirt.api.domain.init-control auth_admin_keep
org.libvirt.api.domain.inject-nmi auth_admin_keep
@@ -635,7 +625,6 @@
org.libvirt.api.domain.open-graphics auth_admin_keep
org.libvirt.api.domain.open-namespace auth_admin_keep
org.libvirt.api.domain.pm-control auth_admin_keep
-org.libvirt.api.domain.read auth_admin_keep
org.libvirt.api.domain.read-secure auth_admin_keep
org.libvirt.api.domain.reset auth_admin_keep
org.libvirt.api.domain.save auth_admin_keep
@@ -650,40 +639,29 @@
org.libvirt.api.domain.suspend auth_admin_keep
org.libvirt.api.domain.write auth_admin_keep
org.libvirt.api.interface.delete auth_admin_keep
-org.libvirt.api.interface.getattr auth_admin_keep
-org.libvirt.api.interface.read auth_admin_keep
org.libvirt.api.interface.save auth_admin_keep
org.libvirt.api.interface.start auth_admin_keep
org.libvirt.api.interface.stop auth_admin_keep
org.libvirt.api.interface.write auth_admin_keep
org.libvirt.api.network.delete auth_admin_keep
-org.libvirt.api.network.getattr auth_admin_keep
-org.libvirt.api.network.read auth_admin_keep
org.libvirt.api.network.save auth_admin_keep
org.libvirt.api.network.start auth_admin_keep
org.libvirt.api.network.stop auth_admin_keep
org.libvirt.api.network.write auth_admin_keep
org.libvirt.api.node-device.detach auth_admin_keep
-org.libvirt.api.node-device.getattr auth_admin_keep
org.libvirt.api.node-device.read auth_admin_keep
org.libvirt.api.node-device.start auth_admin_keep
org.libvirt.api.node-device.stop auth_admin_keep
org.libvirt.api.node-device.write auth_admin_keep
org.libvirt.api.nwfilter.delete auth_admin_keep
-org.libvirt.api.nwfilter.getattr auth_admin_keep
-org.libvirt.api.nwfilter.read auth_admin_keep
org.libvirt.api.nwfilter.save auth_admin_keep
org.libvirt.api.nwfilter.write auth_admin_keep
org.libvirt.api.secret.delete auth_admin_keep
-org.libvirt.api.secret.getattr auth_admin_keep
-org.libvirt.api.secret.read auth_admin_keep
org.libvirt.api.secret.read-secure auth_admin_keep
org.libvirt.api.secret.save auth_admin_keep
org.libvirt.api.secret.write auth_admin_keep
org.libvirt.api.storage-pool.delete auth_admin_keep
org.libvirt.api.storage-pool.format auth_admin_keep
-org.libvirt.api.storage-pool.getattr auth_admin_keep
-org.libvirt.api.storage-pool.read auth_admin_keep
org.libvirt.api.storage-pool.refresh auth_admin_keep
org.libvirt.api.storage-pool.save auth_admin_keep
org.libvirt.api.storage-pool.search-storage-vols auth_admin_keep
@@ -695,56 +673,8 @@
org.libvirt.api.storage-vol.data-write auth_admin_keep
org.libvirt.api.storage-vol.delete auth_admin_keep
org.libvirt.api.storage-vol.format auth_admin_keep
-org.libvirt.api.storage-vol.getattr auth_admin_keep
-org.libvirt.api.storage-vol.read auth_admin_keep
org.libvirt.api.storage-vol.resize auth_admin_keep
-org.libvirt.api.interface.save auth_admin_keep
-org.libvirt.api.interface.start auth_admin_keep
-org.libvirt.api.interface.stop auth_admin_keep
-org.libvirt.api.interface.write auth_admin_keep
-org.libvirt.api.network.delete auth_admin_keep
-org.libvirt.api.network.getattr auth_admin_keep
-org.libvirt.api.network.read auth_admin_keep
-org.libvirt.api.network.save auth_admin_keep
-org.libvirt.api.network.start auth_admin_keep
-org.libvirt.api.network.stop auth_admin_keep
-org.libvirt.api.network.write auth_admin_keep
-org.libvirt.api.node-device.detach auth_admin_keep
-org.libvirt.api.node-device.getattr auth_admin_keep
-org.libvirt.api.node-device.read auth_admin_keep
-org.libvirt.api.node-device.start auth_admin_keep
-org.libvirt.api.node-device.stop auth_admin_keep
-org.libvirt.api.node-device.write auth_admin_keep
-org.libvirt.api.nwfilter.delete auth_admin_keep
-org.libvirt.api.nwfilter.getattr auth_admin_keep
-org.libvirt.api.nwfilter.read auth_admin_keep
-org.libvirt.api.nwfilter.save auth_admin_keep
-org.libvirt.api.nwfilter.write auth_admin_keep
-org.libvirt.api.secret.delete auth_admin_keep
-org.libvirt.api.secret.getattr auth_admin_keep
-org.libvirt.api.secret.read auth_admin_keep
-org.libvirt.api.secret.read-secure auth_admin_keep
-org.libvirt.api.secret.save auth_admin_keep
-org.libvirt.api.secret.write auth_admin_keep
-org.libvirt.api.storage-pool.delete auth_admin_keep
-org.libvirt.api.storage-pool.format auth_admin_keep
-org.libvirt.api.storage-pool.getattr auth_admin_keep
-org.libvirt.api.storage-pool.read auth_admin_keep
-org.libvirt.api.storage-pool.refresh auth_admin_keep
-org.libvirt.api.storage-pool.save auth_admin_keep
-org.libvirt.api.storage-pool.search-storage-vols auth_admin_keep
-org.libvirt.api.storage-pool.start auth_admin_keep
-org.libvirt.api.storage-pool.stop auth_admin_keep
-org.libvirt.api.storage-pool.write auth_admin_keep
-org.libvirt.api.storage-vol.create auth_admin_keep
-org.libvirt.api.storage-vol.data-read auth_admin_keep
-org.libvirt.api.storage-vol.data-write auth_admin_keep
-org.libvirt.api.storage-vol.delete auth_admin_keep
-org.libvirt.api.storage-vol.format auth_admin_keep
-org.libvirt.api.storage-vol.getattr auth_admin_keep
-org.libvirt.api.storage-vol.read auth_admin_keep
-org.libvirt.api.storage-vol.resize auth_admin_keep
# libvirt (bsc#1100328)
org.libvirt.api.connect.search-nwfilter-bindings auth_admin_keep
@@ -829,9 +759,7 @@
org.kde.powerdevil.backlighthelper.setbrightnessvalue no:no:yes
# powerdevil action-name changes (bnc#927275)
-org.kde.powerdevil.backlighthelper.brightness no:yes:yes
org.kde.powerdevil.backlighthelper.brightnessmax no:yes:yes
-org.kde.powerdevil.backlighthelper.setbrightness no:no:yes
# storaged (bnc#915770)
@@ -1072,3 +1000,18 @@
# KDE smartctl helper (bsc#1176742)
org.kde.kded.smart.smartctl auth_admin:auth_admin:yes
+
+# GNOME parental controls, accountservice extensions (bsc#1177974)
+com.endlessm.ParentalControls.AccountInfo.ReadAny yes:yes:yes
+com.endlessm.ParentalControls.AppFilter.ReadOwn yes:yes:yes
+com.endlessm.ParentalControls.SessionLimits.ReadOwn yes:yes:yes
+com.endlessm.ParentalControls.AccountInfo.ChangeAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AccountInfo.ChangeOwn
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ChangeAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ChangeOwn
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ReadAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ChangeAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ChangeOwn
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ReadAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+org.freedesktop.MalcontentControl.administration no:no:auth_admin_keep
+com.endlessm.ParentalControls.AccountInfo.ReadOwn yes:yes:yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/profiles/polkit-default-privs.restrictive
new/polkit-default-privs-1550+20201103.994a5ed/profiles/polkit-default-privs.restrictive
---
old/polkit-default-privs-1550+20201012.1df5a0d/profiles/polkit-default-privs.restrictive
2020-10-12 10:40:44.000000000 +0200
+++
new/polkit-default-privs-1550+20201103.994a5ed/profiles/polkit-default-privs.restrictive
2020-11-03 10:43:56.000000000 +0100
@@ -56,7 +56,6 @@
org.freedesktop.color-manager.create-profile no:no:yes
org.freedesktop.color-manager.delete-device no:no:yes
org.freedesktop.color-manager.delete-profile no:no:yes
-org.freedesktop.color-manager.delete-profile auth_admin
org.freedesktop.color-manager.modify-device auth_admin
org.freedesktop.color-manager.modify-profile auth_admin
org.freedesktop.color-manager.install-system-wide auth_admin
@@ -213,7 +212,7 @@
org.freedesktop.udisks2.btrfs.manage-btrfs
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.filesystem-take-ownership
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.lvm2.manage-lvm
auth_admin:auth_admin:auth_admin_keep
-org.freedesktop.udisks2.manage-led
auth_admin:auth_admin:auth_admin_keep
+org.freedesktop.udisks2.lsm.manage-led
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.zram.manage-zram
auth_admin:auth_admin:auth_admin_keep
# bsc#1123747
@@ -319,7 +318,6 @@
org.kde.kcontrol.kcmkdm.save auth_admin
# kde backlight helper (bnc#672145)
org.kde.powerdevil.backlighthelper.brightness
auth_admin:auth_admin:yes
-org.kde.powerdevil.backlighthelper.setbrightness
auth_admin:auth_admin:yes
# kde powerdevil gpu helper (bsc#1019644, bsc#1026038)
org.kde.powerdevil.discretegpuhelper.hasdualgpu
no:no:yes
@@ -592,17 +590,8 @@
# libvirt (bsc#959297)
org.libvirt.api.connect.detect-storage-pools auth_admin_keep
-org.libvirt.api.connect.getattr auth_admin_keep
org.libvirt.api.connect.interface-transaction auth_admin_keep
org.libvirt.api.connect.pm-control auth_admin_keep
-org.libvirt.api.connect.read auth_admin_keep
-org.libvirt.api.connect.search-domains auth_admin_keep
-org.libvirt.api.connect.search-interfaces auth_admin_keep
-org.libvirt.api.connect.search-networks auth_admin_keep
-org.libvirt.api.connect.search-node-devices auth_admin_keep
-org.libvirt.api.connect.search-nwfilters auth_admin_keep
-org.libvirt.api.connect.search-secrets auth_admin_keep
-org.libvirt.api.connect.search-storage-pools auth_admin_keep
org.libvirt.api.connect.write auth_admin_keep
org.libvirt.api.domain.block-read auth_admin_keep
org.libvirt.api.domain.block-write auth_admin_keep
@@ -610,7 +599,6 @@
org.libvirt.api.domain.delete auth_admin_keep
org.libvirt.api.domain.fs-freeze auth_admin_keep
org.libvirt.api.domain.fs-trim auth_admin_keep
-org.libvirt.api.domain.getattr auth_admin_keep
org.libvirt.api.domain.hibernate auth_admin_keep
org.libvirt.api.domain.init-control auth_admin_keep
org.libvirt.api.domain.inject-nmi auth_admin_keep
@@ -620,7 +608,6 @@
org.libvirt.api.domain.open-graphics auth_admin_keep
org.libvirt.api.domain.open-namespace auth_admin_keep
org.libvirt.api.domain.pm-control auth_admin_keep
-org.libvirt.api.domain.read auth_admin_keep
org.libvirt.api.domain.read-secure auth_admin_keep
org.libvirt.api.domain.reset auth_admin_keep
org.libvirt.api.domain.save auth_admin_keep
@@ -635,40 +622,29 @@
org.libvirt.api.domain.suspend auth_admin_keep
org.libvirt.api.domain.write auth_admin_keep
org.libvirt.api.interface.delete auth_admin_keep
-org.libvirt.api.interface.getattr auth_admin_keep
-org.libvirt.api.interface.read auth_admin_keep
org.libvirt.api.interface.save auth_admin_keep
org.libvirt.api.interface.start auth_admin_keep
org.libvirt.api.interface.stop auth_admin_keep
org.libvirt.api.interface.write auth_admin_keep
org.libvirt.api.network.delete auth_admin_keep
-org.libvirt.api.network.getattr auth_admin_keep
-org.libvirt.api.network.read auth_admin_keep
org.libvirt.api.network.save auth_admin_keep
org.libvirt.api.network.start auth_admin_keep
org.libvirt.api.network.stop auth_admin_keep
org.libvirt.api.network.write auth_admin_keep
org.libvirt.api.node-device.detach auth_admin_keep
-org.libvirt.api.node-device.getattr auth_admin_keep
org.libvirt.api.node-device.read auth_admin_keep
org.libvirt.api.node-device.start auth_admin_keep
org.libvirt.api.node-device.stop auth_admin_keep
org.libvirt.api.node-device.write auth_admin_keep
org.libvirt.api.nwfilter.delete auth_admin_keep
-org.libvirt.api.nwfilter.getattr auth_admin_keep
-org.libvirt.api.nwfilter.read auth_admin_keep
org.libvirt.api.nwfilter.save auth_admin_keep
org.libvirt.api.nwfilter.write auth_admin_keep
org.libvirt.api.secret.delete auth_admin_keep
-org.libvirt.api.secret.getattr auth_admin_keep
-org.libvirt.api.secret.read auth_admin_keep
org.libvirt.api.secret.read-secure auth_admin_keep
org.libvirt.api.secret.save auth_admin_keep
org.libvirt.api.secret.write auth_admin_keep
org.libvirt.api.storage-pool.delete auth_admin_keep
org.libvirt.api.storage-pool.format auth_admin_keep
-org.libvirt.api.storage-pool.getattr auth_admin_keep
-org.libvirt.api.storage-pool.read auth_admin_keep
org.libvirt.api.storage-pool.refresh auth_admin_keep
org.libvirt.api.storage-pool.save auth_admin_keep
org.libvirt.api.storage-pool.search-storage-vols auth_admin_keep
@@ -680,8 +656,6 @@
org.libvirt.api.storage-vol.data-write auth_admin_keep
org.libvirt.api.storage-vol.delete auth_admin_keep
org.libvirt.api.storage-vol.format auth_admin_keep
-org.libvirt.api.storage-vol.getattr auth_admin_keep
-org.libvirt.api.storage-vol.read auth_admin_keep
org.libvirt.api.storage-vol.resize auth_admin_keep
# libvirt (bsc#1100328)
@@ -766,7 +740,6 @@
org.kde.powerdevil.backlighthelper.setbrightnessvalue no:no:yes
# powerdevil action-name changes (bnc#927275)
-org.kde.powerdevil.backlighthelper.brightness no:yes:yes
org.kde.powerdevil.backlighthelper.brightnessmax no:yes:yes
org.kde.powerdevil.backlighthelper.setbrightness no:no:yes
@@ -1010,3 +983,18 @@
# KDE smartctl helper (bsc#1176742)
org.kde.kded.smart.smartctl no:no:auth_admin
+
+# GNOME parental controls, accountservice extensions (bsc#1177974)
+com.endlessm.ParentalControls.AccountInfo.ReadAny auth_admin:auth_admin:yes
+com.endlessm.ParentalControls.AppFilter.ReadOwn auth_admin:auth_admin:yes
+com.endlessm.ParentalControls.SessionLimits.ReadOwn auth_admin:auth_admin:yes
+com.endlessm.ParentalControls.AccountInfo.ChangeAny
no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.AccountInfo.ChangeOwn
no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ChangeAny no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ChangeOwn no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ReadAny no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ChangeAny
no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ChangeOwn
no:auth_admin:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ReadAny
no:auth_admin:auth_admin_keep
+org.freedesktop.MalcontentControl.administration no:no:auth_admin
+com.endlessm.ParentalControls.AccountInfo.ReadOwn auth_admin:auth_admin:yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/profiles/polkit-default-privs.standard
new/polkit-default-privs-1550+20201103.994a5ed/profiles/polkit-default-privs.standard
---
old/polkit-default-privs-1550+20201012.1df5a0d/profiles/polkit-default-privs.standard
2020-10-12 10:40:44.000000000 +0200
+++
new/polkit-default-privs-1550+20201103.994a5ed/profiles/polkit-default-privs.standard
2020-11-03 10:43:56.000000000 +0100
@@ -227,7 +227,7 @@
org.freedesktop.udisks2.btrfs.manage-btrfs
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.filesystem-take-ownership
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.lvm2.manage-lvm
auth_admin:auth_admin:auth_admin_keep
-org.freedesktop.udisks2.manage-led
auth_admin:auth_admin:auth_admin_keep
+org.freedesktop.udisks2.lsm.manage-led
auth_admin:auth_admin:auth_admin_keep
org.freedesktop.udisks2.zram.manage-zram
auth_admin:auth_admin:auth_admin_keep
# bsc#1123747
@@ -332,7 +332,7 @@
org.kde.kcontrol.kcmkdm.managethemes auth_admin_keep
org.kde.kcontrol.kcmkdm.save auth_admin
# kde backlight helper (bnc#672145)
-org.kde.powerdevil.backlighthelper.brightness no:no:yes
+org.kde.powerdevil.backlighthelper.brightness no:yes:yes
org.kde.powerdevil.backlighthelper.setbrightness no:no:yes
# kde powerdevil gpu helper (bsc#1019644)
@@ -608,17 +608,8 @@
# libvirt (bsc#959297)
org.libvirt.api.connect.detect-storage-pools auth_admin_keep
-org.libvirt.api.connect.getattr auth_admin_keep
org.libvirt.api.connect.interface-transaction auth_admin_keep
org.libvirt.api.connect.pm-control auth_admin_keep
-org.libvirt.api.connect.read auth_admin_keep
-org.libvirt.api.connect.search-domains auth_admin_keep
-org.libvirt.api.connect.search-interfaces auth_admin_keep
-org.libvirt.api.connect.search-networks auth_admin_keep
-org.libvirt.api.connect.search-node-devices auth_admin_keep
-org.libvirt.api.connect.search-nwfilters auth_admin_keep
-org.libvirt.api.connect.search-secrets auth_admin_keep
-org.libvirt.api.connect.search-storage-pools auth_admin_keep
org.libvirt.api.connect.write auth_admin_keep
org.libvirt.api.domain.block-read auth_admin_keep
org.libvirt.api.domain.block-write auth_admin_keep
@@ -626,7 +617,6 @@
org.libvirt.api.domain.delete auth_admin_keep
org.libvirt.api.domain.fs-freeze auth_admin_keep
org.libvirt.api.domain.fs-trim auth_admin_keep
-org.libvirt.api.domain.getattr auth_admin_keep
org.libvirt.api.domain.hibernate auth_admin_keep
org.libvirt.api.domain.init-control auth_admin_keep
org.libvirt.api.domain.inject-nmi auth_admin_keep
@@ -636,7 +626,6 @@
org.libvirt.api.domain.open-graphics auth_admin_keep
org.libvirt.api.domain.open-namespace auth_admin_keep
org.libvirt.api.domain.pm-control auth_admin_keep
-org.libvirt.api.domain.read auth_admin_keep
org.libvirt.api.domain.read-secure auth_admin_keep
org.libvirt.api.domain.reset auth_admin_keep
org.libvirt.api.domain.save auth_admin_keep
@@ -651,40 +640,29 @@
org.libvirt.api.domain.suspend auth_admin_keep
org.libvirt.api.domain.write auth_admin_keep
org.libvirt.api.interface.delete auth_admin_keep
-org.libvirt.api.interface.getattr auth_admin_keep
-org.libvirt.api.interface.read auth_admin_keep
org.libvirt.api.interface.save auth_admin_keep
org.libvirt.api.interface.start auth_admin_keep
org.libvirt.api.interface.stop auth_admin_keep
org.libvirt.api.interface.write auth_admin_keep
org.libvirt.api.network.delete auth_admin_keep
-org.libvirt.api.network.getattr auth_admin_keep
-org.libvirt.api.network.read auth_admin_keep
org.libvirt.api.network.save auth_admin_keep
org.libvirt.api.network.start auth_admin_keep
org.libvirt.api.network.stop auth_admin_keep
org.libvirt.api.network.write auth_admin_keep
org.libvirt.api.node-device.detach auth_admin_keep
-org.libvirt.api.node-device.getattr auth_admin_keep
org.libvirt.api.node-device.read auth_admin_keep
org.libvirt.api.node-device.start auth_admin_keep
org.libvirt.api.node-device.stop auth_admin_keep
org.libvirt.api.node-device.write auth_admin_keep
org.libvirt.api.nwfilter.delete auth_admin_keep
-org.libvirt.api.nwfilter.getattr auth_admin_keep
-org.libvirt.api.nwfilter.read auth_admin_keep
org.libvirt.api.nwfilter.save auth_admin_keep
org.libvirt.api.nwfilter.write auth_admin_keep
org.libvirt.api.secret.delete auth_admin_keep
-org.libvirt.api.secret.getattr auth_admin_keep
-org.libvirt.api.secret.read auth_admin_keep
org.libvirt.api.secret.read-secure auth_admin_keep
org.libvirt.api.secret.save auth_admin_keep
org.libvirt.api.secret.write auth_admin_keep
org.libvirt.api.storage-pool.delete auth_admin_keep
org.libvirt.api.storage-pool.format auth_admin_keep
-org.libvirt.api.storage-pool.getattr auth_admin_keep
-org.libvirt.api.storage-pool.read auth_admin_keep
org.libvirt.api.storage-pool.refresh auth_admin_keep
org.libvirt.api.storage-pool.save auth_admin_keep
org.libvirt.api.storage-pool.search-storage-vols auth_admin_keep
@@ -696,56 +674,8 @@
org.libvirt.api.storage-vol.data-write auth_admin_keep
org.libvirt.api.storage-vol.delete auth_admin_keep
org.libvirt.api.storage-vol.format auth_admin_keep
-org.libvirt.api.storage-vol.getattr auth_admin_keep
-org.libvirt.api.storage-vol.read auth_admin_keep
org.libvirt.api.storage-vol.resize auth_admin_keep
-org.libvirt.api.interface.save auth_admin_keep
-org.libvirt.api.interface.start auth_admin_keep
-org.libvirt.api.interface.stop auth_admin_keep
-org.libvirt.api.interface.write auth_admin_keep
-org.libvirt.api.network.delete auth_admin_keep
-org.libvirt.api.network.getattr auth_admin_keep
-org.libvirt.api.network.read auth_admin_keep
-org.libvirt.api.network.save auth_admin_keep
-org.libvirt.api.network.start auth_admin_keep
-org.libvirt.api.network.stop auth_admin_keep
-org.libvirt.api.network.write auth_admin_keep
-org.libvirt.api.node-device.detach auth_admin_keep
-org.libvirt.api.node-device.getattr auth_admin_keep
-org.libvirt.api.node-device.read auth_admin_keep
-org.libvirt.api.node-device.start auth_admin_keep
-org.libvirt.api.node-device.stop auth_admin_keep
-org.libvirt.api.node-device.write auth_admin_keep
-org.libvirt.api.nwfilter.delete auth_admin_keep
-org.libvirt.api.nwfilter.getattr auth_admin_keep
-org.libvirt.api.nwfilter.read auth_admin_keep
-org.libvirt.api.nwfilter.save auth_admin_keep
-org.libvirt.api.nwfilter.write auth_admin_keep
-org.libvirt.api.secret.delete auth_admin_keep
-org.libvirt.api.secret.getattr auth_admin_keep
-org.libvirt.api.secret.read auth_admin_keep
-org.libvirt.api.secret.read-secure auth_admin_keep
-org.libvirt.api.secret.save auth_admin_keep
-org.libvirt.api.secret.write auth_admin_keep
-org.libvirt.api.storage-pool.delete auth_admin_keep
-org.libvirt.api.storage-pool.format auth_admin_keep
-org.libvirt.api.storage-pool.getattr auth_admin_keep
-org.libvirt.api.storage-pool.read auth_admin_keep
-org.libvirt.api.storage-pool.refresh auth_admin_keep
-org.libvirt.api.storage-pool.save auth_admin_keep
-org.libvirt.api.storage-pool.search-storage-vols auth_admin_keep
-org.libvirt.api.storage-pool.start auth_admin_keep
-org.libvirt.api.storage-pool.stop auth_admin_keep
-org.libvirt.api.storage-pool.write auth_admin_keep
-org.libvirt.api.storage-vol.create auth_admin_keep
-org.libvirt.api.storage-vol.data-read auth_admin_keep
-org.libvirt.api.storage-vol.data-write auth_admin_keep
-org.libvirt.api.storage-vol.delete auth_admin_keep
-org.libvirt.api.storage-vol.format auth_admin_keep
-org.libvirt.api.storage-vol.getattr auth_admin_keep
-org.libvirt.api.storage-vol.read auth_admin_keep
-org.libvirt.api.storage-vol.resize auth_admin_keep
# libvirt (bsc#1100328)
org.libvirt.api.connect.search-nwfilter-bindings auth_admin_keep
@@ -830,9 +760,7 @@
org.kde.powerdevil.backlighthelper.setbrightnessvalue no:no:yes
# powerdevil action-name changes (bnc#927275)
-org.kde.powerdevil.backlighthelper.brightness no:yes:yes
org.kde.powerdevil.backlighthelper.brightnessmax no:yes:yes
-org.kde.powerdevil.backlighthelper.setbrightness no:no:yes
# storaged (bnc#915770)
@@ -1073,3 +1001,18 @@
# KDE smartctl helper (bsc#1176742)
org.kde.kded.smart.smartctl no:auth_admin:yes
+
+# GNOME parental controls, accountservice extensions (bsc#1177974)
+com.endlessm.ParentalControls.AccountInfo.ReadAny yes:yes:yes
+com.endlessm.ParentalControls.AppFilter.ReadOwn yes:yes:yes
+com.endlessm.ParentalControls.SessionLimits.ReadOwn yes:yes:yes
+com.endlessm.ParentalControls.AccountInfo.ChangeAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AccountInfo.ChangeOwn
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ChangeAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ChangeOwn
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.AppFilter.ReadAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ChangeAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ChangeOwn
auth_admin_keep:auth_admin_keep:auth_admin_keep
+com.endlessm.ParentalControls.SessionLimits.ReadAny
auth_admin_keep:auth_admin_keep:auth_admin_keep
+org.freedesktop.MalcontentControl.administration no:no:auth_admin_keep
+com.endlessm.ParentalControls.AccountInfo.ReadOwn yes:yes:yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/tools/add_polkit_action.py
new/polkit-default-privs-1550+20201103.994a5ed/tools/add_polkit_action.py
--- old/polkit-default-privs-1550+20201012.1df5a0d/tools/add_polkit_action.py
2020-10-12 10:40:44.000000000 +0200
+++ new/polkit-default-privs-1550+20201103.994a5ed/tools/add_polkit_action.py
2020-11-03 10:43:56.000000000 +0100
@@ -4,11 +4,8 @@
import os, sys
import argparse
-from pathlib import Path
-def printerr(*args, **kwargs):
- kwargs["file"] = sys.stderr
- print(*args, **kwargs)
+from pkcommon import *
epilog = """Example invocation:
@@ -24,15 +21,12 @@
class PolkitActionHandler:
# existing default profiles in increasing order of security
- PROFILES = ("easy", "standard", "restrictive")
# existing authentication type settings in increasing order of security
AUTH_TYPES = ("yes", "auth_self_keep", "auth_self", "auth_admin_keep",
"auth_admin", "no")
AUTH_CATEGORIES = ("any-user", "inactive-session", "active-session")
def __init__(self):
- self.m_profile_dir = Path(__file__).parent.with_name("profiles")
-
self.m_parser = argparse.ArgumentParser(
description = "Adds a new action with associated authentication
settings to the polkit profiles managed by polkit-default-privs",
formatter_class = argparse.RawTextHelpFormatter,
@@ -53,7 +47,7 @@
type = self.parseAction
)
- for profile in self.PROFILES:
+ for profile in PROFILES:
self.m_parser.add_argument(
"--" + profile,
@@ -130,15 +124,11 @@
return s
- def getProfilePath(self, which):
- base = "polkit-default-privs.{}".format(which)
- return self.m_profile_dir / base
-
def run(self):
self.m_args = self.m_parser.parse_args()
# tuple of auth types matching the profiles
- self.m_auth_types = tuple( getattr(self.m_args, profile) for profile
in self.PROFILES )
+ self.m_auth_types = tuple( getattr(self.m_args, profile) for profile
in PROFILES )
if not self.sanityCheck():
printerr("Not adding new action since sanity check(s) failed")
@@ -162,28 +152,24 @@
ret = True
- for profile in self.PROFILES:
+ for profile in PROFILES:
- path = self.getProfilePath(profile)
+ path = getProfilePath(profile)
- with open(path) as fd:
+ for entry in parseProfile(path):
+ if not self.checkDuplicate(entry):
+ ret = False
- nr = 0
- for line in fd.readlines():
- nr += 1
- line = line.strip()
- if not line or line.startswith('#'):
- continue
-
- action = line.split()[0]
- if action == self.m_args.action:
- printerr("ERROR: action to be added already exists in
{}:{}".format(
- path, nr
- ))
- ret = False
+ return ret
+ def checkDuplicate(self, entry):
+ if entry.action == self.m_args.action:
+ printerr("ERROR: action to be added already exists in
{}:{}".format(
+ entry.path, entry.linenr
+ ))
+ return False
- return ret
+ return True
def checkProfileAuthTypeOrder(self):
"""Checks that authentication types are not getting weaker in stronger
@@ -192,14 +178,14 @@
ret = True
strongest = [ self.AUTH_TYPES[0] ] * 3
- for profile, auth_types in zip( self.PROFILES, self.m_auth_types ):
+ for profile, auth_types in zip( PROFILES, self.m_auth_types ):
for nr, old, new in zip( range(len(strongest)), strongest,
auth_types ):
if self.AUTH_TYPES.index(old) > self.AUTH_TYPES.index(new):
printerr("ERROR: Auth type for {} in profile {} is weaker
than in profile {}".format(
self.AUTH_CATEGORIES[nr],
profile,
- self.PROFILES[ self.PROFILES.index(profile) - 1]
+ PROFILES[ PROFILES.index(profile) - 1]
))
ret = False
@@ -242,9 +228,9 @@
def addAction(self):
- for profile, auth_settings in zip(self.PROFILES, self.m_auth_types):
+ for profile, auth_settings in zip(PROFILES, self.m_auth_types):
- path = self.getProfilePath(profile)
+ path = getProfilePath(profile)
with open(path, 'a') as fd:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/tools/pkcommon.py
new/polkit-default-privs-1550+20201103.994a5ed/tools/pkcommon.py
--- old/polkit-default-privs-1550+20201012.1df5a0d/tools/pkcommon.py
1970-01-01 01:00:00.000000000 +0100
+++ new/polkit-default-privs-1550+20201103.994a5ed/tools/pkcommon.py
2020-11-03 10:43:56.000000000 +0100
@@ -0,0 +1,55 @@
+# vim: ts=4 et sw=4 sts=4 :
+import sys
+from pathlib import Path
+
+PROFILES = ("easy", "standard", "restrictive")
+profile_dir = Path(__file__).parent.with_name("profiles")
+
+def printerr(*args, **kwargs):
+ kwargs["file"] = sys.stderr
+ print(*args, **kwargs)
+
+
+def getProfilePath(which):
+ base = "polkit-default-privs.{}".format(which)
+ return profile_dir / base
+
+
+class ProfileEntry:
+
+ path = ""
+ line = ""
+ linenr = 0
+ action = ""
+ settings = tuple()
+
+
+def parseProfile(path):
+ """Parses the profile found in @path and yields each parsed entry as a
+ ProfileEntry instance."""
+
+ with open(path) as fd:
+
+ nr = 0
+
+ for line in fd.readlines():
+ nr += 1
+ line = line.strip()
+ if not line or line.startswith('#'):
+ continue
+
+ parts = line.split()
+ # there can be trailing comments
+ action, settings = parts[:2]
+ settings = settings.split(':')
+ if len(settings) == 1:
+ settings = settings * 3
+
+ entry = ProfileEntry()
+ entry.path = path
+ entry.line = line
+ entry.linenr = nr
+ entry.action = action
+ entry.settings = settings
+
+ yield entry
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/polkit-default-privs-1550+20201012.1df5a0d/tools/remove_duplicate_entries.py
new/polkit-default-privs-1550+20201103.994a5ed/tools/remove_duplicate_entries.py
---
old/polkit-default-privs-1550+20201012.1df5a0d/tools/remove_duplicate_entries.py
1970-01-01 01:00:00.000000000 +0100
+++
new/polkit-default-privs-1550+20201103.994a5ed/tools/remove_duplicate_entries.py
2020-11-03 10:43:56.000000000 +0100
@@ -0,0 +1,76 @@
+#!/usr/bin/python3
+
+# vim: ts=4 et sw=4 sts=4 :
+
+import argparse
+
+from pkcommon import *
+
+class DuplicateEntryRemover:
+
+ def __init__(self):
+ self.m_parser = argparse.ArgumentParser(
+ description = "Removes superfluous duplicate entries from
polkit profiles or warns about conflicting ones."
+ )
+
+
+ def run(self):
+ self.m_args = self.m_parser.parse_args()
+
+ for profile in PROFILES:
+
+ self.m_lines_to_drop = set()
+ self.m_actions_seen = {}
+
+ path = getProfilePath(profile)
+ for entry in parseProfile(path):
+ self.checkDuplicate(entry)
+
+ if self.m_lines_to_drop:
+ self.rewriteProfile(path, self.m_lines_to_drop)
+ else:
+ print("{}: no entries removed".format(path.name.ljust(35)))
+
+
+ def checkDuplicate(self, entry):
+ seen = self.m_actions_seen.get(entry.action, None)
+ if not seen:
+ self.m_actions_seen[entry.action] = entry
+ else:
+ if entry.settings == seen.settings:
+ self.m_lines_to_drop.add(entry.linenr)
+ print("{}:{}: removing redundant entry with same settings as
in line {}".format(
+ entry.path.name.ljust(35),
+ str(entry.linenr).rjust(3),
+ seen.linenr
+ ))
+ else:
+ printerr("{}:{}: {}: conflicting duplicate entry ({}),
previously seen in line {} ({})".format(
+ seen.path.name.ljust(35),
+ str(entry.linenr).rjust(3),
+ seen.action,
+ ':'.join(entry.settings),
+ seen.linenr,
+ ':'.join(seen.settings)
+
+ ))
+
+
+ def rewriteProfile(self, path, lines_to_drop):
+
+ lines = []
+
+ with open(path) as fd:
+
+ for linenr, line in enumerate(fd.readlines(), start = 1):
+
+ if linenr not in lines_to_drop:
+ lines.append(line)
+
+ with open(path, 'w') as fd:
+ fd.write(''.join(lines))
+
+
+if __name__ == '__main__':
+ main = DuplicateEntryRemover()
+ main.run()