diff --git a/apparmor.d/abstractions/bus/desktop b/apparmor.d/abstractions/bus/desktop index 0cc04e26..7907c159 100644 --- a/apparmor.d/abstractions/bus/desktop +++ b/apparmor.d/abstractions/bus/desktop @@ -4,12 +4,12 @@ dbus send bus=session path=/org/freedesktop/portal/desktop interface=org.freedesktop.DBus.Properties - member={GetAll,Read} + member={Get,GetAll,Read} peer=(name="{:*,org.freedesktop.portal.Desktop}", label=xdg-desktop-portal), dbus send bus=session path=/org/freedesktop/portal/desktop interface=org.freedesktop.portal.Settings - member=Read + member={Read,ReadAll} peer=(name=:*, label=xdg-desktop-portal), dbus receive bus=session path=/org/freedesktop/portal/desktop @@ -19,12 +19,13 @@ dbus receive bus=session path=/org/freedesktop/portal/desktop interface=org.freedesktop.DBus.Properties - member=GetAll + member={Get,GetAll} peer=(name=:*, label=xdg-desktop-portal), dbus receive bus=session path=/org/freedesktop/portal/desktop interface=org.freedesktop.impl.portal.Settings - member=Read + member={Read,ReadAll} peer=(name=:*, label=xdg-desktop-portal), include if exists +# include diff --git a/apparmor.d/abstractions/bus/hostname b/apparmor.d/abstractions/bus/hostname index 073cd8d8..1161cf87 100644 --- a/apparmor.d/abstractions/bus/hostname +++ b/apparmor.d/abstractions/bus/hostname @@ -7,4 +7,9 @@ member={Get,GetAll} peer=(name="{:*,org.freedesktop.hostname1}", label=systemd-hostnamed), + dbus send bus=system path=/org/freedesktop/hostname1 + interface=org.freedesktop.DBus.Properties + member={Get,GetAll} + peer=(name=org.freedesktop.hostname1), + include if exists diff --git a/apparmor.d/abstractions/bus/network-manager b/apparmor.d/abstractions/bus/network-manager index 62bd4d1e..5852f6be 100644 --- a/apparmor.d/abstractions/bus/network-manager +++ b/apparmor.d/abstractions/bus/network-manager @@ -2,34 +2,34 @@ # Copyright (C) 2023 Alexandre Pujol # SPDX-License-Identifier: GPL-2.0-only + dbus send bus=system path=/org/freedesktop + interface=org.freedesktop.DBus.ObjectManager + member=GetManagedObjects + peer=(name=:*, label=NetworkManager), + dbus send bus=system path=/org/freedesktop/NetworkManager interface=org.freedesktop.DBus.Properties member=GetAll - peer=(name=org.freedesktop.NetworkManager, label=NetworkManager), + peer=(name=:*, label=NetworkManager), dbus send bus=system path=/org/freedesktop/NetworkManager interface=org.freedesktop.NetworkManager - member=GetDevices - peer=(name=org.freedesktop.NetworkManager, label=NetworkManager), - - dbus send bus=system path=/org/freedesktop/NetworkManager/ActiveConnection/@{int} - interface=org.freedesktop.DBus.Properties - member=GetAll - peer=(name=org.freedesktop.NetworkManager, label=NetworkManager), - - dbus send bus=system path=/org/freedesktop/NetworkManager/Devices/@{int} - interface=org.freedesktop.DBus.Properties - member=GetAll - peer=(name=org.freedesktop.NetworkManager, label=NetworkManager), - - dbus send bus=system path=/org/freedesktop/NetworkManager/Settings - interface=org.freedesktop.NetworkManager.Settings - member={GetDevices,ListConnections} - peer=(name=org.freedesktop.NetworkManager, label=NetworkManager), + member=GetPermissions + peer=(name=:*, label=NetworkManager), dbus send bus=system path=/org/freedesktop/NetworkManager/Settings/@{int} interface=org.freedesktop.NetworkManager.Settings.Connection member=GetSettings - peer=(name=org.freedesktop.NetworkManager, label=NetworkManager), + peer=(name=:*, label=NetworkManager), + + dbus receive bus=system path=/org/freedesktop/NetworkManager{,/**} + interface=org.freedesktop.DBus.Properties + member=PropertiesChanged + peer=(name=:*, label=NetworkManager), + + dbus receive bus=system path=/org/freedesktop/NetworkManager + interface=org.freedesktop.DBus.Properties + member=CheckPermissions + peer=(name=:*, label=NetworkManager), include if exists diff --git a/apparmor.d/abstractions/bus/rtkit b/apparmor.d/abstractions/bus/rtkit index 1ee671d4..cdfcd592 100644 --- a/apparmor.d/abstractions/bus/rtkit +++ b/apparmor.d/abstractions/bus/rtkit @@ -7,6 +7,11 @@ member=Get peer=(name=org.freedesktop.RealtimeKit1), + dbus send bus=system path=/org/freedesktop/RealtimeKit1 + interface=org.freedesktop.DBus.Properties + member={Get,GetAll} + peer=(name=:*, label=rtkit-daemon), + dbus send bus=system path=/org/freedesktop/RealtimeKit1 interface=org.freedesktop.RealtimeKit1 member=MakeThread* diff --git a/apparmor.d/abstractions/bus/session-manager b/apparmor.d/abstractions/bus/session-manager index 90bace48..e5a34f6a 100644 --- a/apparmor.d/abstractions/bus/session-manager +++ b/apparmor.d/abstractions/bus/session-manager @@ -42,4 +42,9 @@ member=PropertiesChanged peer=(name=:*, label=gnome-session-binary), + dbus receive bus=session path=/org/gnome/SessionManager/Presence + interface=org.gnome.SessionManager.Presence + member=StatusChanged + peer=(name=:*, label=gnome-session-binary), + include if exists diff --git a/apparmor.d/abstractions/gnome.d/complete b/apparmor.d/abstractions/gnome.d/complete index c2fcfab5..31e80e45 100644 --- a/apparmor.d/abstractions/gnome.d/complete +++ b/apparmor.d/abstractions/gnome.d/complete @@ -4,4 +4,9 @@ include + dbus receive bus=session + interface=org.freedesktop.DBus.Introspectable + member=Introspect + peer=(name=:*, label=gnome-shell), + /var/cache/gio-@{int}.@{int}/gnome-mimeapps.list r,