libsystemd-bus: copy over kdbus provided 128-bit bus id
kdbus now copies the bus unique id back to userspace in the hello ioctl(). Use these bytes to set the server id of the sd_bus.
This commit is contained in:
parent
d21a7bb1a9
commit
c58dea190c
|
@ -357,6 +357,9 @@ int bus_kernel_take_fd(sd_bus *b) {
|
|||
b->bus_client = true;
|
||||
b->can_fds = !!(hello.conn_flags & KDBUS_HELLO_ACCEPT_FD);
|
||||
|
||||
/* the kernel told us the UUID of the underlying bus */
|
||||
memcpy(b->server_id.bytes, hello.id128, sizeof(b->server_id.bytes));
|
||||
|
||||
r = bus_start_running(b);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
|
|
@ -276,6 +276,8 @@ struct kdbus_cmd_hello {
|
|||
__u64 bloom_size; /* The bloom filter size chosen by the
|
||||
* bus owner */
|
||||
__u64 pool_size; /* maximum size of pool buffer */
|
||||
__u8 id128[16]; /* the unique id of the bus */
|
||||
|
||||
struct kdbus_item items[0];
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue