mirror of
https://github.com/systemd/systemd.git
synced 2026-08-04 15:10:33 +00:00
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:
@@ -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];
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user