diff options
author | Tyler Hicks <tyhicks@canonical.com> | 2015-02-04 17:53:31 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2015-02-18 20:42:05 +0000 |
commit | 24f1502e42b58a7c238779c023c6bfe870dc78cc (patch) | |
tree | df05ab64c7129955498554e7d02a1577ab1b2dfb /bus/apparmor.c | |
parent | eac45c0484edfdbf5d8d7c0b613c31dc64d2f53b (diff) | |
download | dbus-24f1502e42b58a7c238779c023c6bfe870dc78cc.tar.gz |
Add DBus method to return the AA context of a connection
This is not intended for upstream inclusion. It implements a bus method
(GetConnectionAppArmorSecurityContext) to get a connection's AppArmor
security context but upstream D-Bus has recently added a generic way of
getting a connection's security credentials (GetConnectionCredentials).
Ubuntu should carry this patch until packages in the archive are moved
over to the new, generic method of getting a connection's credentials.
[Altered by Simon McVittie: survive non-UTF-8 contexts which
would otherwise be a local denial of service, except that Ubuntu
inherits a non-fatal warnings patch from Debian; new commit message
taken from the Ubuntu changelog; do not emit unreachable code if
AppArmor is disabled.]
Diffstat (limited to 'bus/apparmor.c')
-rw-r--r-- | bus/apparmor.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bus/apparmor.c b/bus/apparmor.c index 072e2edf..af76ca27 100644 --- a/bus/apparmor.c +++ b/bus/apparmor.c @@ -105,6 +105,21 @@ bus_apparmor_confinement_new (char *label, return confinement; } +const char* +bus_apparmor_confinement_get_label (BusAppArmorConfinement *confinement) +{ +#ifdef HAVE_APPARMOR + if (!apparmor_enabled) + return NULL; + + _dbus_assert (confinement != NULL); + + return confinement->label; +#else + return NULL; +#endif +} + void bus_apparmor_confinement_unref (BusAppArmorConfinement *confinement) { |