X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus-scope.c;h=60215a193577fa53a4af1eafac02ca607aff723e;hb=fc07d5d3a982e59d984d6be54342a18028faf7be;hp=fbb4ff5646cdc31174836d140d1f1f29cea8f57e;hpb=de0671ee7fe465e108f62dcbbbe9366f81dd9e9a;p=elogind.git diff --git a/src/core/dbus-scope.c b/src/core/dbus-scope.c index fbb4ff564..60215a193 100644 --- a/src/core/dbus-scope.c +++ b/src/core/dbus-scope.c @@ -25,9 +25,10 @@ #include "dbus-cgroup.h" #include "dbus-kill.h" #include "dbus-scope.h" +#include "dbus.h" #include "bus-util.h" #include "bus-internal.h" -#include "bus-errors.h" +#include "bus-common-errors.h" static int bus_scope_abandon(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { Scope *s = userdata; @@ -37,6 +38,12 @@ static int bus_scope_abandon(sd_bus *bus, sd_bus_message *message, void *userdat assert(message); assert(s); + r = bus_verify_manage_unit_async(UNIT(s)->manager, message, error); + if (r < 0) + return r; + if (r == 0) + return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + r = scope_abandon(s); if (sd_bus_error_is_set(error)) return r;