mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 00:14:32 +09:00
Document the fact that read-only properties may not have the flag SD_BUS_VTABLE_UNPRIVILEGED as that is not obvious especially given the flag is accepted for writable properties. Based on the check in `add_object_vtable_internal` called by `sd_bus_add_object_vtable` (as of the current tip of the main branchf7f5ba0192): case _SD_BUS_VTABLE_PROPERTY: { [...] if ([...] || [...] (v->flags & SD_BUS_VTABLE_UNPRIVILEGED && v->type == _SD_BUS_VTABLE_PROPERTY)) { r = -EINVAL; goto fail; } (where `_SD_BUS_VTABLE_PROPERTY` means read-only property whereas `_SD_BUS_VTABLE_WRITABLE_PROPERTY` maps to writable property). This was implemented in the commitadacb9575a("bus: introduce "trusted" bus concept and encode access control in object vtables") where `SD_BUS_VTABLE_UNPRIVILEGED` was introduced: Writable properties are also subject to SD_BUS_VTABLE_UNPRIVILEGED and SD_BUS_VTABLE_CAPABILITY() for controlling write access to them. Note however that read access is unrestricted, as PropertiesChanged messages might send out the values anyway as an unrestricted broadcast.
36 KiB
36 KiB