• Simon McVittie's avatar
    Mediate auto-activation attempts through AppArmor · dc25979e
    Simon McVittie authored
    Because the recipient process is not yet available, we have to make some
    assumption about its AppArmor profile. Parsing the first word of
    the Exec value and then chasing symlinks seems like too much magic,
    so I've gone for something more explicit. If the .service file contains
    
    AssumedAppArmorLabel=/foo/bar
    
    then we will do the AppArmor query on the assumption that the recipient
    AppArmor label will be as stated. Otherwise, we will do a query
    with an unspecified label, which means that AppArmor rules that do
    specify a peer label will never match it.
    
    Regardless of the result of this query, we will do an independent
    AppArmor query when the activation has actually happened, this time
    with the correct peer label; that second query will still be used
    to decide whether to deliver the message. As a result, if this change
    has any effect, it is to make the bus more restrictive; it does not
    allow anything that would previously have been denied.
    Signed-off-by: 's avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
    Reviewed-by: Philip Withnall's avatarPhilip Withnall <philip.withnall@collabora.co.uk>
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=98666
    dc25979e
Name
Last commit
Last update
..
legacy-config Loading commit data...
systemd-user Loading commit data...
.gitignore Loading commit data...
Makefile.am Loading commit data...
activation-exit-codes.h Loading commit data...
activation-helper-bin.c Loading commit data...
activation-helper.c Loading commit data...
activation-helper.h Loading commit data...
activation.c Loading commit data...
activation.h Loading commit data...
apparmor.c Loading commit data...
apparmor.h Loading commit data...
audit.c Loading commit data...
audit.h Loading commit data...
bus.c Loading commit data...
bus.h Loading commit data...
config-loader-expat.c Loading commit data...
config-parser-common.c Loading commit data...
config-parser-common.h Loading commit data...
config-parser-trivial.c Loading commit data...
config-parser-trivial.h Loading commit data...
config-parser.c Loading commit data...
config-parser.h Loading commit data...
connection.c Loading commit data...
connection.h Loading commit data...
dbus.service.in Loading commit data...
dbus.socket.in Loading commit data...
desktop-file.c Loading commit data...
desktop-file.h Loading commit data...
dir-watch-default.c Loading commit data...
dir-watch-inotify.c Loading commit data...
dir-watch-kqueue.c Loading commit data...
dir-watch.h Loading commit data...
dispatch.c Loading commit data...
dispatch.h Loading commit data...
driver.c Loading commit data...
driver.h Loading commit data...
example-session-disable-stats.conf.in Loading commit data...
example-system-enable-stats.conf.in Loading commit data...
expirelist.c Loading commit data...
expirelist.h Loading commit data...
main.c Loading commit data...
messagebus-config.in Loading commit data...
messagebus.in Loading commit data...
org.freedesktop.dbus-session.plist.in Loading commit data...
policy.c Loading commit data...
policy.h Loading commit data...
rc.messagebus.in Loading commit data...
selinux.c Loading commit data...
selinux.h Loading commit data...
services.c Loading commit data...
services.h Loading commit data...
session.conf.in Loading commit data...
signals.c Loading commit data...
signals.h Loading commit data...
stats.c Loading commit data...
stats.h Loading commit data...
system.conf.in Loading commit data...
test-launch-helper.c Loading commit data...
test-main.c Loading commit data...
test-system.c Loading commit data...
test.c Loading commit data...
test.h Loading commit data...
utils.c Loading commit data...
utils.h Loading commit data...