X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fdbus-snapshot.c;h=2a5ef448ced3955c569160b241f58bb7cd82f9f7;hp=a4ba588a1d88004145996ceed0ebd683b5764f5e;hb=9f03ee51a2207954ef18be79ca3e11cd14ca56fd;hpb=718db96199eb307751264e4163555662c9a389fa diff --git a/src/core/dbus-snapshot.c b/src/core/dbus-snapshot.c index a4ba588a1..2a5ef448c 100644 --- a/src/core/dbus-snapshot.c +++ b/src/core/dbus-snapshot.c @@ -25,23 +25,26 @@ #include "dbus-unit.h" #include "dbus-snapshot.h" -int bus_snapshot_method_remove(sd_bus *bus, sd_bus_message *message, void *userdata) { +int bus_snapshot_method_remove(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { Snapshot *s = userdata; + int r; assert(bus); assert(message); assert(s); - SELINUX_UNIT_ACCESS_CHECK(UNIT(s), bus, message, "stop"); + r = selinux_unit_access_check(UNIT(s), message, "stop", error); + if (r < 0) + return r; snapshot_remove(s); - return sd_bus_reply_method_return(bus, message, NULL); + return sd_bus_reply_method_return(message, NULL); } const sd_bus_vtable bus_snapshot_vtable[] = { SD_BUS_VTABLE_START(0), SD_BUS_METHOD("Remove", NULL, NULL, bus_snapshot_method_remove, 0), - SD_BUS_PROPERTY("Cleanup", "b", bus_property_get_bool, offsetof(Snapshot, cleanup), 0), + SD_BUS_PROPERTY("Cleanup", "b", bus_property_get_bool, offsetof(Snapshot, cleanup), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_VTABLE_END };