m->header->endian = SD_BUS_NATIVE_ENDIAN;
m->header->type = type;
m->header->version = bus ? bus->message_version : 1;
- m->allow_fds = !bus || bus->can_fds;
+ m->allow_fds = !bus || bus->can_fds || (bus->state != BUS_HELLO && bus->state != BUS_RUNNING);
return m;
}
return -EINVAL;
if (!m)
return -EINVAL;
+ if (bus && bus->state == BUS_UNSET)
+ return -ENOTCONN;
t = message_new(bus, SD_BUS_MESSAGE_TYPE_SIGNAL);
if (!t)
return -EINVAL;
if (!m)
return -EINVAL;
+ if (bus && bus->state == BUS_UNSET)
+ return -ENOTCONN;
t = message_new(bus, SD_BUS_MESSAGE_TYPE_METHOD_CALL);
if (!t)
return -EINVAL;
if (!m)
return -EINVAL;
+ if (bus && bus->state == BUS_UNSET)
+ return -ENOTCONN;
t = message_new(bus, type);
if (!t)