core: Rename error sd_bus_error parameters to reterr_error
This commit is contained in:
committed by
Yu Watanabe
parent
c421392811
commit
27217200f6
@@ -23,7 +23,7 @@ static int bus_automount_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(a);
|
||||
|
||||
@@ -34,16 +34,16 @@ static int bus_automount_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "Where"))
|
||||
return bus_set_transient_path(u, name, &a->where, message, flags, error);
|
||||
return bus_set_transient_path(u, name, &a->where, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ExtraOptions"))
|
||||
return bus_set_transient_string(u, name, &a->extra_options, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &a->extra_options, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimeoutIdleUSec"))
|
||||
return bus_set_transient_usec_fix_0(u, name, &a->timeout_idle_usec, message, flags, error);
|
||||
return bus_set_transient_usec_fix_0(u, name, &a->timeout_idle_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DirectoryMode"))
|
||||
return bus_set_transient_mode_t(u, name, &a->directory_mode, message, flags, error);
|
||||
return bus_set_transient_mode_t(u, name, &a->directory_mode, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -53,7 +53,7 @@ int bus_automount_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Automount *a = AUTOMOUNT(u);
|
||||
|
||||
@@ -62,7 +62,7 @@ int bus_automount_set_property(
|
||||
assert(message);
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB) /* This is a transient unit? let's load a little more */
|
||||
return bus_automount_set_transient_property(a, name, message, flags, error);
|
||||
return bus_automount_set_transient_property(a, name, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7,4 +7,9 @@
|
||||
|
||||
extern const sd_bus_vtable bus_automount_vtable[];
|
||||
|
||||
int bus_automount_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_automount_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+91
-91
@@ -38,7 +38,7 @@ static int property_get_cgroup_mask(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupMask *mask = userdata;
|
||||
int r;
|
||||
@@ -69,7 +69,7 @@ static int property_get_delegate_controllers(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupContext *c = ASSERT_PTR(userdata);
|
||||
|
||||
@@ -79,7 +79,7 @@ static int property_get_delegate_controllers(
|
||||
if (!c->delegate)
|
||||
return sd_bus_message_append(reply, "as", 0);
|
||||
|
||||
return property_get_cgroup_mask(bus, path, interface, property, reply, &c->delegate_controllers, error);
|
||||
return property_get_cgroup_mask(bus, path, interface, property, reply, &c->delegate_controllers, reterr_error);
|
||||
}
|
||||
|
||||
static int property_get_cpuset(
|
||||
@@ -89,7 +89,7 @@ static int property_get_cpuset(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CPUSet *cpus = ASSERT_PTR(userdata);
|
||||
_cleanup_free_ uint8_t *array = NULL;
|
||||
@@ -109,7 +109,7 @@ static int property_get_io_device_weight(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupContext *c = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -137,7 +137,7 @@ static int property_get_io_device_limits(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupContext *c = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -171,7 +171,7 @@ static int property_get_io_device_latency(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupContext *c = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -199,7 +199,7 @@ static int property_get_device_allow(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupContext *c = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -227,7 +227,7 @@ static int property_get_ip_address_access(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Set **prefixes = ASSERT_PTR(userdata);
|
||||
struct in_addr_prefix *i;
|
||||
@@ -270,7 +270,7 @@ static int property_get_bpf_foreign_program(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
CGroupContext *c = userdata;
|
||||
int r;
|
||||
|
||||
@@ -296,7 +296,7 @@ static int property_get_socket_bind(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupSocketBindItem **items = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -321,7 +321,7 @@ static int property_get_restrict_network_interfaces(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupContext *c = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -351,7 +351,7 @@ static int property_get_cgroup_nft_set(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
int r;
|
||||
CGroupContext *c = userdata;
|
||||
|
||||
@@ -456,7 +456,7 @@ static int bus_cgroup_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
int r;
|
||||
|
||||
@@ -471,7 +471,7 @@ static int bus_cgroup_set_transient_property(
|
||||
int b;
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_delegate)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
|
||||
r = sd_bus_message_read(message, "b", &b);
|
||||
if (r < 0)
|
||||
@@ -490,14 +490,14 @@ static int bus_cgroup_set_transient_property(
|
||||
const char *s;
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_delegate)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
|
||||
r = sd_bus_message_read(message, "s", &s);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (!isempty(s) && cg_needs_escape(s))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid control group name: %s", s);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid control group name: %s", s);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
if (isempty(s))
|
||||
@@ -517,7 +517,7 @@ static int bus_cgroup_set_transient_property(
|
||||
CGroupMask mask = 0;
|
||||
|
||||
if (streq(name, "DelegateControllers") && !UNIT_VTABLE(u)->can_delegate)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
|
||||
r = sd_bus_message_enter_container(message, 'a', "s");
|
||||
if (r < 0)
|
||||
@@ -535,7 +535,7 @@ static int bus_cgroup_set_transient_property(
|
||||
|
||||
cc = cgroup_controller_from_string(t);
|
||||
if (cc < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unknown cgroup controller '%s'", t);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Unknown cgroup controller '%s'", t);
|
||||
|
||||
mask |= CGROUP_CONTROLLER_TO_MASK(cc);
|
||||
}
|
||||
@@ -592,7 +592,7 @@ static int bus_cgroup_set_transient_property(
|
||||
break;
|
||||
|
||||
if (!path_is_normalized(path) || !path_is_absolute(path))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects a normalized absolute path.", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects a normalized absolute path.", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags) && !strv_contains(*filters, path)) {
|
||||
r = strv_extend(filters, path);
|
||||
@@ -654,14 +654,14 @@ static int bus_cgroup_set_transient_property(
|
||||
int attach_type = bpf_cgroup_attach_type_from_string(a);
|
||||
if (attach_type < 0)
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"%s expects a valid BPF attach type, got '%s'.",
|
||||
name, a);
|
||||
|
||||
if (!path_is_normalized(p) || !path_is_absolute(p))
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"%s= expects a normalized absolute path.",
|
||||
name);
|
||||
@@ -754,7 +754,7 @@ static int bus_cgroup_set_transient_property(
|
||||
int b;
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_delegate)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Delegation not available for unit type");
|
||||
|
||||
r = sd_bus_message_read(message, "b", &b);
|
||||
if (r < 0)
|
||||
@@ -779,7 +779,7 @@ static int bus_cgroup_set_boolean(
|
||||
CGroupMask mask,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
int b, r;
|
||||
|
||||
@@ -805,7 +805,7 @@ static int bus_cgroup_set_boolean(
|
||||
uint64_t *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
uint64_t v; \
|
||||
int r; \
|
||||
@@ -817,7 +817,7 @@ static int bus_cgroup_set_boolean(
|
||||
return r; \
|
||||
\
|
||||
if (!check(v)) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Value specified in %s is out of range", name); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -842,7 +842,7 @@ static int bus_cgroup_set_boolean(
|
||||
uint64_t *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
uint64_t v; \
|
||||
int r; \
|
||||
@@ -854,7 +854,7 @@ static int bus_cgroup_set_boolean(
|
||||
return r; \
|
||||
\
|
||||
if (v < minimum) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Value specified in %s is out of range", name); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -877,7 +877,7 @@ static int bus_cgroup_set_boolean(
|
||||
uint64_t *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
uint64_t v; \
|
||||
uint32_t raw; \
|
||||
@@ -891,7 +891,7 @@ static int bus_cgroup_set_boolean(
|
||||
\
|
||||
v = scale(raw, UINT32_MAX); \
|
||||
if (v < minimum || v >= UINT64_MAX) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Value specified in %s is out of range", name); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -924,7 +924,7 @@ static int bus_cgroup_set_cpu_weight(
|
||||
uint64_t *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
uint64_t v;
|
||||
int r;
|
||||
assert(p);
|
||||
@@ -933,7 +933,7 @@ static int bus_cgroup_set_cpu_weight(
|
||||
return r;
|
||||
if (!CGROUP_WEIGHT_IS_OK(v) && v != CGROUP_WEIGHT_IDLE)
|
||||
return sd_bus_error_setf(
|
||||
error, SD_BUS_ERROR_INVALID_ARGS, "Value specified in %s is out of range", name);
|
||||
reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Value specified in %s is out of range", name);
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
*p = v;
|
||||
unit_invalidate_cgroup(u, CGROUP_MASK_CPU);
|
||||
@@ -953,7 +953,7 @@ static int bus_cgroup_set_tasks_max(
|
||||
CGroupTasksMax *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
uint64_t v;
|
||||
int r;
|
||||
@@ -965,7 +965,7 @@ static int bus_cgroup_set_tasks_max(
|
||||
return r;
|
||||
|
||||
if (v < 1)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Value specified in %s is out of range", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
@@ -989,7 +989,7 @@ static int bus_cgroup_set_tasks_max_scale(
|
||||
CGroupTasksMax *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
uint32_t v;
|
||||
int r;
|
||||
@@ -1001,7 +1001,7 @@ static int bus_cgroup_set_tasks_max_scale(
|
||||
return r;
|
||||
|
||||
if (v < 1 || v >= UINT32_MAX)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Value specified in %s is out of range", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
@@ -1022,7 +1022,7 @@ int bus_cgroup_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
CGroupIOLimitType iol_type;
|
||||
int r;
|
||||
@@ -1035,156 +1035,156 @@ int bus_cgroup_set_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "CPUWeight"))
|
||||
return bus_cgroup_set_cpu_weight(u, name, &c->cpu_weight, message, flags, error);
|
||||
return bus_cgroup_set_cpu_weight(u, name, &c->cpu_weight, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StartupCPUWeight"))
|
||||
return bus_cgroup_set_cpu_weight(u, name, &c->startup_cpu_weight, message, flags, error);
|
||||
return bus_cgroup_set_cpu_weight(u, name, &c->startup_cpu_weight, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "IOAccounting"))
|
||||
return bus_cgroup_set_boolean(u, name, &c->io_accounting, CGROUP_MASK_IO, message, flags, error);
|
||||
return bus_cgroup_set_boolean(u, name, &c->io_accounting, CGROUP_MASK_IO, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "IOWeight"))
|
||||
return bus_cgroup_set_io_weight(u, name, &c->io_weight, message, flags, error);
|
||||
return bus_cgroup_set_io_weight(u, name, &c->io_weight, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StartupIOWeight"))
|
||||
return bus_cgroup_set_io_weight(u, name, &c->startup_io_weight, message, flags, error);
|
||||
return bus_cgroup_set_io_weight(u, name, &c->startup_io_weight, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MemoryAccounting"))
|
||||
return bus_cgroup_set_boolean(u, name, &c->memory_accounting, CGROUP_MASK_MEMORY, message, flags, error);
|
||||
return bus_cgroup_set_boolean(u, name, &c->memory_accounting, CGROUP_MASK_MEMORY, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MemoryMin")) {
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->memory_min, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->memory_min, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->memory_min_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryLow")) {
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->memory_low, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->memory_low, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->memory_low_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "StartupMemoryLow")) {
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->startup_memory_low, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->startup_memory_low, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->startup_memory_low_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "DefaultMemoryMin")) {
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->default_memory_min, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->default_memory_min, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->default_memory_min_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "DefaultMemoryLow")) {
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->default_memory_low, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->default_memory_low, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->default_memory_low_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "DefaultStartupMemoryLow")) {
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->default_startup_memory_low, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection(u, name, &c->default_startup_memory_low, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->default_startup_memory_low_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryHigh"))
|
||||
return bus_cgroup_set_memory(u, name, &c->memory_high, message, flags, error);
|
||||
return bus_cgroup_set_memory(u, name, &c->memory_high, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StartupMemoryHigh")) {
|
||||
r = bus_cgroup_set_memory(u, name, &c->startup_memory_high, message, flags, error);
|
||||
r = bus_cgroup_set_memory(u, name, &c->startup_memory_high, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->startup_memory_high_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemorySwapMax"))
|
||||
return bus_cgroup_set_swap(u, name, &c->memory_swap_max, message, flags, error);
|
||||
return bus_cgroup_set_swap(u, name, &c->memory_swap_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StartupMemorySwapMax")) {
|
||||
r = bus_cgroup_set_swap(u, name, &c->startup_memory_swap_max, message, flags, error);
|
||||
r = bus_cgroup_set_swap(u, name, &c->startup_memory_swap_max, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->startup_memory_swap_max_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryZSwapMax"))
|
||||
return bus_cgroup_set_zswap(u, name, &c->memory_zswap_max, message, flags, error);
|
||||
return bus_cgroup_set_zswap(u, name, &c->memory_zswap_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StartupMemoryZSwapMax")) {
|
||||
r = bus_cgroup_set_zswap(u, name, &c->startup_memory_zswap_max, message, flags, error);
|
||||
r = bus_cgroup_set_zswap(u, name, &c->startup_memory_zswap_max, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->startup_memory_zswap_max_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryMax"))
|
||||
return bus_cgroup_set_memory(u, name, &c->memory_max, message, flags, error);
|
||||
return bus_cgroup_set_memory(u, name, &c->memory_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StartupMemoryMax")) {
|
||||
r = bus_cgroup_set_memory(u, name, &c->startup_memory_max, message, flags, error);
|
||||
r = bus_cgroup_set_memory(u, name, &c->startup_memory_max, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->startup_memory_max_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryMinScale")) {
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->memory_min, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->memory_min, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->memory_min_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryLowScale")) {
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->memory_low, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->memory_low, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->memory_low_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "DefaultMemoryMinScale")) {
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->default_memory_min, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->default_memory_min, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->default_memory_min_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "DefaultMemoryLowScale")) {
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->default_memory_low, message, flags, error);
|
||||
r = bus_cgroup_set_memory_protection_scale(u, name, &c->default_memory_low, message, flags, reterr_error);
|
||||
if (r > 0)
|
||||
c->default_memory_low_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "MemoryHighScale"))
|
||||
return bus_cgroup_set_memory_scale(u, name, &c->memory_high, message, flags, error);
|
||||
return bus_cgroup_set_memory_scale(u, name, &c->memory_high, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MemorySwapMaxScale"))
|
||||
return bus_cgroup_set_swap_scale(u, name, &c->memory_swap_max, message, flags, error);
|
||||
return bus_cgroup_set_swap_scale(u, name, &c->memory_swap_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MemoryZSwapMaxScale"))
|
||||
return bus_cgroup_set_zswap_scale(u, name, &c->memory_zswap_max, message, flags, error);
|
||||
return bus_cgroup_set_zswap_scale(u, name, &c->memory_zswap_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MemoryMaxScale"))
|
||||
return bus_cgroup_set_memory_scale(u, name, &c->memory_max, message, flags, error);
|
||||
return bus_cgroup_set_memory_scale(u, name, &c->memory_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MemoryZSwapWriteback"))
|
||||
return bus_cgroup_set_boolean(u, name, &c->memory_zswap_writeback, CGROUP_MASK_MEMORY, message, flags, error);
|
||||
return bus_cgroup_set_boolean(u, name, &c->memory_zswap_writeback, CGROUP_MASK_MEMORY, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TasksAccounting"))
|
||||
return bus_cgroup_set_boolean(u, name, &c->tasks_accounting, CGROUP_MASK_PIDS, message, flags, error);
|
||||
return bus_cgroup_set_boolean(u, name, &c->tasks_accounting, CGROUP_MASK_PIDS, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TasksMax"))
|
||||
return bus_cgroup_set_tasks_max(u, name, &c->tasks_max, message, flags, error);
|
||||
return bus_cgroup_set_tasks_max(u, name, &c->tasks_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TasksMaxScale"))
|
||||
return bus_cgroup_set_tasks_max_scale(u, name, &c->tasks_max, message, flags, error);
|
||||
return bus_cgroup_set_tasks_max_scale(u, name, &c->tasks_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "CPUQuotaPerSecUSec")) {
|
||||
uint64_t u64;
|
||||
@@ -1194,7 +1194,7 @@ int bus_cgroup_set_property(
|
||||
return r;
|
||||
|
||||
if (u64 <= 0)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "CPUQuotaPerSecUSec= value out of range");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "CPUQuotaPerSecUSec= value out of range");
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
c->cpu_quota_per_sec_usec = u64;
|
||||
@@ -1289,7 +1289,7 @@ int bus_cgroup_set_property(
|
||||
while ((r = sd_bus_message_read(message, "(st)", &path, &u64)) > 0) {
|
||||
|
||||
if (!path_is_normalized(path))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Path '%s' specified in %s= is not normalized.", name, path);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Path '%s' specified in %s= is not normalized.", name, path);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
CGroupIODeviceLimit *a = NULL;
|
||||
@@ -1372,10 +1372,10 @@ int bus_cgroup_set_property(
|
||||
while ((r = sd_bus_message_read(message, "(st)", &path, &weight)) > 0) {
|
||||
|
||||
if (!path_is_normalized(path))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Path '%s' specified in %s= is not normalized.", name, path);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Path '%s' specified in %s= is not normalized.", name, path);
|
||||
|
||||
if (!CGROUP_WEIGHT_IS_OK(weight) || weight == CGROUP_WEIGHT_INVALID)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "IODeviceWeight= value out of range");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "IODeviceWeight= value out of range");
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
CGroupIODeviceWeight *a = NULL;
|
||||
@@ -1449,7 +1449,7 @@ int bus_cgroup_set_property(
|
||||
while ((r = sd_bus_message_read(message, "(st)", &path, &target)) > 0) {
|
||||
|
||||
if (!path_is_normalized(path))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Path '%s' specified in %s= is not normalized.", name, path);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Path '%s' specified in %s= is not normalized.", name, path);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
CGroupIODeviceLatency *a = NULL;
|
||||
@@ -1544,14 +1544,14 @@ int bus_cgroup_set_property(
|
||||
CGroupDevicePermissions p;
|
||||
|
||||
if (!valid_device_allow_pattern(path) || strpbrk(path, WHITESPACE))
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "DeviceAllow= requires device node or pattern");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "DeviceAllow= requires device node or pattern");
|
||||
|
||||
if (isempty(rwm))
|
||||
p = _CGROUP_DEVICE_PERMISSIONS_ALL;
|
||||
else {
|
||||
p = cgroup_device_permissions_from_string(rwm);
|
||||
if (p < 0)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "DeviceAllow= requires combination of rwm flags");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "DeviceAllow= requires combination of rwm flags");
|
||||
}
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
@@ -1629,7 +1629,7 @@ int bus_cgroup_set_property(
|
||||
break;
|
||||
|
||||
struct in_addr_prefix prefix;
|
||||
r = bus_message_read_in_addr_auto(message, error, &prefix.family, &prefix.address);
|
||||
r = bus_message_read_in_addr_auto(message, reterr_error, &prefix.family, &prefix.address);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -1639,7 +1639,7 @@ int bus_cgroup_set_property(
|
||||
return r;
|
||||
|
||||
if (prefixlen > FAMILY_ADDRESS_SIZE(prefix.family)*8)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Prefix length %" PRIu32 " too large for address family %s.",
|
||||
prefixlen, af_to_name(prefix.family));
|
||||
|
||||
@@ -1713,7 +1713,7 @@ int bus_cgroup_set_property(
|
||||
const char *mode;
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_set_managed_oom)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Cannot set %s for this unit type", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Cannot set %s for this unit type", name);
|
||||
|
||||
r = sd_bus_message_read(message, "s", &mode);
|
||||
if (r < 0)
|
||||
@@ -1736,7 +1736,7 @@ int bus_cgroup_set_property(
|
||||
uint32_t v;
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_set_managed_oom)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Cannot set %s for this unit type", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Cannot set %s for this unit type", name);
|
||||
|
||||
r = sd_bus_message_read(message, "u", &v);
|
||||
if (r < 0)
|
||||
@@ -1759,14 +1759,14 @@ int bus_cgroup_set_property(
|
||||
uint64_t t;
|
||||
|
||||
if (!UNIT_VTABLE(u)->can_set_managed_oom)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Cannot set %s for this unit type", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Cannot set %s for this unit type", name);
|
||||
|
||||
r = sd_bus_message_read(message, "t", &t);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (t < 1 * USEC_PER_SEC)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= must be at least 1s, got %s", name,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "%s= must be at least 1s, got %s", name,
|
||||
FORMAT_TIMESPAN(t, USEC_PER_SEC));
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
@@ -1819,16 +1819,16 @@ int bus_cgroup_set_property(
|
||||
while ((r = sd_bus_message_read(message, "(iiqq)", &family, &ip_protocol, &nr_ports, &port_min)) > 0) {
|
||||
|
||||
if (!IN_SET(family, AF_UNSPEC, AF_INET, AF_INET6))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects INET or INET6 family, if specified.", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects INET or INET6 family, if specified.", name);
|
||||
|
||||
if (!IN_SET(ip_protocol, 0, IPPROTO_TCP, IPPROTO_UDP))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects TCP or UDP protocol, if specified.", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects TCP or UDP protocol, if specified.", name);
|
||||
|
||||
if (port_min + (uint32_t) nr_ports > (1 << 16))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects maximum port value lesser than 65536.", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects maximum port value lesser than 65536.", name);
|
||||
|
||||
if (port_min == 0 && nr_ports != 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects port range starting with positive value.", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "%s= expects port range starting with positive value.", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
_cleanup_free_ CGroupSocketBindItem *item = NULL;
|
||||
@@ -1963,27 +1963,27 @@ int bus_cgroup_set_property(
|
||||
const char *source_name, *nfproto_name;
|
||||
|
||||
if (!IN_SET(source, NFT_SET_SOURCE_CGROUP, NFT_SET_SOURCE_USER, NFT_SET_SOURCE_GROUP))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid source %d.", source);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid source %d.", source);
|
||||
|
||||
source_name = nft_set_source_to_string(source);
|
||||
assert(source_name);
|
||||
|
||||
nfproto_name = nfproto_to_string(nfproto);
|
||||
if (!nfproto_name)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid protocol %d.", nfproto);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid protocol %d.", nfproto);
|
||||
|
||||
if (!nft_identifier_valid(table)) {
|
||||
_cleanup_free_ char *esc = NULL;
|
||||
|
||||
esc = cescape(table);
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid NFT table name %s.", strna(esc));
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid NFT table name %s.", strna(esc));
|
||||
}
|
||||
|
||||
if (!nft_identifier_valid(set)) {
|
||||
_cleanup_free_ char *esc = NULL;
|
||||
|
||||
esc = cescape(set);
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid NFT set name %s.", strna(esc));
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid NFT set name %s.", strna(esc));
|
||||
}
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
@@ -2041,7 +2041,7 @@ int bus_cgroup_set_property(
|
||||
|
||||
/* must be last */
|
||||
if (streq(name, "DisableControllers") || (u->transient && u->load_state == UNIT_STUB))
|
||||
return bus_cgroup_set_transient_property(u, c, name, message, flags, error);
|
||||
return bus_cgroup_set_transient_property(u, c, name, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+23
-3
@@ -7,7 +7,27 @@
|
||||
|
||||
extern const sd_bus_vtable bus_cgroup_vtable[];
|
||||
|
||||
int bus_property_get_tasks_max(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_cgroup_pressure_watch(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_tasks_max(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_property_get_cgroup_pressure_watch(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
int bus_cgroup_set_property(Unit *u, CGroupContext *c, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_cgroup_set_property(
|
||||
Unit *u,
|
||||
CGroupContext *c,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+192
-192
File diff suppressed because it is too large
Load Diff
+61
-8
@@ -26,12 +26,65 @@
|
||||
extern const sd_bus_vtable bus_exec_vtable[];
|
||||
extern const sd_bus_vtable bus_unit_exec_vtable[];
|
||||
|
||||
int bus_property_get_exec_output(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_exec_command(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_exec_command_list(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_exec_ex_command_list(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_exec_preserve_mode(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_exec_output(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_property_get_exec_command(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_property_get_exec_command_list(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_property_get_exec_ex_command_list(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_property_get_exec_preserve_mode(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
int bus_exec_context_set_transient_property(Unit *u, ExecContext *c, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_exec_command(Unit *u, const char *name, ExecCommand **exec_command, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_exec_preserve_mode(Unit *u, const char *name, ExecPreserveMode *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_exec_context_set_transient_property(
|
||||
Unit *u,
|
||||
ExecContext *c,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_set_transient_exec_command(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
ExecCommand **exec_command,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_set_transient_exec_preserve_mode(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
ExecPreserveMode *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+7
-7
@@ -27,7 +27,7 @@ static int property_get_unit(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
_cleanup_free_ char *p = NULL;
|
||||
Job *j = ASSERT_PTR(userdata);
|
||||
@@ -42,13 +42,13 @@ static int property_get_unit(
|
||||
return sd_bus_message_append(reply, "(so)", j->unit->id, p);
|
||||
}
|
||||
|
||||
int bus_job_method_cancel(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
int bus_job_method_cancel(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
Job *j = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
|
||||
assert(message);
|
||||
|
||||
r = mac_selinux_unit_access_check(j->unit, message, "stop", error);
|
||||
r = mac_selinux_unit_access_check(j->unit, message, "stop", reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -56,7 +56,7 @@ int bus_job_method_cancel(sd_bus_message *message, void *userdata, sd_bus_error
|
||||
if (!sd_bus_track_contains(j->bus_track, sd_bus_message_get_sender(message))) {
|
||||
|
||||
/* And for everybody else consult polkit */
|
||||
r = bus_verify_manage_units_async(j->manager, message, error);
|
||||
r = bus_verify_manage_units_async(j->manager, message, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r == 0)
|
||||
@@ -68,7 +68,7 @@ int bus_job_method_cancel(sd_bus_message *message, void *userdata, sd_bus_error
|
||||
return sd_bus_reply_method_return(message, NULL);
|
||||
}
|
||||
|
||||
int bus_job_method_get_waiting_jobs(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
int bus_job_method_get_waiting_jobs(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
|
||||
_cleanup_free_ Job **list = NULL;
|
||||
Job *j = userdata;
|
||||
@@ -142,7 +142,7 @@ const sd_bus_vtable bus_job_vtable[] = {
|
||||
SD_BUS_VTABLE_END
|
||||
};
|
||||
|
||||
static int bus_job_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_job_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
Job *j;
|
||||
int r;
|
||||
@@ -160,7 +160,7 @@ static int bus_job_find(sd_bus *bus, const char *path, const char *interface, vo
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_job_enumerate(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
|
||||
static int bus_job_enumerate(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *reterr_error) {
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
Manager *m = userdata;
|
||||
unsigned k = 0;
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@
|
||||
extern const sd_bus_vtable bus_job_vtable[];
|
||||
extern const BusObjectImplementation job_object;
|
||||
|
||||
int bus_job_method_cancel(sd_bus_message *message, void *job, sd_bus_error *error);
|
||||
int bus_job_method_get_waiting_jobs(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_job_method_cancel(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_job_method_get_waiting_jobs(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
|
||||
void bus_job_send_change_signal(Job *j);
|
||||
void bus_job_send_pending_change_signal(Job *j, bool including_new);
|
||||
|
||||
@@ -16,7 +16,7 @@ static int property_get_restart_kill_signal(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
KillContext *c = ASSERT_PTR(userdata);
|
||||
int s;
|
||||
|
||||
@@ -48,7 +48,7 @@ int bus_kill_context_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
assert(u);
|
||||
assert(c);
|
||||
@@ -58,25 +58,25 @@ int bus_kill_context_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "KillMode"))
|
||||
return bus_set_transient_kill_mode(u, name, &c->kill_mode, message, flags, error);
|
||||
return bus_set_transient_kill_mode(u, name, &c->kill_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SendSIGHUP"))
|
||||
return bus_set_transient_bool(u, name, &c->send_sighup, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &c->send_sighup, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SendSIGKILL"))
|
||||
return bus_set_transient_bool(u, name, &c->send_sigkill, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &c->send_sigkill, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "KillSignal"))
|
||||
return bus_set_transient_kill_signal(u, name, &c->kill_signal, message, flags, error);
|
||||
return bus_set_transient_kill_signal(u, name, &c->kill_signal, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartKillSignal"))
|
||||
return bus_set_transient_restart_kill_signal(u, name, &c->restart_kill_signal, message, flags, error);
|
||||
return bus_set_transient_restart_kill_signal(u, name, &c->restart_kill_signal, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FinalKillSignal"))
|
||||
return bus_set_transient_final_kill_signal(u, name, &c->final_kill_signal, message, flags, error);
|
||||
return bus_set_transient_final_kill_signal(u, name, &c->final_kill_signal, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "WatchdogSignal"))
|
||||
return bus_set_transient_watchdog_signal(u, name, &c->watchdog_signal, message, flags, error);
|
||||
return bus_set_transient_watchdog_signal(u, name, &c->watchdog_signal, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7,4 +7,10 @@
|
||||
|
||||
extern const sd_bus_vtable bus_kill_vtable[];
|
||||
|
||||
int bus_kill_context_set_transient_property(Unit *u, KillContext *c, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_kill_context_set_transient_property(
|
||||
Unit *u,
|
||||
KillContext *c,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+327
-327
File diff suppressed because it is too large
Load Diff
+24
-3
@@ -8,11 +8,32 @@
|
||||
extern const sd_bus_vtable bus_manager_vtable[];
|
||||
extern const sd_bus_vtable bus_manager_log_control_vtable[];
|
||||
|
||||
void bus_manager_send_finished(Manager *m, usec_t firmware_usec, usec_t loader_usec, usec_t kernel_usec, usec_t initrd_usec, usec_t userspace_usec, usec_t total_usec);
|
||||
void bus_manager_send_finished(
|
||||
Manager *m,
|
||||
usec_t firmware_usec,
|
||||
usec_t loader_usec,
|
||||
usec_t kernel_usec,
|
||||
usec_t initrd_usec,
|
||||
usec_t userspace_usec,
|
||||
usec_t total_usec);
|
||||
void bus_manager_send_reloading(Manager *m, bool active);
|
||||
void bus_manager_send_change_signal(Manager *m);
|
||||
|
||||
int verify_run_space_and_log(const char *message);
|
||||
|
||||
int bus_property_get_oom_policy(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_emergency_action(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error);
|
||||
int bus_property_get_oom_policy(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_property_get_emergency_action(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+19
-19
@@ -18,7 +18,7 @@ static int property_get_where(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Mount *m = ASSERT_PTR(userdata);
|
||||
|
||||
@@ -39,7 +39,7 @@ static int property_get_what(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
_cleanup_free_ char *escaped = NULL;
|
||||
Mount *m = ASSERT_PTR(userdata);
|
||||
@@ -61,7 +61,7 @@ static int property_get_options(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
_cleanup_free_ char *escaped = NULL;
|
||||
Mount *m = ASSERT_PTR(userdata);
|
||||
@@ -109,7 +109,7 @@ static int bus_mount_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(m);
|
||||
int r;
|
||||
@@ -121,7 +121,7 @@ static int bus_mount_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "Where"))
|
||||
return bus_set_transient_path(u, name, &m->where, message, flags, error);
|
||||
return bus_set_transient_path(u, name, &m->where, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "What")) {
|
||||
_cleanup_free_ char *path = NULL;
|
||||
@@ -138,7 +138,7 @@ static int bus_mount_set_transient_property(
|
||||
|
||||
/* path_is_valid is not used - see the comment for config_parse_mount_node */
|
||||
if (strlen(path) >= PATH_MAX)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Resolved What=%s too long", path);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Resolved What=%s too long", path);
|
||||
}
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
@@ -150,28 +150,28 @@ static int bus_mount_set_transient_property(
|
||||
}
|
||||
|
||||
if (streq(name, "Options"))
|
||||
return bus_set_transient_string(u, name, &m->parameters_fragment.options, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &m->parameters_fragment.options, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Type"))
|
||||
return bus_set_transient_string(u, name, &m->parameters_fragment.fstype, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &m->parameters_fragment.fstype, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimeoutUSec"))
|
||||
return bus_set_transient_usec_fix_0(u, name, &m->timeout_usec, message, flags, error);
|
||||
return bus_set_transient_usec_fix_0(u, name, &m->timeout_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DirectoryMode"))
|
||||
return bus_set_transient_mode_t(u, name, &m->directory_mode, message, flags, error);
|
||||
return bus_set_transient_mode_t(u, name, &m->directory_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SloppyOptions"))
|
||||
return bus_set_transient_bool(u, name, &m->sloppy_options, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &m->sloppy_options, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "LazyUnmount"))
|
||||
return bus_set_transient_bool(u, name, &m->lazy_unmount, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &m->lazy_unmount, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ForceUnmount"))
|
||||
return bus_set_transient_bool(u, name, &m->force_unmount, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &m->force_unmount, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ReadWriteOnly"))
|
||||
return bus_set_transient_bool(u, name, &m->read_write_only, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &m->read_write_only, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -181,7 +181,7 @@ int bus_mount_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Mount *m = MOUNT(u);
|
||||
int r;
|
||||
@@ -190,22 +190,22 @@ int bus_mount_set_property(
|
||||
assert(name);
|
||||
assert(message);
|
||||
|
||||
r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, flags, error);
|
||||
r = bus_cgroup_set_property(u, &m->cgroup_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB) {
|
||||
/* This is a transient unit, let's load a little more */
|
||||
|
||||
r = bus_mount_set_transient_property(m, name, message, flags, error);
|
||||
r = bus_mount_set_transient_property(m, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, flags, error);
|
||||
r = bus_exec_context_set_transient_property(u, &m->exec_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, flags, error);
|
||||
r = bus_kill_context_set_transient_property(u, &m->kill_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -7,5 +7,10 @@
|
||||
|
||||
extern const sd_bus_vtable bus_mount_vtable[];
|
||||
|
||||
int bus_mount_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_mount_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_mount_commit_properties(Unit *u);
|
||||
|
||||
+11
-11
@@ -19,7 +19,7 @@ static int property_get_paths(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Path *p = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -57,7 +57,7 @@ static int bus_path_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(p);
|
||||
int r;
|
||||
@@ -69,10 +69,10 @@ static int bus_path_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "MakeDirectory"))
|
||||
return bus_set_transient_bool(u, name, &p->make_directory, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &p->make_directory, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DirectoryMode"))
|
||||
return bus_set_transient_mode_t(u, name, &p->directory_mode, message, flags, error);
|
||||
return bus_set_transient_mode_t(u, name, &p->directory_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Paths")) {
|
||||
const char *type_name, *path;
|
||||
@@ -87,13 +87,13 @@ static int bus_path_set_transient_property(
|
||||
|
||||
t = path_type_from_string(type_name);
|
||||
if (t < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unknown path type: %s", type_name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Unknown path type: %s", type_name);
|
||||
|
||||
if (isempty(path))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Path in %s is empty", type_name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Path in %s is empty", type_name);
|
||||
|
||||
if (!path_is_absolute(path))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Path in %s is not absolute: %s", type_name, path);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Path in %s is not absolute: %s", type_name, path);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
_cleanup_free_ char *k = NULL;
|
||||
@@ -136,10 +136,10 @@ static int bus_path_set_transient_property(
|
||||
}
|
||||
|
||||
if (streq(name, "TriggerLimitBurst"))
|
||||
return bus_set_transient_unsigned(u, name, &p->trigger_limit.burst, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &p->trigger_limit.burst, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TriggerLimitIntervalUSec"))
|
||||
return bus_set_transient_usec(u, name, &p->trigger_limit.interval, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &p->trigger_limit.interval, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -149,7 +149,7 @@ int bus_path_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags mode,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Path *p = PATH(u);
|
||||
|
||||
@@ -158,7 +158,7 @@ int bus_path_set_property(
|
||||
assert(message);
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB)
|
||||
return bus_path_set_transient_property(p, name, message, mode, error);
|
||||
return bus_path_set_transient_property(p, name, message, mode, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7,4 +7,9 @@
|
||||
|
||||
extern const sd_bus_vtable bus_path_vtable[];
|
||||
|
||||
int bus_path_set_property(Unit *u, const char *name, sd_bus_message *i, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_path_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+19
-19
@@ -16,17 +16,17 @@
|
||||
#include "string-util.h"
|
||||
#include "unit.h"
|
||||
|
||||
int bus_scope_method_abandon(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
int bus_scope_method_abandon(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
Scope *s = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
|
||||
assert(message);
|
||||
|
||||
r = mac_selinux_unit_access_check(UNIT(s), message, "stop", error);
|
||||
r = mac_selinux_unit_access_check(UNIT(s), message, "stop", reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = bus_verify_manage_units_async(UNIT(s)->manager, message, error);
|
||||
r = bus_verify_manage_units_async(UNIT(s)->manager, message, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r == 0)
|
||||
@@ -34,7 +34,7 @@ int bus_scope_method_abandon(sd_bus_message *message, void *userdata, sd_bus_err
|
||||
|
||||
r = scope_abandon(s);
|
||||
if (r == -ESTALE)
|
||||
return sd_bus_error_setf(error, BUS_ERROR_SCOPE_NOT_RUNNING, "Scope %s is not running, cannot abandon.", UNIT(s)->id);
|
||||
return sd_bus_error_setf(reterr_error, BUS_ERROR_SCOPE_NOT_RUNNING, "Scope %s is not running, cannot abandon.", UNIT(s)->id);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -62,7 +62,7 @@ static int bus_scope_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(s);
|
||||
int r;
|
||||
@@ -74,16 +74,16 @@ static int bus_scope_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "TimeoutStopUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->timeout_stop_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->timeout_stop_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RuntimeMaxUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->runtime_max_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->runtime_max_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RuntimeRandomizedExtraUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->runtime_rand_extra_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->runtime_rand_extra_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "OOMPolicy"))
|
||||
return bus_set_transient_oom_policy(u, name, &s->oom_policy, message, flags, error);
|
||||
return bus_set_transient_oom_policy(u, name, &s->oom_policy, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PIDs")) {
|
||||
_cleanup_(pidref_done) PidRef sender_pidref = PIDREF_NULL;
|
||||
@@ -120,7 +120,7 @@ static int bus_scope_set_transient_property(
|
||||
p = &pidref;
|
||||
}
|
||||
|
||||
r = unit_pid_attachable(u, p, error);
|
||||
r = unit_pid_attachable(u, p, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -161,7 +161,7 @@ static int bus_scope_set_transient_property(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = unit_pid_attachable(u, &pidref, error);
|
||||
r = unit_pid_attachable(u, &pidref, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -187,14 +187,14 @@ static int bus_scope_set_transient_property(
|
||||
/* We can't support direct connections with this, as direct connections know no service or unique name
|
||||
* concept, but the Controller field stores exactly that. */
|
||||
if (sd_bus_message_get_bus(message) != u->manager->api_bus)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_NOT_SUPPORTED, "Sorry, Controller= logic only supported via the bus.");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_NOT_SUPPORTED, "Sorry, Controller= logic only supported via the bus.");
|
||||
|
||||
r = sd_bus_message_read(message, "s", &controller);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (!isempty(controller) && !sd_bus_service_name_is_valid(controller))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Controller '%s' is not a valid bus name.", controller);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Controller '%s' is not a valid bus name.", controller);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
r = free_and_strdup(&s->controller, empty_to_null(controller));
|
||||
@@ -213,7 +213,7 @@ int bus_scope_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Scope *s = SCOPE(u);
|
||||
int r;
|
||||
@@ -222,26 +222,26 @@ int bus_scope_set_property(
|
||||
assert(name);
|
||||
assert(message);
|
||||
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, error);
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
if (u->load_state == UNIT_STUB) {
|
||||
/* While we are created we still accept PIDs */
|
||||
|
||||
r = bus_scope_set_transient_property(s, name, message, flags, error);
|
||||
r = bus_scope_set_transient_property(s, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_kill_context_set_transient_property(u, &s->kill_context, name, message, flags, error);
|
||||
r = bus_kill_context_set_transient_property(u, &s->kill_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
if (streq(name, "User"))
|
||||
return bus_set_transient_user_relaxed(u, name, &s->user, message, flags, error);
|
||||
return bus_set_transient_user_relaxed(u, name, &s->user, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Group"))
|
||||
return bus_set_transient_user_relaxed(u, name, &s->group, message, flags, error);
|
||||
return bus_set_transient_user_relaxed(u, name, &s->group, message, flags, reterr_error);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -7,11 +7,16 @@
|
||||
|
||||
extern const sd_bus_vtable bus_scope_vtable[];
|
||||
|
||||
int bus_scope_set_property(Unit *u, const char *name, sd_bus_message *i, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_scope_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_scope_commit_properties(Unit *u);
|
||||
|
||||
int bus_scope_send_request_stop(Scope *s);
|
||||
|
||||
int bus_scope_method_abandon(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_scope_method_abandon(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
|
||||
int bus_scope_track_controller(Scope *s);
|
||||
|
||||
+71
-71
@@ -51,7 +51,7 @@ static int property_get_open_files(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
OpenFile **open_files = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -79,7 +79,7 @@ static int property_get_extra_file_descriptors(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Service *s = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -107,7 +107,7 @@ static int property_get_exit_status_set(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
const ExitStatusSet *status_set = ASSERT_PTR(userdata);
|
||||
unsigned n;
|
||||
@@ -159,7 +159,7 @@ static int property_get_exit_status_set(
|
||||
return sd_bus_message_close_container(reply);
|
||||
}
|
||||
|
||||
static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_bus_error *error, bool is_image) {
|
||||
static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error, bool is_image) {
|
||||
MountInNamespaceFlags flags = 0;
|
||||
Unit *u = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -167,13 +167,13 @@ static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_
|
||||
assert(message);
|
||||
|
||||
if (!MANAGER_IS_SYSTEM(u->manager))
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_NOT_SUPPORTED, "Adding bind mounts at runtime is only supported by system manager");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_NOT_SUPPORTED, "Adding bind mounts at runtime is only supported by system manager");
|
||||
|
||||
r = unit_can_live_mount(u, error);
|
||||
r = unit_can_live_mount(u, reterr_error);
|
||||
if (r < 0)
|
||||
return log_unit_debug_errno(u, r, "Cannot schedule live mount operation: %s", bus_error_message(error, r));
|
||||
return log_unit_debug_errno(u, r, "Cannot schedule live mount operation: %s", bus_error_message(reterr_error, r));
|
||||
|
||||
r = mac_selinux_unit_access_check(u, message, "start", error);
|
||||
r = mac_selinux_unit_access_check(u, message, "start", reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -186,15 +186,15 @@ static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_
|
||||
return r;
|
||||
|
||||
if (!path_is_absolute(src) || !path_is_normalized(src))
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Source path must be absolute and normalized");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Source path must be absolute and normalized");
|
||||
|
||||
if (!is_image && isempty(dest))
|
||||
dest = src;
|
||||
else if (!path_is_absolute(dest) || !path_is_normalized(dest))
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Destination path must be absolute and normalized");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Destination path must be absolute and normalized");
|
||||
|
||||
if (is_image) {
|
||||
r = bus_read_mount_options(message, error, &options, NULL, "");
|
||||
r = bus_read_mount_options(message, reterr_error, &options, NULL, "");
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
@@ -204,7 +204,7 @@ static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_
|
||||
is_image ? "mount-image" : "bind-mount",
|
||||
N_("Authentication is required to mount on '$(unit)'."),
|
||||
message,
|
||||
error);
|
||||
reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r == 0)
|
||||
@@ -217,34 +217,34 @@ static int bus_service_method_mount(sd_bus_message *message, void *userdata, sd_
|
||||
if (make_file_or_directory)
|
||||
flags |= MOUNT_IN_NAMESPACE_MAKE_FILE_OR_DIRECTORY;
|
||||
|
||||
r = unit_live_mount(u, src, dest, message, flags, options, error);
|
||||
r = unit_live_mount(u, src, dest, message, flags, options, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int bus_service_method_bind_mount(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
return bus_service_method_mount(message, userdata, error, false);
|
||||
int bus_service_method_bind_mount(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
return bus_service_method_mount(message, userdata, reterr_error, false);
|
||||
}
|
||||
|
||||
int bus_service_method_mount_image(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
return bus_service_method_mount(message, userdata, error, true);
|
||||
int bus_service_method_mount_image(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
return bus_service_method_mount(message, userdata, reterr_error, true);
|
||||
}
|
||||
|
||||
int bus_service_method_dump_file_descriptor_store(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
int bus_service_method_dump_file_descriptor_store(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
|
||||
Service *s = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
|
||||
assert(message);
|
||||
|
||||
r = mac_selinux_unit_access_check(UNIT(s), message, "status", error);
|
||||
r = mac_selinux_unit_access_check(UNIT(s), message, "status", reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (s->n_fd_store_max == 0 && s->n_fd_store == 0)
|
||||
return sd_bus_error_setf(error, BUS_ERROR_FILE_DESCRIPTOR_STORE_DISABLED, "File descriptor store not enabled for %s.", UNIT(s)->id);
|
||||
return sd_bus_error_setf(reterr_error, BUS_ERROR_FILE_DESCRIPTOR_STORE_DISABLED, "File descriptor store not enabled for %s.", UNIT(s)->id);
|
||||
|
||||
r = sd_bus_message_new_method_return(message, &reply);
|
||||
if (r < 0)
|
||||
@@ -306,7 +306,7 @@ static int property_get_size_as_uint32(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
size_t *value = ASSERT_PTR(userdata);
|
||||
uint32_t sz = *value >= UINT32_MAX ? UINT32_MAX : (uint32_t) *value;
|
||||
@@ -424,7 +424,7 @@ static int bus_set_transient_exit_status(
|
||||
ExitStatusSet *status_set,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
const int32_t *status, *signal;
|
||||
size_t n_status, n_signal, i;
|
||||
@@ -457,7 +457,7 @@ static int bus_set_transient_exit_status(
|
||||
|
||||
for (i = 0; i < n_status; i++) {
|
||||
if (status[i] < 0 || status[i] > 255)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid status code in %s: %"PRIi32, name, status[i]);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid status code in %s: %"PRIi32, name, status[i]);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
r = bitmap_set(&status_set->status, status[i]);
|
||||
@@ -473,7 +473,7 @@ static int bus_set_transient_exit_status(
|
||||
|
||||
str = signal_to_string((int) signal[i]);
|
||||
if (!str)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid signal in %s: %"PRIi32, name, signal[i]);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid signal in %s: %"PRIi32, name, signal[i]);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
r = bitmap_set(&status_set->signal, signal[i]);
|
||||
@@ -495,7 +495,7 @@ static int bus_set_transient_exec_context_fd(
|
||||
int verify_mode,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
int fd, r;
|
||||
|
||||
@@ -513,7 +513,7 @@ static int bus_set_transient_exec_context_fd(
|
||||
else
|
||||
r = fd_vet_accmode(fd, verify_mode);
|
||||
if (r < 0)
|
||||
return sd_bus_error_set_errnof(error, r, "%s passed is of incompatible type: %m", name);
|
||||
return sd_bus_error_set_errnof(reterr_error, r, "%s passed is of incompatible type: %m", name);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
int copy;
|
||||
@@ -544,7 +544,7 @@ static int bus_service_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(s);
|
||||
ServiceExecCommand ci;
|
||||
@@ -557,37 +557,37 @@ static int bus_service_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "PermissionsStartOnly"))
|
||||
return bus_set_transient_bool(u, name, &s->permissions_start_only, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->permissions_start_only, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RootDirectoryStartOnly"))
|
||||
return bus_set_transient_bool(u, name, &s->root_directory_start_only, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->root_directory_start_only, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RemainAfterExit"))
|
||||
return bus_set_transient_bool(u, name, &s->remain_after_exit, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->remain_after_exit, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "GuessMainPID"))
|
||||
return bus_set_transient_bool(u, name, &s->guess_main_pid, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->guess_main_pid, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Type"))
|
||||
return bus_set_transient_service_type(u, name, &s->type, message, flags, error);
|
||||
return bus_set_transient_service_type(u, name, &s->type, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ExitType"))
|
||||
return bus_set_transient_service_exit_type(u, name, &s->exit_type, message, flags, error);
|
||||
return bus_set_transient_service_exit_type(u, name, &s->exit_type, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "OOMPolicy"))
|
||||
return bus_set_transient_oom_policy(u, name, &s->oom_policy, message, flags, error);
|
||||
return bus_set_transient_oom_policy(u, name, &s->oom_policy, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->restart_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->restart_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartSteps"))
|
||||
return bus_set_transient_unsigned(u, name, &s->restart_steps, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->restart_steps, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartMaxDelayUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->restart_max_delay_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->restart_max_delay_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimeoutStartUSec")) {
|
||||
r = bus_set_transient_usec(u, name, &s->timeout_start_usec, message, flags, error);
|
||||
r = bus_set_transient_usec(u, name, &s->timeout_start_usec, message, flags, reterr_error);
|
||||
if (r >= 0 && !UNIT_WRITE_FLAGS_NOOP(flags))
|
||||
s->start_timeout_defined = true;
|
||||
|
||||
@@ -595,38 +595,38 @@ static int bus_service_set_transient_property(
|
||||
}
|
||||
|
||||
if (streq(name, "TimeoutStopUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->timeout_stop_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->timeout_stop_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimeoutAbortUSec")) {
|
||||
r = bus_set_transient_usec(u, name, &s->timeout_abort_usec, message, flags, error);
|
||||
r = bus_set_transient_usec(u, name, &s->timeout_abort_usec, message, flags, reterr_error);
|
||||
if (r >= 0 && !UNIT_WRITE_FLAGS_NOOP(flags))
|
||||
s->timeout_abort_set = true;
|
||||
return r;
|
||||
}
|
||||
|
||||
if (streq(name, "TimeoutStartFailureMode"))
|
||||
return bus_set_transient_timeout_failure_mode(u, name, &s->timeout_start_failure_mode, message, flags, error);
|
||||
return bus_set_transient_timeout_failure_mode(u, name, &s->timeout_start_failure_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimeoutStopFailureMode"))
|
||||
return bus_set_transient_timeout_failure_mode(u, name, &s->timeout_stop_failure_mode, message, flags, error);
|
||||
return bus_set_transient_timeout_failure_mode(u, name, &s->timeout_stop_failure_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RuntimeMaxUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->runtime_max_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->runtime_max_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RuntimeRandomizedExtraUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->runtime_rand_extra_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->runtime_rand_extra_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "WatchdogUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->watchdog_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->watchdog_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FileDescriptorStoreMax"))
|
||||
return bus_set_transient_unsigned(u, name, &s->n_fd_store_max, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->n_fd_store_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FileDescriptorStorePreserve"))
|
||||
return bus_set_transient_exec_preserve_mode(u, name, &s->fd_store_preserve_mode, message, flags, error);
|
||||
return bus_set_transient_exec_preserve_mode(u, name, &s->fd_store_preserve_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "NotifyAccess"))
|
||||
return bus_set_transient_notify_access(u, name, &s->notify_access, message, flags, error);
|
||||
return bus_set_transient_notify_access(u, name, &s->notify_access, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PIDFile")) {
|
||||
_cleanup_free_ char *n = NULL;
|
||||
@@ -644,7 +644,7 @@ static int bus_service_set_transient_property(
|
||||
path_simplify(n);
|
||||
|
||||
if (!path_is_normalized(n))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "PIDFile= path '%s' is not valid", n);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "PIDFile= path '%s' is not valid", n);
|
||||
|
||||
e = path_startswith(n, "/var/run/");
|
||||
if (e) {
|
||||
@@ -671,43 +671,43 @@ static int bus_service_set_transient_property(
|
||||
}
|
||||
|
||||
if (streq(name, "USBFunctionDescriptors"))
|
||||
return bus_set_transient_path(u, name, &s->usb_function_descriptors, message, flags, error);
|
||||
return bus_set_transient_path(u, name, &s->usb_function_descriptors, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "USBFunctionStrings"))
|
||||
return bus_set_transient_path(u, name, &s->usb_function_strings, message, flags, error);
|
||||
return bus_set_transient_path(u, name, &s->usb_function_strings, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "BusName"))
|
||||
return bus_set_transient_bus_name(u, name, &s->bus_name, message, flags, error);
|
||||
return bus_set_transient_bus_name(u, name, &s->bus_name, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Restart"))
|
||||
return bus_set_transient_service_restart(u, name, &s->restart, message, flags, error);
|
||||
return bus_set_transient_service_restart(u, name, &s->restart, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartMode"))
|
||||
return bus_set_transient_service_restart_mode(u, name, &s->restart_mode, message, flags, error);
|
||||
return bus_set_transient_service_restart_mode(u, name, &s->restart_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartPreventExitStatus"))
|
||||
return bus_set_transient_exit_status(u, name, &s->restart_prevent_status, message, flags, error);
|
||||
return bus_set_transient_exit_status(u, name, &s->restart_prevent_status, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RestartForceExitStatus"))
|
||||
return bus_set_transient_exit_status(u, name, &s->restart_force_status, message, flags, error);
|
||||
return bus_set_transient_exit_status(u, name, &s->restart_force_status, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SuccessExitStatus"))
|
||||
return bus_set_transient_exit_status(u, name, &s->success_status, message, flags, error);
|
||||
return bus_set_transient_exit_status(u, name, &s->success_status, message, flags, reterr_error);
|
||||
|
||||
ci = service_exec_command_from_string(name);
|
||||
if (ci < 0)
|
||||
ci = service_exec_ex_command_from_string(name);
|
||||
if (ci >= 0)
|
||||
return bus_set_transient_exec_command(u, name, &s->exec_command[ci], message, flags, error);
|
||||
return bus_set_transient_exec_command(u, name, &s->exec_command[ci], message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StandardInputFileDescriptor"))
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->stdin_fd, &s->exec_context.stdio_as_fds, O_RDONLY, message, flags, error);
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->stdin_fd, &s->exec_context.stdio_as_fds, O_RDONLY, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StandardOutputFileDescriptor"))
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->stdout_fd, &s->exec_context.stdio_as_fds, O_WRONLY, message, flags, error);
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->stdout_fd, &s->exec_context.stdio_as_fds, O_WRONLY, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "StandardErrorFileDescriptor"))
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->stderr_fd, &s->exec_context.stdio_as_fds, O_WRONLY, message, flags, error);
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->stderr_fd, &s->exec_context.stdio_as_fds, O_WRONLY, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "OpenFile")) {
|
||||
const char *path, *fdname;
|
||||
@@ -744,7 +744,7 @@ static int bus_service_set_transient_property(
|
||||
r = open_file_to_string(of, &ofs);
|
||||
if (r < 0)
|
||||
return sd_bus_error_set_errnof(
|
||||
error, r, "Failed to convert OpenFile= value to string: %m");
|
||||
reterr_error, r, "Failed to convert OpenFile= value to string: %m");
|
||||
|
||||
LIST_APPEND(open_files, s->open_files, TAKE_PTR(of));
|
||||
unit_write_settingf(u, flags | UNIT_ESCAPE_SPECIFIERS, name, "OpenFile=%s", ofs);
|
||||
@@ -760,7 +760,7 @@ static int bus_service_set_transient_property(
|
||||
}
|
||||
|
||||
if (streq(name, "ReloadSignal"))
|
||||
return bus_set_transient_reload_signal(u, name, &s->reload_signal, message, flags, error);
|
||||
return bus_set_transient_reload_signal(u, name, &s->reload_signal, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ExtraFileDescriptors")) {
|
||||
r = sd_bus_message_enter_container(message, 'a', "(hs)");
|
||||
@@ -781,10 +781,10 @@ static int bus_service_set_transient_property(
|
||||
* Unlike OpenFile, StandardInput and friends, there isn't a good sane
|
||||
* default for an arbitrary FD. */
|
||||
if (isempty(fdname) || !fdname_is_valid(fdname))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid extra fd name: %s", fdname);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid extra fd name: %s", fdname);
|
||||
|
||||
if (s->n_extra_fds >= NOTIFY_FD_MAX)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_LIMITS_EXCEEDED, "Too many extra fds sent");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_LIMITS_EXCEEDED, "Too many extra fds sent");
|
||||
|
||||
if (UNIT_WRITE_FLAGS_NOOP(flags))
|
||||
continue;
|
||||
@@ -814,7 +814,7 @@ static int bus_service_set_transient_property(
|
||||
}
|
||||
|
||||
if (streq(name, "RootDirectoryFileDescriptor"))
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->root_directory_fd, &s->exec_context.root_directory_as_fd, O_DIRECTORY, message, flags, error);
|
||||
return bus_set_transient_exec_context_fd(u, name, &s->root_directory_fd, &s->exec_context.root_directory_as_fd, O_DIRECTORY, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -824,7 +824,7 @@ int bus_service_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Service *s = SERVICE(u);
|
||||
int r;
|
||||
@@ -833,22 +833,22 @@ int bus_service_set_property(
|
||||
assert(name);
|
||||
assert(message);
|
||||
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, error);
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB) {
|
||||
/* This is a transient unit, let's allow a little more */
|
||||
|
||||
r = bus_service_set_transient_property(s, name, message, flags, error);
|
||||
r = bus_service_set_transient_property(s, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_exec_context_set_transient_property(u, &s->exec_context, name, message, flags, error);
|
||||
r = bus_exec_context_set_transient_property(u, &s->exec_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_kill_context_set_transient_property(u, &s->kill_context, name, message, flags, error);
|
||||
r = bus_kill_context_set_transient_property(u, &s->kill_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -7,8 +7,13 @@
|
||||
|
||||
extern const sd_bus_vtable bus_service_vtable[];
|
||||
|
||||
int bus_service_set_property(Unit *u, const char *name, sd_bus_message *i, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_service_method_bind_mount(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_service_method_mount_image(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_service_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_service_method_bind_mount(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_service_method_mount_image(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_service_commit_properties(Unit *u);
|
||||
int bus_service_method_dump_file_descriptor_store(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_service_method_dump_file_descriptor_store(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
|
||||
@@ -15,7 +15,7 @@ static int property_get_currently_active(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Slice *s = ASSERT_PTR(userdata);
|
||||
|
||||
@@ -43,7 +43,7 @@ static int bus_slice_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(s);
|
||||
|
||||
@@ -54,10 +54,10 @@ static int bus_slice_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "ConcurrencyHardMax"))
|
||||
return bus_set_transient_unsigned(u, name, &s->concurrency_hard_max, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->concurrency_hard_max, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ConcurrencySoftMax"))
|
||||
return bus_set_transient_unsigned(u, name, &s->concurrency_soft_max, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->concurrency_soft_max, message, flags, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -67,7 +67,7 @@ int bus_slice_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Slice *s = SLICE(u);
|
||||
int r;
|
||||
@@ -75,14 +75,14 @@ int bus_slice_set_property(
|
||||
assert(name);
|
||||
assert(u);
|
||||
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, error);
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB) {
|
||||
/* This is a transient unit, let's allow a little more */
|
||||
|
||||
r = bus_slice_set_transient_property(s, name, message, flags, error);
|
||||
r = bus_slice_set_transient_property(s, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
|
||||
extern const sd_bus_vtable bus_slice_vtable[];
|
||||
|
||||
int bus_slice_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_slice_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_slice_commit_properties(Unit *u);
|
||||
|
||||
+68
-68
@@ -30,7 +30,7 @@ static int property_get_listen(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Socket *s = SOCKET(userdata);
|
||||
int r;
|
||||
@@ -158,7 +158,7 @@ static int bus_socket_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
SocketExecCommand ci;
|
||||
Unit *u = UNIT(s);
|
||||
@@ -171,169 +171,169 @@ static int bus_socket_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "Accept"))
|
||||
return bus_set_transient_bool(u, name, &s->accept, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->accept, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FlushPending"))
|
||||
return bus_set_transient_bool(u, name, &s->flush_pending, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->flush_pending, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Writable"))
|
||||
return bus_set_transient_bool(u, name, &s->writable, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->writable, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "KeepAlive"))
|
||||
return bus_set_transient_bool(u, name, &s->keep_alive, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->keep_alive, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "NoDelay"))
|
||||
return bus_set_transient_bool(u, name, &s->no_delay, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->no_delay, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FreeBind"))
|
||||
return bus_set_transient_bool(u, name, &s->free_bind, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->free_bind, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Transparent"))
|
||||
return bus_set_transient_bool(u, name, &s->transparent, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->transparent, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Broadcast"))
|
||||
return bus_set_transient_bool(u, name, &s->broadcast, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->broadcast, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PassCredentials"))
|
||||
return bus_set_transient_bool(u, name, &s->pass_cred, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->pass_cred, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PassPIDFD"))
|
||||
return bus_set_transient_bool(u, name, &s->pass_pidfd, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->pass_pidfd, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PassSecurity"))
|
||||
return bus_set_transient_bool(u, name, &s->pass_sec, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->pass_sec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PassPacketInfo"))
|
||||
return bus_set_transient_bool(u, name, &s->pass_pktinfo, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->pass_pktinfo, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "AcceptFileDescriptors"))
|
||||
return bus_set_transient_bool(u, name, &s->pass_rights, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->pass_rights, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Timestamping"))
|
||||
return bus_set_transient_socket_timestamping(u, name, &s->timestamping, message, flags, error);
|
||||
return bus_set_transient_socket_timestamping(u, name, &s->timestamping, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ReusePort"))
|
||||
return bus_set_transient_bool(u, name, &s->reuse_port, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->reuse_port, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RemoveOnStop"))
|
||||
return bus_set_transient_bool(u, name, &s->remove_on_stop, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->remove_on_stop, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SELinuxContextFromNet"))
|
||||
return bus_set_transient_bool(u, name, &s->selinux_context_from_net, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->selinux_context_from_net, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Priority"))
|
||||
return bus_set_transient_int(u, name, &s->priority, message, flags, error);
|
||||
return bus_set_transient_int(u, name, &s->priority, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "IPTTL"))
|
||||
return bus_set_transient_int(u, name, &s->ip_ttl, message, flags, error);
|
||||
return bus_set_transient_int(u, name, &s->ip_ttl, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Mark"))
|
||||
return bus_set_transient_int(u, name, &s->mark, message, flags, error);
|
||||
return bus_set_transient_int(u, name, &s->mark, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Backlog"))
|
||||
return bus_set_transient_unsigned(u, name, &s->backlog, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->backlog, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MaxConnections"))
|
||||
return bus_set_transient_unsigned(u, name, &s->max_connections, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->max_connections, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MaxConnectionsPerSource"))
|
||||
return bus_set_transient_unsigned(u, name, &s->max_connections_per_source, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->max_connections_per_source, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "KeepAliveProbes"))
|
||||
return bus_set_transient_unsigned(u, name, &s->keep_alive_cnt, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->keep_alive_cnt, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TriggerLimitBurst"))
|
||||
return bus_set_transient_unsigned(u, name, &s->trigger_limit.burst, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->trigger_limit.burst, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PollLimitBurst"))
|
||||
return bus_set_transient_unsigned(u, name, &s->poll_limit.burst, message, flags, error);
|
||||
return bus_set_transient_unsigned(u, name, &s->poll_limit.burst, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SocketMode"))
|
||||
return bus_set_transient_mode_t(u, name, &s->socket_mode, message, flags, error);
|
||||
return bus_set_transient_mode_t(u, name, &s->socket_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DirectoryMode"))
|
||||
return bus_set_transient_mode_t(u, name, &s->directory_mode, message, flags, error);
|
||||
return bus_set_transient_mode_t(u, name, &s->directory_mode, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MessageQueueMaxMessages"))
|
||||
return bus_set_transient_message_queue(u, name, &s->mq_maxmsg, message, flags, error);
|
||||
return bus_set_transient_message_queue(u, name, &s->mq_maxmsg, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "MessageQueueMessageSize"))
|
||||
return bus_set_transient_message_queue(u, name, &s->mq_msgsize, message, flags, error);
|
||||
return bus_set_transient_message_queue(u, name, &s->mq_msgsize, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimeoutUSec"))
|
||||
return bus_set_transient_usec_fix_0(u, name, &s->timeout_usec, message, flags, error);
|
||||
return bus_set_transient_usec_fix_0(u, name, &s->timeout_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "KeepAliveTimeUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->keep_alive_time, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->keep_alive_time, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "KeepAliveIntervalUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->keep_alive_interval, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->keep_alive_interval, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DeferAcceptUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->defer_accept, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->defer_accept, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TriggerLimitIntervalUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->trigger_limit.interval, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->trigger_limit.interval, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PollLimitIntervalUSec"))
|
||||
return bus_set_transient_usec(u, name, &s->poll_limit.interval, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &s->poll_limit.interval, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DeferTrigger"))
|
||||
return bus_set_transient_socket_defer_trigger(u, name, &s->defer_trigger, message, flags, error);
|
||||
return bus_set_transient_socket_defer_trigger(u, name, &s->defer_trigger, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DeferTriggerMaxUSec"))
|
||||
return bus_set_transient_usec_fix_0(u, name, &s->defer_trigger_max_usec, message, flags, error);
|
||||
return bus_set_transient_usec_fix_0(u, name, &s->defer_trigger_max_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SmackLabel"))
|
||||
return bus_set_transient_string(u, name, &s->smack, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &s->smack, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SmackLabelIPin"))
|
||||
return bus_set_transient_string(u, name, &s->smack_ip_in, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &s->smack_ip_in, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SmackLabelIPOut"))
|
||||
return bus_set_transient_string(u, name, &s->smack_ip_out, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &s->smack_ip_out, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TCPCongestion"))
|
||||
return bus_set_transient_string(u, name, &s->tcp_congestion, message, flags, error);
|
||||
return bus_set_transient_string(u, name, &s->tcp_congestion, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FileDescriptorName"))
|
||||
return bus_set_transient_fdname(u, name, &s->fdname, message, flags, error);
|
||||
return bus_set_transient_fdname(u, name, &s->fdname, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SocketUser"))
|
||||
return bus_set_transient_user_relaxed(u, name, &s->user, message, flags, error);
|
||||
return bus_set_transient_user_relaxed(u, name, &s->user, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SocketGroup"))
|
||||
return bus_set_transient_user_relaxed(u, name, &s->group, message, flags, error);
|
||||
return bus_set_transient_user_relaxed(u, name, &s->group, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "BindIPv6Only"))
|
||||
return bus_set_transient_bind_ipv6_only(u, name, &s->bind_ipv6_only, message, flags, error);
|
||||
return bus_set_transient_bind_ipv6_only(u, name, &s->bind_ipv6_only, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "ReceiveBuffer"))
|
||||
return bus_set_transient_size_t_check_truncation(u, name, &s->receive_buffer, message, flags, error);
|
||||
return bus_set_transient_size_t_check_truncation(u, name, &s->receive_buffer, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SendBuffer"))
|
||||
return bus_set_transient_size_t_check_truncation(u, name, &s->send_buffer, message, flags, error);
|
||||
return bus_set_transient_size_t_check_truncation(u, name, &s->send_buffer, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PipeSize"))
|
||||
return bus_set_transient_size_t_check_truncation(u, name, &s->pipe_size, message, flags, error);
|
||||
return bus_set_transient_size_t_check_truncation(u, name, &s->pipe_size, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "BindToDevice"))
|
||||
return bus_set_transient_ifname(u, name, &s->bind_to_device, message, flags, error);
|
||||
return bus_set_transient_ifname(u, name, &s->bind_to_device, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "IPTOS"))
|
||||
return bus_set_transient_ip_tos(u, name, &s->ip_tos, message, flags, error);
|
||||
return bus_set_transient_ip_tos(u, name, &s->ip_tos, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "SocketProtocol"))
|
||||
return bus_set_transient_socket_protocol(u, name, &s->socket_protocol, message, flags, error);
|
||||
return bus_set_transient_socket_protocol(u, name, &s->socket_protocol, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "PassFileDescriptorsToExec"))
|
||||
return bus_set_transient_bool(u, name, &s->pass_fds_to_exec, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &s->pass_fds_to_exec, message, flags, reterr_error);
|
||||
|
||||
ci = socket_exec_command_from_string(name);
|
||||
if (ci >= 0)
|
||||
return bus_set_transient_exec_command(u, name,
|
||||
&s->exec_command[ci],
|
||||
message, flags, error);
|
||||
message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Symlinks")) {
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
@@ -344,7 +344,7 @@ static int bus_socket_set_transient_property(
|
||||
|
||||
STRV_FOREACH(p, l)
|
||||
if (!path_is_absolute(*p))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Symlink path is not absolute: %s", *p);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Symlink path is not absolute: %s", *p);
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
if (strv_isempty(l)) {
|
||||
@@ -390,11 +390,11 @@ static int bus_socket_set_transient_property(
|
||||
|
||||
p->type = socket_port_type_from_string(t);
|
||||
if (p->type < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unknown Socket type: %s", t);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Unknown Socket type: %s", t);
|
||||
|
||||
if (p->type != SOCKET_SOCKET) {
|
||||
if (!path_is_absolute(a) || !path_is_valid(a))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid socket path: %s", a);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid socket path: %s", a);
|
||||
|
||||
r = path_simplify_alloc(a, &p->path);
|
||||
if (r < 0)
|
||||
@@ -403,19 +403,19 @@ static int bus_socket_set_transient_property(
|
||||
} else if (streq(t, "Netlink")) {
|
||||
r = socket_address_parse_netlink(&p->address, a);
|
||||
if (r < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid netlink address: %s", a);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid netlink address: %s", a);
|
||||
|
||||
} else {
|
||||
r = socket_address_parse(&p->address, a);
|
||||
if (r < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid address: %s", a);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid address: %s", a);
|
||||
|
||||
p->address.type = socket_address_type_from_string(t);
|
||||
if (p->address.type < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid address type: %s", t);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid address type: %s", t);
|
||||
|
||||
if (socket_address_family(&p->address) != AF_UNIX && p->address.type == SOCK_SEQPACKET)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Address family not supported: %s", a);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Address family not supported: %s", a);
|
||||
}
|
||||
|
||||
empty = false;
|
||||
@@ -448,7 +448,7 @@ int bus_socket_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Socket *s = SOCKET(u);
|
||||
int r;
|
||||
@@ -461,22 +461,22 @@ int bus_socket_set_property(
|
||||
assert(name);
|
||||
assert(message);
|
||||
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, error);
|
||||
r = bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB) {
|
||||
/* This is a transient unit, let's load a little more */
|
||||
|
||||
r = bus_socket_set_transient_property(s, name, message, flags, error);
|
||||
r = bus_socket_set_transient_property(s, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_exec_context_set_transient_property(u, &s->exec_context, name, message, flags, error);
|
||||
r = bus_exec_context_set_transient_property(u, &s->exec_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = bus_kill_context_set_transient_property(u, &s->kill_context, name, message, flags, error);
|
||||
r = bus_kill_context_set_transient_property(u, &s->kill_context, name, message, flags, reterr_error);
|
||||
if (r != 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
|
||||
extern const sd_bus_vtable bus_socket_vtable[];
|
||||
|
||||
int bus_socket_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_socket_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_socket_commit_properties(Unit *u);
|
||||
|
||||
@@ -34,7 +34,7 @@ int bus_swap_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Swap *s = SWAP(u);
|
||||
|
||||
@@ -42,7 +42,7 @@ int bus_swap_set_property(
|
||||
assert(name);
|
||||
assert(message);
|
||||
|
||||
return bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, error);
|
||||
return bus_cgroup_set_property(u, &s->cgroup_context, name, message, flags, reterr_error);
|
||||
}
|
||||
|
||||
int bus_swap_commit_properties(Unit *u) {
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
|
||||
extern const sd_bus_vtable bus_swap_vtable[];
|
||||
|
||||
int bus_swap_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_swap_set_property(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_swap_commit_properties(Unit *u);
|
||||
|
||||
+27
-27
@@ -19,7 +19,7 @@ static int property_get_monotonic_timers(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Timer *t = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -56,7 +56,7 @@ static int property_get_calendar_timers(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Timer *t = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -93,7 +93,7 @@ static int property_get_next_elapse_monotonic(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Timer *t = ASSERT_PTR(userdata);
|
||||
|
||||
@@ -131,7 +131,7 @@ static int timer_add_one_monotonic_spec(
|
||||
TimerBase base,
|
||||
UnitWriteFlags flags,
|
||||
usec_t usec,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
|
||||
TimerValue *v;
|
||||
@@ -162,14 +162,14 @@ static int timer_add_one_calendar_spec(
|
||||
TimerBase base,
|
||||
UnitWriteFlags flags,
|
||||
const char *str,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
_cleanup_(calendar_spec_freep) CalendarSpec *c = NULL;
|
||||
int r;
|
||||
|
||||
r = calendar_spec_from_string(str, &c);
|
||||
if (r == -EINVAL)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid calendar spec");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid calendar spec");
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -197,7 +197,7 @@ static int bus_timer_set_transient_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = UNIT(t);
|
||||
int r;
|
||||
@@ -209,39 +209,39 @@ static int bus_timer_set_transient_property(
|
||||
flags |= UNIT_PRIVATE;
|
||||
|
||||
if (streq(name, "AccuracyUSec"))
|
||||
return bus_set_transient_usec(u, name, &t->accuracy_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &t->accuracy_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "AccuracySec")) {
|
||||
log_notice("Client is using obsolete AccuracySec= transient property, please use AccuracyUSec= instead.");
|
||||
return bus_set_transient_usec(u, "AccuracyUSec", &t->accuracy_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, "AccuracyUSec", &t->accuracy_usec, message, flags, reterr_error);
|
||||
}
|
||||
|
||||
if (streq(name, "RandomizedDelayUSec"))
|
||||
return bus_set_transient_usec(u, name, &t->random_delay_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &t->random_delay_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RandomizedOffsetUSec"))
|
||||
return bus_set_transient_usec(u, name, &t->random_offset_usec, message, flags, error);
|
||||
return bus_set_transient_usec(u, name, &t->random_offset_usec, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "FixedRandomDelay"))
|
||||
return bus_set_transient_bool(u, name, &t->fixed_random_delay, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->fixed_random_delay, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "WakeSystem"))
|
||||
return bus_set_transient_bool(u, name, &t->wake_system, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->wake_system, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "Persistent"))
|
||||
return bus_set_transient_bool(u, name, &t->persistent, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->persistent, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "RemainAfterElapse"))
|
||||
return bus_set_transient_bool(u, name, &t->remain_after_elapse, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->remain_after_elapse, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "OnTimezoneChange"))
|
||||
return bus_set_transient_bool(u, name, &t->on_timezone_change, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->on_timezone_change, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "OnClockChange"))
|
||||
return bus_set_transient_bool(u, name, &t->on_clock_change, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->on_clock_change, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "DeferReactivation"))
|
||||
return bus_set_transient_bool(u, name, &t->defer_reactivation, message, flags, error);
|
||||
return bus_set_transient_bool(u, name, &t->defer_reactivation, message, flags, reterr_error);
|
||||
|
||||
if (streq(name, "TimersMonotonic")) {
|
||||
const char *base_name;
|
||||
@@ -257,10 +257,10 @@ static int bus_timer_set_transient_property(
|
||||
|
||||
b = timer_base_from_string(base_name);
|
||||
if (b < 0 || b == TIMER_CALENDAR)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Invalid timer base: %s", base_name);
|
||||
|
||||
r = timer_add_one_monotonic_spec(t, name, b, flags, usec, error);
|
||||
r = timer_add_one_monotonic_spec(t, name, b, flags, usec, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -293,10 +293,10 @@ static int bus_timer_set_transient_property(
|
||||
|
||||
b = timer_base_from_string(base_name);
|
||||
if (b != TIMER_CALENDAR)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Invalid timer base: %s", base_name);
|
||||
|
||||
r = timer_add_one_calendar_spec(t, name, b, flags, str, error);
|
||||
r = timer_add_one_calendar_spec(t, name, b, flags, str, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -330,13 +330,13 @@ static int bus_timer_set_transient_property(
|
||||
|
||||
b = timer_base_from_string(name);
|
||||
if (b < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Unknown timer base %s", name);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Unknown timer base %s", name);
|
||||
|
||||
r = sd_bus_message_read(message, "t", &usec);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return timer_add_one_monotonic_spec(t, name, b, flags, usec, error);
|
||||
return timer_add_one_monotonic_spec(t, name, b, flags, usec, reterr_error);
|
||||
|
||||
} else if (streq(name, "OnCalendar")) {
|
||||
|
||||
@@ -348,7 +348,7 @@ static int bus_timer_set_transient_property(
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return timer_add_one_calendar_spec(t, name, TIMER_CALENDAR, flags, str, error);
|
||||
return timer_add_one_calendar_spec(t, name, TIMER_CALENDAR, flags, str, reterr_error);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -359,7 +359,7 @@ int bus_timer_set_property(
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags mode,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Timer *t = TIMER(u);
|
||||
|
||||
@@ -368,7 +368,7 @@ int bus_timer_set_property(
|
||||
assert(message);
|
||||
|
||||
if (u->transient && u->load_state == UNIT_STUB)
|
||||
return bus_timer_set_transient_property(t, name, message, mode, error);
|
||||
return bus_timer_set_transient_property(t, name, message, mode, reterr_error);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7,4 +7,9 @@
|
||||
|
||||
extern const sd_bus_vtable bus_timer_vtable[];
|
||||
|
||||
int bus_timer_set_property(Unit *u, const char *name, sd_bus_message *i, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_timer_set_property(
|
||||
Unit *u,
|
||||
const char *name,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
+190
-190
File diff suppressed because it is too large
Load Diff
+18
-18
@@ -13,22 +13,22 @@ void bus_unit_send_pending_change_signal(Unit *u, bool including_new);
|
||||
int bus_unit_send_pending_freezer_message(Unit *u, bool canceled);
|
||||
void bus_unit_send_removed_signal(Unit *u);
|
||||
|
||||
int bus_unit_method_start_generic(sd_bus_message *message, Unit *u, JobType job_type, bool reload_if_possible, sd_bus_error *error);
|
||||
int bus_unit_method_enqueue_job(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_kill(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_kill_subgroup(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_reset_failed(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_start_generic(sd_bus_message *message, Unit *u, JobType job_type, bool reload_if_possible, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_enqueue_job(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_kill(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_kill_subgroup(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_reset_failed(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
|
||||
int bus_unit_set_properties(Unit *u, sd_bus_message *message, UnitWriteFlags flags, bool commit, sd_bus_error *error);
|
||||
int bus_unit_method_set_properties(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_get_processes(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_attach_processes(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_remove_subgroup(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_ref(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_unref(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_clean(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_freeze(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_method_thaw(sd_bus_message *message, void *userdata, sd_bus_error *error);
|
||||
int bus_unit_set_properties(Unit *u, sd_bus_message *message, UnitWriteFlags flags, bool commit, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_set_properties(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_get_processes(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_attach_processes(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_remove_subgroup(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_ref(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_unref(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_clean(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_freeze(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
int bus_unit_method_thaw(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error);
|
||||
|
||||
typedef enum BusUnitQueueFlags {
|
||||
BUS_UNIT_QUEUE_RELOAD_IF_POSSIBLE = 1 << 0,
|
||||
@@ -42,15 +42,15 @@ int bus_unit_queue_job_one(
|
||||
JobMode mode,
|
||||
BusUnitQueueFlags flags,
|
||||
sd_bus_message *reply,
|
||||
sd_bus_error *error);
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_unit_queue_job(
|
||||
sd_bus_message *message,
|
||||
Unit *u,
|
||||
JobType type,
|
||||
JobMode mode,
|
||||
BusUnitQueueFlags flags,
|
||||
sd_bus_error *error);
|
||||
int bus_unit_validate_load_state(Unit *u, sd_bus_error *error);
|
||||
sd_bus_error *reterr_error);
|
||||
int bus_unit_validate_load_state(Unit *u, sd_bus_error *reterr_error);
|
||||
|
||||
int bus_unit_track_add_name(Unit *u, const char *name);
|
||||
int bus_unit_track_add_sender(Unit *u, sd_bus_message *m);
|
||||
|
||||
+27
-27
@@ -18,7 +18,7 @@ int bus_property_get_triggered_unit(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Unit *u = userdata, *trigger;
|
||||
|
||||
@@ -48,7 +48,7 @@ int bus_set_transient_string(
|
||||
char **p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
const char *v;
|
||||
int r;
|
||||
@@ -77,7 +77,7 @@ int bus_set_transient_bool(
|
||||
bool *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
int v, r;
|
||||
|
||||
@@ -101,7 +101,7 @@ int bus_set_transient_tristate(
|
||||
int *p,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
int v, r;
|
||||
|
||||
@@ -126,7 +126,7 @@ static int bus_set_transient_usec_internal(
|
||||
bool fix_0,
|
||||
sd_bus_message *message,
|
||||
UnitWriteFlags flags,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
uint64_t v;
|
||||
int r;
|
||||
@@ -150,12 +150,12 @@ static int bus_set_transient_usec_internal(
|
||||
return 1;
|
||||
}
|
||||
|
||||
int bus_set_transient_usec(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error) {
|
||||
return bus_set_transient_usec_internal(u, name, p, false, message, flags, error);
|
||||
int bus_set_transient_usec(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error) {
|
||||
return bus_set_transient_usec_internal(u, name, p, false, message, flags, reterr_error);
|
||||
}
|
||||
|
||||
int bus_set_transient_usec_fix_0(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error) {
|
||||
return bus_set_transient_usec_internal(u, name, p, true, message, flags, error);
|
||||
int bus_set_transient_usec_fix_0(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error) {
|
||||
return bus_set_transient_usec_internal(u, name, p, true, message, flags, reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_manage_units_async_impl(
|
||||
@@ -164,7 +164,7 @@ int bus_verify_manage_units_async_impl(
|
||||
const char *verb,
|
||||
const char *polkit_message,
|
||||
sd_bus_message *call,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
const char *details[9];
|
||||
size_t n_details = 0;
|
||||
@@ -197,19 +197,19 @@ int bus_verify_manage_units_async_impl(
|
||||
"org.freedesktop.systemd1.manage-units",
|
||||
n_details > 0 ? details : NULL,
|
||||
&manager->polkit_registry,
|
||||
error);
|
||||
reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_manage_units_async_full(Unit *u, const char *verb, const char *polkit_message, sd_bus_message *call, sd_bus_error *error) {
|
||||
int bus_verify_manage_units_async_full(Unit *u, const char *verb, const char *polkit_message, sd_bus_message *call, sd_bus_error *reterr_error) {
|
||||
assert(u);
|
||||
return bus_verify_manage_units_async_impl(u->manager, u->id, verb, polkit_message, call, error);
|
||||
return bus_verify_manage_units_async_impl(u->manager, u->id, verb, polkit_message, call, reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_manage_units_async(Manager *manager, sd_bus_message *call, sd_bus_error *error) {
|
||||
return bus_verify_manage_units_async_impl(manager, NULL, NULL, NULL, call, error);
|
||||
int bus_verify_manage_units_async(Manager *manager, sd_bus_message *call, sd_bus_error *reterr_error) {
|
||||
return bus_verify_manage_units_async_impl(manager, NULL, NULL, NULL, call, reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_manage_unit_files_async(Manager *m, sd_bus_message *call, sd_bus_error *error) {
|
||||
int bus_verify_manage_unit_files_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error) {
|
||||
assert(m);
|
||||
assert(call);
|
||||
|
||||
@@ -218,10 +218,10 @@ int bus_verify_manage_unit_files_async(Manager *m, sd_bus_message *call, sd_bus_
|
||||
"org.freedesktop.systemd1.manage-unit-files",
|
||||
/* details= */ NULL,
|
||||
&m->polkit_registry,
|
||||
error);
|
||||
reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_reload_daemon_async(Manager *m, sd_bus_message *call, sd_bus_error *error) {
|
||||
int bus_verify_reload_daemon_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error) {
|
||||
assert(m);
|
||||
assert(call);
|
||||
|
||||
@@ -229,10 +229,10 @@ int bus_verify_reload_daemon_async(Manager *m, sd_bus_message *call, sd_bus_erro
|
||||
call,
|
||||
"org.freedesktop.systemd1.reload-daemon",
|
||||
/* details= */ NULL,
|
||||
&m->polkit_registry, error);
|
||||
&m->polkit_registry, reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_set_environment_async(Manager *m, sd_bus_message *call, sd_bus_error *error) {
|
||||
int bus_verify_set_environment_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error) {
|
||||
assert(m);
|
||||
assert(call);
|
||||
|
||||
@@ -241,10 +241,10 @@ int bus_verify_set_environment_async(Manager *m, sd_bus_message *call, sd_bus_er
|
||||
"org.freedesktop.systemd1.set-environment",
|
||||
/* details= */ NULL,
|
||||
&m->polkit_registry,
|
||||
error);
|
||||
reterr_error);
|
||||
}
|
||||
|
||||
int bus_verify_bypass_dump_ratelimit_async(Manager *m, sd_bus_message *call, sd_bus_error *error) {
|
||||
int bus_verify_bypass_dump_ratelimit_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error) {
|
||||
assert(m);
|
||||
assert(call);
|
||||
|
||||
@@ -253,13 +253,13 @@ int bus_verify_bypass_dump_ratelimit_async(Manager *m, sd_bus_message *call, sd_
|
||||
"org.freedesktop.systemd1.bypass-dump-ratelimit",
|
||||
/* details= */ NULL,
|
||||
&m->polkit_registry,
|
||||
error);
|
||||
reterr_error);
|
||||
}
|
||||
|
||||
/* ret_format_str is an accumulator, so if it has any pre-existing content, new options will be appended to it */
|
||||
int bus_read_mount_options(
|
||||
sd_bus_message *message,
|
||||
sd_bus_error *error,
|
||||
sd_bus_error *reterr_error,
|
||||
MountOptions **ret_options,
|
||||
char **ret_format_str,
|
||||
const char *separator) {
|
||||
@@ -283,12 +283,12 @@ int bus_read_mount_options(
|
||||
PartitionDesignator partition_designator;
|
||||
|
||||
if (chars_intersect(mount_options, WHITESPACE))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Invalid mount options string, contains whitespace character(s): %s", mount_options);
|
||||
|
||||
partition_designator = partition_designator_from_string(partition);
|
||||
if (partition_designator < 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid partition name %s", partition);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Invalid partition name %s", partition);
|
||||
|
||||
/* Need to store the options with the escapes, so that they can be parsed again */
|
||||
escaped = shell_escape(mount_options, ":");
|
||||
@@ -336,7 +336,7 @@ int bus_property_get_activation_details(
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
ActivationDetails **details = ASSERT_PTR(userdata);
|
||||
_cleanup_strv_free_ char **pairs = NULL;
|
||||
|
||||
+40
-33
@@ -7,7 +7,14 @@
|
||||
#include "string-util.h"
|
||||
#include "unit.h"
|
||||
|
||||
int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *error);
|
||||
int bus_property_get_triggered_unit(
|
||||
sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
#define BUS_DEFINE_SET_TRANSIENT(function, bus_type, type, cast_type, fmt) \
|
||||
int bus_set_transient_##function( \
|
||||
@@ -16,7 +23,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
cast_type *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
type v; \
|
||||
int r; \
|
||||
@@ -43,7 +50,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
cast_type *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
type v; \
|
||||
int r; \
|
||||
@@ -55,7 +62,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
return r; \
|
||||
\
|
||||
if (!check(v)) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Invalid %s setting: " fmt, name, v); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -74,7 +81,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
cast_type *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
const char *s; \
|
||||
type v; \
|
||||
@@ -88,7 +95,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
\
|
||||
s = to_string(v); \
|
||||
if (!s) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Invalid %s setting: " fmt, name, v); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -107,7 +114,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
cast_type *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
_cleanup_free_ char *s = NULL; \
|
||||
type v; \
|
||||
@@ -121,7 +128,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
\
|
||||
r = to_string(v, &s); \
|
||||
if (r == -EINVAL) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Invalid %s setting: " fmt, name, v); \
|
||||
if (r < 0) \
|
||||
return r; \
|
||||
@@ -143,7 +150,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
type *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
const char *s; \
|
||||
type v; \
|
||||
@@ -157,7 +164,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
\
|
||||
v = parse(s); \
|
||||
if (v < 0) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Invalid %s setting: %s", name, s); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -176,7 +183,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
type *p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
const char *s; \
|
||||
type v; \
|
||||
@@ -190,7 +197,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
\
|
||||
r = parse(s, &v); \
|
||||
if (r < 0) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Invalid %s setting: %s", name, s); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -209,7 +216,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
char **p, \
|
||||
sd_bus_message *message, \
|
||||
UnitWriteFlags flags, \
|
||||
sd_bus_error *error) { \
|
||||
sd_bus_error *reterr_error) { \
|
||||
\
|
||||
const char *v; \
|
||||
int r; \
|
||||
@@ -221,7 +228,7 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
return r; \
|
||||
\
|
||||
if (!isempty(v) && !check(v)) \
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, \
|
||||
"Invalid %s setting: %s", name, v); \
|
||||
\
|
||||
if (!UNIT_WRITE_FLAGS_NOOP(flags)) { \
|
||||
@@ -236,24 +243,24 @@ int bus_property_get_triggered_unit(sd_bus *bus, const char *path, const char *i
|
||||
return 1; \
|
||||
}
|
||||
|
||||
int bus_set_transient_mode_t(Unit *u, const char *name, mode_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_unsigned(Unit *u, const char *name, unsigned *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_user_relaxed(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_path(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_reboot_parameter(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_string(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_bool(Unit *u, const char *name, bool *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_tristate(Unit *u, const char *name, int *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_usec(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_set_transient_usec_fix_0(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int bus_verify_manage_units_async_impl(Manager *manager, const char *id, const char *verb, const char *polkit_message, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_verify_manage_units_async_full(Unit *u, const char *verb, const char *polkit_message, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_verify_manage_units_async(Manager *manager, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_verify_manage_unit_files_async(Manager *m, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_verify_reload_daemon_async(Manager *m, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_verify_set_environment_async(Manager *m, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_verify_bypass_dump_ratelimit_async(Manager *m, sd_bus_message *call, sd_bus_error *error);
|
||||
int bus_set_transient_mode_t(Unit *u, const char *name, mode_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_unsigned(Unit *u, const char *name, unsigned *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_user_relaxed(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_path(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_reboot_parameter(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_string(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_bool(Unit *u, const char *name, bool *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_tristate(Unit *u, const char *name, int *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_usec(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_set_transient_usec_fix_0(Unit *u, const char *name, usec_t *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
int bus_verify_manage_units_async_impl(Manager *manager, const char *id, const char *verb, const char *polkit_message, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
int bus_verify_manage_units_async_full(Unit *u, const char *verb, const char *polkit_message, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
int bus_verify_manage_units_async(Manager *manager, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
int bus_verify_manage_unit_files_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
int bus_verify_reload_daemon_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
int bus_verify_set_environment_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
int bus_verify_bypass_dump_ratelimit_async(Manager *m, sd_bus_message *call, sd_bus_error *reterr_error);
|
||||
|
||||
int bus_read_mount_options(sd_bus_message *message, sd_bus_error *error, MountOptions **ret_options, char **ret_format_str, const char *separator);
|
||||
int bus_read_mount_options(sd_bus_message *message, sd_bus_error *reterr_error, MountOptions **ret_options, char **ret_format_str, const char *separator);
|
||||
|
||||
int bus_property_get_activation_details(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *error);
|
||||
int bus_property_get_activation_details(sd_bus *bus, const char *path, const char *interface, const char *property, sd_bus_message *reply, void *userdata, sd_bus_error *reterr_error);
|
||||
|
||||
+21
-21
@@ -71,7 +71,7 @@ void bus_send_pending_reload_message(Manager *m) {
|
||||
return;
|
||||
}
|
||||
|
||||
static int signal_disconnected(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
static int signal_disconnected(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
sd_bus *bus;
|
||||
|
||||
@@ -161,7 +161,7 @@ failed:
|
||||
}
|
||||
|
||||
#if HAVE_SELINUX
|
||||
static int mac_selinux_filter(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
static int mac_selinux_filter(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
Manager *m = userdata;
|
||||
const char *verb, *path;
|
||||
Unit *u = NULL;
|
||||
@@ -189,7 +189,7 @@ static int mac_selinux_filter(sd_bus_message *message, void *userdata, sd_bus_er
|
||||
return 0;
|
||||
|
||||
if (object_path_startswith("/org/freedesktop/systemd1", path)) {
|
||||
r = mac_selinux_access_check(message, verb, error);
|
||||
r = mac_selinux_access_check(message, verb, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -214,7 +214,7 @@ static int mac_selinux_filter(sd_bus_message *message, void *userdata, sd_bus_er
|
||||
if (!u)
|
||||
return 0;
|
||||
|
||||
r = mac_selinux_unit_access_check(u, message, verb, error);
|
||||
r = mac_selinux_unit_access_check(u, message, verb, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -222,7 +222,7 @@ static int mac_selinux_filter(sd_bus_message *message, void *userdata, sd_bus_er
|
||||
}
|
||||
#endif
|
||||
|
||||
static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_bus_error *error) {
|
||||
static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_bus_error *reterr_error) {
|
||||
Unit *u = NULL; /* just to appease gcc, initialization is not really necessary */
|
||||
int r;
|
||||
|
||||
@@ -246,7 +246,7 @@ static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_
|
||||
if (!u)
|
||||
return 0;
|
||||
} else {
|
||||
r = manager_load_unit_from_dbus_path(m, path, error, &u);
|
||||
r = manager_load_unit_from_dbus_path(m, path, reterr_error, &u);
|
||||
if (r < 0)
|
||||
return 0;
|
||||
assert(u);
|
||||
@@ -256,7 +256,7 @@ static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_unit_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_unit_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
|
||||
assert(bus);
|
||||
@@ -264,10 +264,10 @@ static int bus_unit_find(sd_bus *bus, const char *path, const char *interface, v
|
||||
assert(interface);
|
||||
assert(found);
|
||||
|
||||
return find_unit(m, bus, path, (Unit**) found, error);
|
||||
return find_unit(m, bus, path, (Unit**) found, reterr_error);
|
||||
}
|
||||
|
||||
static int bus_unit_interface_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_unit_interface_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
Unit *u;
|
||||
int r;
|
||||
@@ -277,7 +277,7 @@ static int bus_unit_interface_find(sd_bus *bus, const char *path, const char *in
|
||||
assert(interface);
|
||||
assert(found);
|
||||
|
||||
r = find_unit(m, bus, path, &u, error);
|
||||
r = find_unit(m, bus, path, &u, reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -288,7 +288,7 @@ static int bus_unit_interface_find(sd_bus *bus, const char *path, const char *in
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_unit_cgroup_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_unit_cgroup_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
Unit *u;
|
||||
int r;
|
||||
@@ -298,7 +298,7 @@ static int bus_unit_cgroup_find(sd_bus *bus, const char *path, const char *inter
|
||||
assert(interface);
|
||||
assert(found);
|
||||
|
||||
r = find_unit(m, bus, path, &u, error);
|
||||
r = find_unit(m, bus, path, &u, reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -312,7 +312,7 @@ static int bus_unit_cgroup_find(sd_bus *bus, const char *path, const char *inter
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_cgroup_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_cgroup_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
CGroupContext *c;
|
||||
Unit *u;
|
||||
@@ -323,7 +323,7 @@ static int bus_cgroup_context_find(sd_bus *bus, const char *path, const char *in
|
||||
assert(interface);
|
||||
assert(found);
|
||||
|
||||
r = find_unit(m, bus, path, &u, error);
|
||||
r = find_unit(m, bus, path, &u, reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -338,7 +338,7 @@ static int bus_cgroup_context_find(sd_bus *bus, const char *path, const char *in
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_unit_exec_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_unit_exec_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
Unit *u;
|
||||
int r;
|
||||
@@ -348,7 +348,7 @@ static int bus_unit_exec_context_find(sd_bus *bus, const char *path, const char
|
||||
assert(interface);
|
||||
assert(found);
|
||||
|
||||
r = find_unit(m, bus, path, &u, error);
|
||||
r = find_unit(m, bus, path, &u, reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -362,7 +362,7 @@ static int bus_unit_exec_context_find(sd_bus *bus, const char *path, const char
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_exec_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_exec_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
ExecContext *c;
|
||||
int r;
|
||||
|
||||
@@ -372,7 +372,7 @@ static int bus_exec_context_find(sd_bus *bus, const char *path, const char *inte
|
||||
assert(found);
|
||||
|
||||
Unit *u;
|
||||
r = bus_unit_exec_context_find(bus, path, interface, userdata, (void**) &u, error);
|
||||
r = bus_unit_exec_context_find(bus, path, interface, userdata, (void**) &u, reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -384,7 +384,7 @@ static int bus_exec_context_find(sd_bus *bus, const char *path, const char *inte
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_kill_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
static int bus_kill_context_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *reterr_error) {
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
KillContext *c;
|
||||
Unit *u;
|
||||
@@ -395,7 +395,7 @@ static int bus_kill_context_find(sd_bus *bus, const char *path, const char *inte
|
||||
assert(interface);
|
||||
assert(found);
|
||||
|
||||
r = find_unit(m, bus, path, &u, error);
|
||||
r = find_unit(m, bus, path, &u, reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -410,7 +410,7 @@ static int bus_kill_context_find(sd_bus *bus, const char *path, const char *inte
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int bus_unit_enumerate(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
|
||||
static int bus_unit_enumerate(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *reterr_error) {
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
Manager *m = userdata;
|
||||
unsigned k = 0;
|
||||
|
||||
+9
-9
@@ -2132,7 +2132,7 @@ int manager_add_job_full(
|
||||
JobMode mode,
|
||||
TransactionAddFlags extra_flags,
|
||||
Set *affected_jobs,
|
||||
sd_bus_error *error,
|
||||
sd_bus_error *reterr_error,
|
||||
Job **ret) {
|
||||
|
||||
_cleanup_(transaction_abort_and_freep) Transaction *tr = NULL;
|
||||
@@ -2145,16 +2145,16 @@ int manager_add_job_full(
|
||||
assert((extra_flags & ~_TRANSACTION_FLAGS_MASK_PUBLIC) == 0);
|
||||
|
||||
if (mode == JOB_ISOLATE && type != JOB_START)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Isolate is only valid for start.");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Isolate is only valid for start.");
|
||||
|
||||
if (mode == JOB_ISOLATE && !unit->allow_isolate)
|
||||
return sd_bus_error_set(error, BUS_ERROR_NO_ISOLATION, "Operation refused, unit may not be isolated.");
|
||||
return sd_bus_error_set(reterr_error, BUS_ERROR_NO_ISOLATION, "Operation refused, unit may not be isolated.");
|
||||
|
||||
if (mode == JOB_TRIGGERING && type != JOB_STOP)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "--job-mode=triggering is only valid for stop.");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "--job-mode=triggering is only valid for stop.");
|
||||
|
||||
if (mode == JOB_RESTART_DEPENDENCIES && type != JOB_START)
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "--job-mode=restart-dependencies is only valid for start.");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "--job-mode=restart-dependencies is only valid for start.");
|
||||
|
||||
tr = transaction_new(mode == JOB_REPLACE_IRREVERSIBLY, ++m->last_transaction_id);
|
||||
if (!tr)
|
||||
@@ -2176,7 +2176,7 @@ int manager_add_job_full(
|
||||
(mode == JOB_IGNORE_DEPENDENCIES ? TRANSACTION_IGNORE_ORDER : 0) |
|
||||
(mode == JOB_RESTART_DEPENDENCIES ? TRANSACTION_PROPAGATE_START_AS_RESTART : 0) |
|
||||
extra_flags,
|
||||
error);
|
||||
reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -2192,7 +2192,7 @@ int manager_add_job_full(
|
||||
return r;
|
||||
}
|
||||
|
||||
r = transaction_activate(tr, m, mode, affected_jobs, error);
|
||||
r = transaction_activate(tr, m, mode, affected_jobs, reterr_error);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -2212,10 +2212,10 @@ int manager_add_job(
|
||||
JobType type,
|
||||
Unit *unit,
|
||||
JobMode mode,
|
||||
sd_bus_error *error,
|
||||
sd_bus_error *reterr_error,
|
||||
Job **ret) {
|
||||
|
||||
return manager_add_job_full(m, type, unit, mode, 0, NULL, error, ret);
|
||||
return manager_add_job_full(m, type, unit, mode, 0, NULL, reterr_error, ret);
|
||||
}
|
||||
|
||||
int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, Set *affected_jobs, sd_bus_error *e, Job **ret) {
|
||||
|
||||
+2
-2
@@ -538,14 +538,14 @@ int manager_add_job_full(
|
||||
JobMode mode,
|
||||
TransactionAddFlags extra_flags,
|
||||
Set *affected_jobs,
|
||||
sd_bus_error *error,
|
||||
sd_bus_error *reterr_error,
|
||||
Job **ret);
|
||||
int manager_add_job(
|
||||
Manager *m,
|
||||
JobType type,
|
||||
Unit *unit,
|
||||
JobMode mode,
|
||||
sd_bus_error *error,
|
||||
sd_bus_error *reterr_error,
|
||||
Job **ret);
|
||||
|
||||
int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, Set *affected_jobs, sd_bus_error *e, Job **ret);
|
||||
|
||||
+12
-12
@@ -142,7 +142,7 @@ _printf_(2, 3) static int log_callback(int type, const char *fmt, ...) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int access_init(sd_bus_error *error) {
|
||||
static int access_init(sd_bus_error *reterr_error) {
|
||||
int r;
|
||||
|
||||
if (!mac_selinux_use())
|
||||
@@ -163,7 +163,7 @@ static int access_init(sd_bus_error *error) {
|
||||
/* Return an access denied error based on the original errno, if we couldn't load the AVC but
|
||||
* enforcing mode was on, or we couldn't determine whether it is one. */
|
||||
errno = -r;
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Failed to open the SELinux AVC: %m");
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_ACCESS_DENIED, "Failed to open the SELinux AVC: %m");
|
||||
}
|
||||
|
||||
sym_selinux_set_callback(SELINUX_CB_AUDIT, (union selinux_callback) { .func_audit = audit_callback });
|
||||
@@ -212,7 +212,7 @@ static int check_access(
|
||||
const char *tclass,
|
||||
const char *permission,
|
||||
struct audit_info *audit_info,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
bool enforce = mac_selinux_enforcing();
|
||||
int r;
|
||||
@@ -229,7 +229,7 @@ static int check_access(
|
||||
errno = -(r = errno_or_else(EPERM));
|
||||
|
||||
if (enforce)
|
||||
sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "SELinux policy denies access: %m");
|
||||
sd_bus_error_setf(reterr_error, SD_BUS_ERROR_ACCESS_DENIED, "SELinux policy denies access: %m");
|
||||
}
|
||||
|
||||
return log_selinux_enforcing_errno(
|
||||
@@ -256,7 +256,7 @@ int mac_selinux_access_check_bus_internal(
|
||||
const Unit *unit,
|
||||
const char *permission,
|
||||
const char *function,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
_cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
|
||||
const char *tclass, *scon, *acon;
|
||||
@@ -270,7 +270,7 @@ int mac_selinux_access_check_bus_internal(
|
||||
assert(permission);
|
||||
assert(function);
|
||||
|
||||
r = access_init(error);
|
||||
r = access_init(reterr_error);
|
||||
if (r <= 0)
|
||||
return r;
|
||||
|
||||
@@ -309,9 +309,9 @@ int mac_selinux_access_check_bus_internal(
|
||||
return 0;
|
||||
|
||||
if (r == -EOPNOTSUPP)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "We appear not to have any SELinux context: %m");
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_ACCESS_DENIED, "We appear not to have any SELinux context: %m");
|
||||
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "Failed to get current context: %m");
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_ACCESS_DENIED, "Failed to get current context: %m");
|
||||
}
|
||||
|
||||
(void) sd_bus_creds_get_cmdline(creds, &cmdline);
|
||||
@@ -324,7 +324,7 @@ int mac_selinux_access_check_bus_internal(
|
||||
.function = function,
|
||||
};
|
||||
|
||||
return check_access(scon, acon, tclass, permission, &audit_info, error);
|
||||
return check_access(scon, acon, tclass, permission, &audit_info, reterr_error);
|
||||
}
|
||||
|
||||
int mac_selinux_access_check_varlink_internal(
|
||||
@@ -341,7 +341,7 @@ int mac_selinux_access_check_varlink_internal(
|
||||
assert(permission);
|
||||
assert(function);
|
||||
|
||||
r = access_init(/* error= */ NULL);
|
||||
r = access_init(/* reterr_error= */ NULL);
|
||||
if (r <= 0)
|
||||
/* access_init() does log_selinux_enforcing_errno() */
|
||||
return r;
|
||||
@@ -380,7 +380,7 @@ int mac_selinux_access_check_varlink_internal(
|
||||
.function = function,
|
||||
};
|
||||
|
||||
return check_access(scon, acon, tclass, permission, &audit_info, /* error= */ NULL);
|
||||
return check_access(scon, acon, tclass, permission, &audit_info, /* reterr_error= */ NULL);
|
||||
}
|
||||
|
||||
#else /* HAVE_SELINUX */
|
||||
@@ -390,7 +390,7 @@ int mac_selinux_access_check_bus_internal(
|
||||
const Unit *unit,
|
||||
const char *permission,
|
||||
const char *function,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,17 @@
|
||||
|
||||
#include "core-forward.h"
|
||||
|
||||
int mac_selinux_access_check_bus_internal(sd_bus_message *message, const Unit *unit, const char *permission, const char *function, sd_bus_error *error);
|
||||
int mac_selinux_access_check_varlink_internal(sd_varlink *link, const Unit *unit, const char *permission, const char *function);
|
||||
int mac_selinux_access_check_bus_internal(
|
||||
sd_bus_message *message,
|
||||
const Unit *unit,
|
||||
const char *permission,
|
||||
const char *function,
|
||||
sd_bus_error *reterr_error);
|
||||
int mac_selinux_access_check_varlink_internal(
|
||||
sd_varlink *link,
|
||||
const Unit *unit,
|
||||
const char *permission,
|
||||
const char *function);
|
||||
|
||||
#define mac_selinux_access_check(message, permission, error) \
|
||||
mac_selinux_access_check_bus_internal((message), NULL, (permission), __func__, (error))
|
||||
|
||||
+9
-9
@@ -5507,7 +5507,7 @@ static int service_live_mount(
|
||||
sd_bus_message *message,
|
||||
MountInNamespaceFlags flags,
|
||||
const MountOptions *options,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
Service *s = ASSERT_PTR(SERVICE(u));
|
||||
_cleanup_(pidref_done) PidRef worker = PIDREF_NULL;
|
||||
@@ -5523,7 +5523,7 @@ static int service_live_mount(
|
||||
if (s->state != SERVICE_RUNNING || !pidref_is_set(&s->main_pid)) {
|
||||
log_unit_warning(u, "Service is not running, cannot live mount.");
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
BUS_ERROR_UNIT_INACTIVE,
|
||||
"Live mounting '%s' on '%s' for unit '%s' cannot be scheduled: service not running",
|
||||
src,
|
||||
@@ -5534,7 +5534,7 @@ static int service_live_mount(
|
||||
if (mount_point_is_credentials(u->manager->prefix[EXEC_DIRECTORY_RUNTIME], dst)) {
|
||||
log_unit_warning(u, "Refusing to live mount over credential mount '%s'.", dst);
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Live mounting '%s' on '%s' for unit '%s' cannot be scheduled: cannot mount over credential mount",
|
||||
src,
|
||||
@@ -5545,7 +5545,7 @@ static int service_live_mount(
|
||||
if (path_startswith_strv(dst, s->exec_context.inaccessible_paths)) {
|
||||
log_unit_warning(u, "%s is not accessible to this unit, cannot live mount.", dst);
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Live mounting '%s' on '%s' for unit '%s' cannot be scheduled: destination is not accessible to this unit",
|
||||
src,
|
||||
@@ -5563,7 +5563,7 @@ static int service_live_mount(
|
||||
r = service_arm_timer(s, /* relative= */ true, s->timeout_start_usec);
|
||||
if (r < 0) {
|
||||
log_unit_error_errno(u, r, "Failed to install timer: %m");
|
||||
sd_bus_error_set_errnof(error, r,
|
||||
sd_bus_error_set_errnof(reterr_error, r,
|
||||
"Live mounting '%s' on '%s' for unit '%s': failed to install timer: %m",
|
||||
src, dst, u->id);
|
||||
goto fail;
|
||||
@@ -5580,7 +5580,7 @@ static int service_live_mount(
|
||||
log_unit_error_errno(u, r,
|
||||
"Failed to fork process to mount '%s' on '%s' in unit's namespace: %m",
|
||||
src, dst);
|
||||
sd_bus_error_set_errnof(error, r,
|
||||
sd_bus_error_set_errnof(reterr_error, r,
|
||||
"Live mounting '%s' on '%s' for unit '%s': failed to fork off helper process into namespace: %m",
|
||||
src, dst, u->id);
|
||||
goto fail;
|
||||
@@ -5615,7 +5615,7 @@ static int service_live_mount(
|
||||
r = unit_watch_pidref(u, &worker, /* exclusive= */ true);
|
||||
if (r < 0) {
|
||||
log_unit_warning_errno(u, r, "Failed to watch live mount helper process: %m");
|
||||
sd_bus_error_set_errnof(error, r,
|
||||
sd_bus_error_set_errnof(reterr_error, r,
|
||||
"Live mounting '%s' on '%s' for unit '%s': failed to watch live mount helper process: %m",
|
||||
src, dst, u->id);
|
||||
goto fail;
|
||||
@@ -5632,13 +5632,13 @@ fail:
|
||||
return r;
|
||||
}
|
||||
|
||||
static int service_can_live_mount(Unit *u, sd_bus_error *error) {
|
||||
static int service_can_live_mount(Unit *u, sd_bus_error *reterr_error) {
|
||||
Service *s = ASSERT_PTR(SERVICE(u));
|
||||
|
||||
/* Ensure that the unit runs in a private mount namespace */
|
||||
if (!exec_needs_mount_namespace(&s->exec_context, /* params= */ NULL, s->exec_runtime))
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Unit '%s' not running in private mount namespace, cannot live mount.",
|
||||
u->id);
|
||||
|
||||
+22
-22
@@ -2290,16 +2290,16 @@ static void retroactively_start_dependencies(Unit *u) {
|
||||
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_START_REPLACE) /* Requires= + BindsTo= */
|
||||
if (!unit_has_dependency(u, UNIT_ATOM_AFTER, other) &&
|
||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||
(void) manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
||||
(void) manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, /* reterr_error = */ NULL, /* ret = */ NULL);
|
||||
|
||||
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_START_FAIL) /* Wants= */
|
||||
if (!unit_has_dependency(u, UNIT_ATOM_AFTER, other) &&
|
||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||
(void) manager_add_job(u->manager, JOB_START, other, JOB_FAIL, /* error = */ NULL, /* ret = */ NULL);
|
||||
(void) manager_add_job(u->manager, JOB_START, other, JOB_FAIL, /* reterr_error = */ NULL, /* ret = */ NULL);
|
||||
|
||||
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_STOP_ON_START) /* Conflicts= (and inverse) */
|
||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
||||
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* reterr_error = */ NULL, /* ret = */ NULL);
|
||||
}
|
||||
|
||||
static void retroactively_stop_dependencies(Unit *u) {
|
||||
@@ -2311,7 +2311,7 @@ static void retroactively_stop_dependencies(Unit *u) {
|
||||
/* Pull down units which are bound to us recursively if enabled */
|
||||
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_STOP_ON_STOP) /* BoundBy= */
|
||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
||||
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* reterr_error = */ NULL, /* ret = */ NULL);
|
||||
}
|
||||
|
||||
void unit_start_on_termination_deps(Unit *u, UnitDependencyAtom atom) {
|
||||
@@ -3533,7 +3533,7 @@ int unit_load_related_unit(Unit *u, const char *type, Unit **_found) {
|
||||
return r;
|
||||
}
|
||||
|
||||
static int signal_name_owner_changed_install_handler(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
static int signal_name_owner_changed_install_handler(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
Unit *u = ASSERT_PTR(userdata);
|
||||
const sd_bus_error *e;
|
||||
int r;
|
||||
@@ -3559,7 +3559,7 @@ static int signal_name_owner_changed_install_handler(sd_bus_message *message, vo
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int signal_name_owner_changed(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
static int signal_name_owner_changed(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
const char *new_owner;
|
||||
Unit *u = ASSERT_PTR(userdata);
|
||||
int r;
|
||||
@@ -3578,7 +3578,7 @@ static int signal_name_owner_changed(sd_bus_message *message, void *userdata, sd
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_name_owner_handler(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||
static int get_name_owner_handler(sd_bus_message *message, void *userdata, sd_bus_error *reterr_error) {
|
||||
const sd_bus_error *e;
|
||||
const char *new_owner;
|
||||
Unit *u = ASSERT_PTR(userdata);
|
||||
@@ -6096,7 +6096,7 @@ bool unit_needs_console(Unit *u) {
|
||||
return exec_context_may_touch_console(ec);
|
||||
}
|
||||
|
||||
int unit_pid_attachable(Unit *u, PidRef *pid, sd_bus_error *error) {
|
||||
int unit_pid_attachable(Unit *u, PidRef *pid, sd_bus_error *reterr_error) {
|
||||
int r;
|
||||
|
||||
assert(u);
|
||||
@@ -6106,20 +6106,20 @@ int unit_pid_attachable(Unit *u, PidRef *pid, sd_bus_error *error) {
|
||||
|
||||
/* First, a simple range check */
|
||||
if (!pidref_is_set(pid))
|
||||
return sd_bus_error_set(error, SD_BUS_ERROR_INVALID_ARGS, "Process identifier is not valid.");
|
||||
return sd_bus_error_set(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Process identifier is not valid.");
|
||||
|
||||
/* Some extra safety check */
|
||||
if (pid->pid == 1 || pidref_is_self(pid))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Process " PID_FMT " is a manager process, refusing.", pid->pid);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Process " PID_FMT " is a manager process, refusing.", pid->pid);
|
||||
|
||||
/* Don't even begin to bother with kernel threads */
|
||||
r = pidref_is_kernel_thread(pid);
|
||||
if (r == -ESRCH)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, "Process with ID " PID_FMT " does not exist.", pid->pid);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, "Process with ID " PID_FMT " does not exist.", pid->pid);
|
||||
if (r < 0)
|
||||
return sd_bus_error_set_errnof(error, r, "Failed to determine whether process " PID_FMT " is a kernel thread: %m", pid->pid);
|
||||
return sd_bus_error_set_errnof(reterr_error, r, "Failed to determine whether process " PID_FMT " is a kernel thread: %m", pid->pid);
|
||||
if (r > 0)
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Process " PID_FMT " is a kernel thread, refusing.", pid->pid);
|
||||
return sd_bus_error_setf(reterr_error, SD_BUS_ERROR_INVALID_ARGS, "Process " PID_FMT " is a kernel thread, refusing.", pid->pid);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -6531,19 +6531,19 @@ Condition *unit_find_failed_condition(Unit *u) {
|
||||
return failed_trigger && !has_succeeded_trigger ? failed_trigger : NULL;
|
||||
}
|
||||
|
||||
int unit_can_live_mount(Unit *u, sd_bus_error *error) {
|
||||
int unit_can_live_mount(Unit *u, sd_bus_error *reterr_error) {
|
||||
assert(u);
|
||||
|
||||
if (!UNIT_VTABLE(u)->live_mount)
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
SD_BUS_ERROR_NOT_SUPPORTED,
|
||||
"Live mounting not supported by unit type '%s'",
|
||||
unit_type_to_string(u->type));
|
||||
|
||||
if (u->load_state != UNIT_LOADED)
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
BUS_ERROR_NO_SUCH_UNIT,
|
||||
"Unit '%s' not loaded, cannot live mount",
|
||||
u->id);
|
||||
@@ -6551,7 +6551,7 @@ int unit_can_live_mount(Unit *u, sd_bus_error *error) {
|
||||
if (!UNIT_VTABLE(u)->can_live_mount)
|
||||
return 0;
|
||||
|
||||
return UNIT_VTABLE(u)->can_live_mount(u, error);
|
||||
return UNIT_VTABLE(u)->can_live_mount(u, reterr_error);
|
||||
}
|
||||
|
||||
int unit_live_mount(
|
||||
@@ -6561,7 +6561,7 @@ int unit_live_mount(
|
||||
sd_bus_message *message,
|
||||
MountInNamespaceFlags flags,
|
||||
const MountOptions *options,
|
||||
sd_bus_error *error) {
|
||||
sd_bus_error *reterr_error) {
|
||||
|
||||
assert(u);
|
||||
assert(UNIT_VTABLE(u)->live_mount);
|
||||
@@ -6569,7 +6569,7 @@ int unit_live_mount(
|
||||
if (!UNIT_IS_ACTIVE_OR_RELOADING(unit_active_state(u))) {
|
||||
log_unit_debug(u, "Unit not active, cannot perform live mount.");
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
BUS_ERROR_UNIT_INACTIVE,
|
||||
"Live mounting '%s' on '%s' for unit '%s' cannot be scheduled: unit not active",
|
||||
src,
|
||||
@@ -6580,7 +6580,7 @@ int unit_live_mount(
|
||||
if (unit_active_state(u) == UNIT_REFRESHING) {
|
||||
log_unit_debug(u, "Unit already live mounting, refusing further requests.");
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
BUS_ERROR_UNIT_BUSY,
|
||||
"Live mounting '%s' on '%s' for unit '%s' cannot be scheduled: another live mount in progress",
|
||||
src,
|
||||
@@ -6591,7 +6591,7 @@ int unit_live_mount(
|
||||
if (u->job) {
|
||||
log_unit_debug(u, "Unit already has a job in progress, cannot live mount");
|
||||
return sd_bus_error_setf(
|
||||
error,
|
||||
reterr_error,
|
||||
BUS_ERROR_UNIT_BUSY,
|
||||
"Live mounting '%s' on '%s' for unit '%s' cannot be scheduled: another operation in progress",
|
||||
src,
|
||||
@@ -6599,7 +6599,7 @@ int unit_live_mount(
|
||||
u->id);
|
||||
}
|
||||
|
||||
return UNIT_VTABLE(u)->live_mount(u, src, dst, message, flags, options, error);
|
||||
return UNIT_VTABLE(u)->live_mount(u, src, dst, message, flags, options, reterr_error);
|
||||
}
|
||||
|
||||
static const char* const collect_mode_table[_COLLECT_MODE_MAX] = {
|
||||
|
||||
+13
-6
@@ -600,8 +600,8 @@ typedef struct UnitVTable {
|
||||
bool (*can_reload)(Unit *u);
|
||||
|
||||
/* Add a bind/image mount into the unit namespace while it is running. */
|
||||
int (*live_mount)(Unit *u, const char *src, const char *dst, sd_bus_message *message, MountInNamespaceFlags flags, const MountOptions *options, sd_bus_error *error);
|
||||
int (*can_live_mount)(Unit *u, sd_bus_error *error);
|
||||
int (*live_mount)(Unit *u, const char *src, const char *dst, sd_bus_message *message, MountInNamespaceFlags flags, const MountOptions *options, sd_bus_error *reterr_error);
|
||||
int (*can_live_mount)(Unit *u, sd_bus_error *reterr_error);
|
||||
|
||||
/* Serialize state and file descriptors that should be carried over into the new
|
||||
* instance after reexecution. */
|
||||
@@ -661,7 +661,7 @@ typedef struct UnitVTable {
|
||||
void (*bus_name_owner_change)(Unit *u, const char *new_owner);
|
||||
|
||||
/* Called for each property that is being set */
|
||||
int (*bus_set_property)(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error);
|
||||
int (*bus_set_property)(Unit *u, const char *name, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *reterr_error);
|
||||
|
||||
/* Called after at least one property got changed to apply the necessary change */
|
||||
int (*bus_commit_properties)(Unit *u);
|
||||
@@ -1021,7 +1021,7 @@ int unit_warn_leftover_processes(Unit *u, bool start);
|
||||
|
||||
bool unit_needs_console(Unit *u);
|
||||
|
||||
int unit_pid_attachable(Unit *unit, PidRef *pid, sd_bus_error *error);
|
||||
int unit_pid_attachable(Unit *unit, PidRef *pid, sd_bus_error *reterr_error);
|
||||
|
||||
static inline bool unit_has_job_type(Unit *u, JobType type) {
|
||||
return u && u->job && u->job->type == type;
|
||||
@@ -1065,8 +1065,15 @@ void unit_next_freezer_state(Unit *u, FreezerAction action, FreezerState *ret_ne
|
||||
void unit_set_freezer_state(Unit *u, FreezerState state);
|
||||
void unit_freezer_complete(Unit *u, FreezerState kernel_state);
|
||||
|
||||
int unit_can_live_mount(Unit *u, sd_bus_error *error);
|
||||
int unit_live_mount(Unit *u, const char *src, const char *dst, sd_bus_message *message, MountInNamespaceFlags flags, const MountOptions *options, sd_bus_error *error);
|
||||
int unit_can_live_mount(Unit *u, sd_bus_error *reterr_error);
|
||||
int unit_live_mount(
|
||||
Unit *u,
|
||||
const char *src,
|
||||
const char *dst,
|
||||
sd_bus_message *message,
|
||||
MountInNamespaceFlags flags,
|
||||
const MountOptions *options,
|
||||
sd_bus_error *reterr_error);
|
||||
|
||||
Condition *unit_find_failed_condition(Unit *u);
|
||||
|
||||
|
||||
@@ -297,7 +297,7 @@ static int unit_runtime_build_json(sd_json_variant **ret, const char *name, void
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("CanIsolate", unit_can_isolate_refuse_manual(u)),
|
||||
JSON_BUILD_PAIR_CALLBACK_NON_NULL("CanClean", can_clean_build_json, u),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("CanFreeze", unit_can_freeze(u)),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("CanLiveMount", unit_can_live_mount(u, /* error= */ NULL) >= 0),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("CanLiveMount", unit_can_live_mount(u, /* reterr_error= */ NULL) >= 0),
|
||||
JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("JobId", u->job ? u->job->id : 0),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("NeedDaemonReload", unit_need_daemon_reload(u)),
|
||||
SD_JSON_BUILD_PAIR_BOOLEAN("ConditionResult", u->condition_result),
|
||||
|
||||
Reference in New Issue
Block a user