X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus-manager.c;h=6002d02c5bb50e8a2b0c113086104344e8e46c58;hb=1302759d1581a4df0259cd4499a0908dad5f8b77;hp=d7936fff2047c3b46f1084620ed903664575886c;hpb=ebcf1f97de4f6b1580ae55eb56b1a3939fe6b602;p=elogind.git diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index d7936fff2..6002d02c5 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -547,11 +547,11 @@ static int method_start_transient_unit(sd_bus *bus, sd_bus_message *message, voi if (mode < 0) return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Job mode %s is invalid.", smode); - r = manager_load_unit(m, name, NULL, error, &u); + r = selinux_access_check(bus, message, "start", error); if (r < 0) return r; - r = selinux_unit_access_check(u, bus, message, "start", error); + r = manager_load_unit(m, name, NULL, error, &u); if (r < 0) return r; @@ -774,8 +774,9 @@ static int method_list_jobs(sd_bus *bus, sd_bus_message *message, void *userdata r = sd_bus_message_append( reply, "(usssoo)", j->id, - job_state_to_string(j->state), + j->unit->id, job_type_to_string(j->type), + job_state_to_string(j->state), job_path, unit_path); if (r < 0) @@ -1367,7 +1368,7 @@ static int reply_unit_file_changes_and_free( for (i = 0; i < n_changes; i++) { r = sd_bus_message_append( - message, "(sss)", + reply, "(sss)", unit_file_change_type_to_string(changes[i].type), changes[i].path, changes[i].source); @@ -1379,7 +1380,7 @@ static int reply_unit_file_changes_and_free( if (r < 0) goto fail; - return sd_bus_send(bus, message, NULL); + return sd_bus_send(bus, reply, NULL); fail: unit_file_changes_free(changes, n_changes);