mirror of
https://github.com/systemd/systemd.git
synced 2026-07-13 02:51:14 +00:00
bus: send attach flags on BUS_MAKE
Make sure to set send-attach-flags on BUS_MAKE. These control which information is revealed about the bus-owner.
This commit is contained in:
@@ -1510,6 +1510,7 @@ int bus_kernel_create_bus(const char *name, bool world, char **s) {
|
||||
make = alloca0_align(offsetof(struct kdbus_cmd_make, items) +
|
||||
ALIGN8(offsetof(struct kdbus_item, bloom_parameter) + sizeof(struct kdbus_bloom_parameter)) +
|
||||
ALIGN8(offsetof(struct kdbus_item, data64) + sizeof(uint64_t)) +
|
||||
ALIGN8(offsetof(struct kdbus_item, data64) + sizeof(uint64_t)) +
|
||||
ALIGN8(offsetof(struct kdbus_item, str) + DECIMAL_STR_MAX(uid_t) + 1 + l + 1),
|
||||
8);
|
||||
|
||||
@@ -1536,6 +1537,13 @@ int bus_kernel_create_bus(const char *name, bool world, char **s) {
|
||||
n->data64[0] = _KDBUS_ATTACH_ANY;
|
||||
make->size += ALIGN8(n->size);
|
||||
|
||||
/* Provide all metadata via bus-owner queries */
|
||||
n = KDBUS_ITEM_NEXT(n);
|
||||
n->type = KDBUS_ITEM_ATTACH_FLAGS_SEND;
|
||||
n->size = offsetof(struct kdbus_item, data64) + sizeof(uint64_t);
|
||||
n->data64[0] = _KDBUS_ATTACH_ANY;
|
||||
make->size += ALIGN8(n->size);
|
||||
|
||||
/* Set the a good name */
|
||||
n = KDBUS_ITEM_NEXT(n);
|
||||
sprintf(n->str, UID_FMT "-%s", getuid(), name);
|
||||
|
||||
Reference in New Issue
Block a user