/* The well knowns we need unconditionally, so that matches can work */
bus->creds_mask = mask | SD_BUS_CREDS_WELL_KNOWN_NAMES|SD_BUS_CREDS_UNIQUE_NAME;
- return kdbus_translate_attach_flags(bus->creds_mask, &bus->creds_mask);
+ return kdbus_translate_attach_flags(bus->creds_mask, &bus->attach_flags);
}
_public_ int sd_bus_set_server(sd_bus *bus, int b, sd_id128_t server_id) {
int r;
assert_return(bus, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
assert_return(m, -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!bus->is_kernel || !(bus->hello_flags & KDBUS_HELLO_MONITOR), -EROFS);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
+
if (m->n_fds > 0) {
r = sd_bus_can_send(bus, SD_BUS_TYPE_UNIX_FD);
if (r < 0)
int r;
assert_return(bus, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
assert_return(m, -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
+
if (!streq_ptr(m->destination, destination)) {
if (!destination)
int r;
assert_return(bus, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
assert_return(m, -EINVAL);
assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL);
assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!bus->is_kernel || !(bus->hello_flags & KDBUS_HELLO_MONITOR), -EROFS);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
+
r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func);
if (r < 0)
return r;
int r;
assert_return(bus, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
assert_return(m, -EINVAL);
assert_return(m->header->type == SD_BUS_MESSAGE_METHOD_CALL, -EINVAL);
assert_return(!(m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED), -EINVAL);
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(!bus->is_kernel || !(bus->hello_flags & KDBUS_HELLO_MONITOR), -EROFS);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
+
r = bus_ensure_running(bus);
if (r < 0)
return r;
int flags = 0;
assert_return(bus, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN);
assert_return(!bus_pid_changed(bus), -ECHILD);
+ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING)
+ return -ENOTCONN;
+
if (bus->state == BUS_OPENING)
flags |= POLLOUT;
else if (bus->state == BUS_AUTHENTICATING) {
assert_return(bus, -EINVAL);
assert_return(timeout_usec, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state) || bus->state == BUS_CLOSING, -ENOTCONN);
assert_return(!bus_pid_changed(bus), -ECHILD);
+ if (!BUS_IS_OPEN(bus->state) && bus->state != BUS_CLOSING)
+ return -ENOTCONN;
+
if (bus->track_queue) {
*timeout_usec = 0;
return 1;
if (bus->state == BUS_CLOSING)
return 1;
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
e = sd_bus_get_events(bus);
if (e < 0)
if (bus->state == BUS_CLOSING)
return 0;
- assert_return(BUS_IS_OPEN(bus->state) , -ENOTCONN);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
if (bus->rqueue_size > 0)
return 0;
if (bus->state == BUS_CLOSING)
return 0;
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
r = bus_ensure_running(bus);
if (r < 0)
assert_return(bus, -EINVAL);
assert_return(mask <= _SD_BUS_CREDS_ALL, -ENOTSUP);
assert_return(ret, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
assert_return(!bus_pid_changed(bus), -ECHILD);
- assert_return(!bus->is_kernel, -ENOTSUP);
+
+ if (!bus->is_kernel)
+ return -ENOTSUP;
+
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
if (!bus->ucred_valid && !isempty(bus->label))
return -ENODATA;
int r;
assert_return(bus, -EINVAL);
- assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
assert_return(!bus_pid_changed(bus), -ECHILD);
- assert_return(bus->is_kernel, -ENOTSUP);
+
+ if (!bus->is_kernel)
+ return -ENOTSUP;
+
+ if (!BUS_IS_OPEN(bus->state))
+ return -ENOTCONN;
if (bus->rqueue_size > 0)
return -EBUSY;