core: Rename error sd_bus_error parameters to reterr_error

This commit is contained in:
Daan De Meyer
2025-11-26 16:22:50 +09:00
committed by Yu Watanabe
parent c421392811
commit 27217200f6
41 changed files with 1392 additions and 1239 deletions
+7 -7
View File
@@ -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;
}
+6 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+61 -8
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+9 -9
View File
@@ -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 -1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+24 -3
View File
@@ -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
View File
@@ -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;
}
+6 -1
View File
@@ -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
View File
@@ -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;
}
+6 -1
View File
@@ -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
View File
@@ -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 -2
View File
@@ -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
View File
@@ -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;
}
+9 -4
View File
@@ -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);
+7 -7
View File
@@ -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;
}
+1 -1
View File
@@ -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
View File
@@ -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;
}
+1 -1
View File
@@ -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);
+2 -2
View File
@@ -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) {
+1 -1
View File
@@ -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
View File
@@ -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;
}
+6 -1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+18 -18
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+11 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+1 -1
View File
@@ -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),