summaryrefslogtreecommitdiff
path: root/src/systemd/sd-bus-vtable.h
Commit message (Collapse)AuthorAge
* ISO-C compatibility: Remove empty initializer (#8713)Leonard2018-06-28
| | | | | | | | | | ISO-C doesn't allow empty initializers, so replace it by explicitly initializing to zero. Also add braces because x is a union and we initialize a subobject, so a compiler might warn about suggesting braces. Shut that up. (cherry picked from commit d579a56c397a1aeaa490032a9f7aabd82124f1c8)
* Prep v236 : Add missing SPDX-License-Identifier (7/9) src/systemdSven Eden2018-03-26
|
* sd-bus: fix c++ compatibility (#5941)Matthijs van Duin2017-07-25
| | | | | | | g++ annoyingly requires a non-empty struct-initializer to initialize all struct members, in order of declaration. Signed-off-by: Matthijs van Duin <matthijsvanduin@gmail.com>
* Syntax for defines that is also unterstood by the GNU C/C++ compilers. (#5397)pyBlob2017-07-17
|
* Prep v230: Apply missing upstream fixes and updates (8/8) src/systemd.Sven Eden2017-06-16
|
* Prep v229: Remove remaining emacs settings [6/6] src/systemdSven Eden2017-05-17
|
* Prep v225: Applying various fixes and changes to src/systemd that got lost ↵Sven Eden2017-03-14
| | | | during git am transfer.
* sd-bus: remove _VTABLE from new method vtable initialiserdaurnimator2017-03-14
|
* sd-bus: add 'offset' member for vtable methodsdaurnimator2017-03-14
| | | | | Defaults to zero, which retains the current behaviour. Fixes #577
* bus: introduce concept of "const" propertiesLennart Poettering2013-12-22
| | | | | | | | | | | | This way we have four kinds of properties: a) those which are constant as long as an object exists b) those which can change and PropertiesChange messages with contents are generated c) those which can change and where the PropertesChange merely includes invalidation d) those which can change but for which no events are generated Clients (through code generators run on the introspection XML) can thus aggressively cache a, b, c, with only d excluded.
* bus: instead of exposing the dbus1 flags when acquiring a name use our own ↵Lennart Poettering2013-12-12
| | | | | | | that are closer to kdbus This turns around DO_NOT_QUEUE into QUEUE which implies a more useful default. (And negative options are awful anyway.)
* bus: introduce new SD_BUS_VTABLE_HIDDEN flag for vtable membersLennart Poettering2013-12-10
| | | | | | When this flag is set then its member will not be shown in the introspection data. Also, properties with this flag set will not be included in GetAll() responses.
* bus: introduce "trusted" bus concept and encode access control in object vtablesLennart Poettering2013-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces a new concept of "trusted" vs. "untrusted" busses. For the latter libsystemd-bus will automatically do per-method access control, for the former all access is automatically granted. Per-method access control is encoded in the vtables: by default all methods are only accessible to privileged clients. If the SD_BUS_VTABLE_UNPRIVILEGED flag is set for a method it is accessible to unprivileged clients too. By default whether a client is privileged is determined via checking for its CAP_SYS_ADMIN capability, but this can be altered via the SD_BUS_VTABLE_CAPABILITY() macro that can be ORed into the flags field of the method. 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. By default the system bus is set to "untrusted" and the user bus is "trusted" since per-method access control on the latter is unnecessary. On dbus1 busses we check the UID of the caller rather than the configured capability since the capability cannot be determined without race. On kdbus the capability is checked if possible from the attached meta-data of a message and otherwise queried from the sending peer. This also decorates the vtables of the various daemons we ship with these flags.
* api: replace manual C++ guards by macrosLennart Poettering2013-11-07
|
* api: add C++ guardsLennart Poettering2013-11-07
|
* bus: don't rely on gccisms/c11 in public header files.Lennart Poettering2013-10-11
| | | | | | | One day sd-bus.h should become a public header file. We generally try to be conservative in language features we use in public headers (much unlike in private code), hence don't make use of anonymous unions in structs for the vtable definitions.
* bus: when NULL is specified as property callback, automatically handle ↵Lennart Poettering2013-10-11
| | | | serialization on Get()
* libsystemd-bus: add lightweight object vtable implementation for exposing ↵Lennart Poettering2013-10-09
objects on the bus This adds a lightweight scheme how to define interfaces in static fixed arrays which then can be easily registered on a bus connection. This makes it much easier to write bus services. This automatically handles implementation of the Properties, ObjectManager, and Introspection bus interfaces.