summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-12-10bus: generate debug messages when we cannot deliver messages via kdbusLennart Poettering
2013-12-10bus: when we _unref() a NULL pointer, don't use assert_return()Lennart Poettering
We support unreffing NULL pointers just fine and we shouldn't pay the _unlikely_() price for it, not get a debug message if we do, hence let's not use assert_return() here.
2013-12-10bus: Add bus_kernel_monitor functionLukasz Skalski
2013-12-10Revert "libsystemd-bus: use assert_return"Lennart Poettering
This reverts commit f7e2bd5a8070ba86cba6bcbf7d1c9a8173d846d4. Most of these checks are not programming errors, but happen during normal runtime. For example bus_kernel_pop_memfd() is called all the time on non-kdbus systems and is supposed to quickly fail if kdbus is not available. However, assert_return() makes this failure expensive, and hence has no place here. With the most recent change to assert_return() it will even log a debug message, which should never happen here.
2013-12-10bus: update kdbus.hKay Sievers
2013-12-10macro: log assertion at debug level in assert_return()Lennart Poettering
2013-12-10bus: introduce new SD_BUS_VTABLE_HIDDEN flag for vtable membersLennart Poettering
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.
2013-12-10bus: introduce "trusted" bus concept and encode access control in object vtablesLennart Poettering
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.
2013-12-09libsystemd-bus: use assert_returnLukasz Skalski
2013-12-10test: add gvariant test for empty messagesLennart Poettering
2013-12-10bus: properly handle empty messagesLennart Poettering
2013-12-10bus: empty gvariant arrays should at least get size 1Lennart Poettering
2013-12-10bus: it's OK to send messages with an empty payload but non-empty signatureLennart Poettering
THis might happen when sending arrays with 0 enttries, hence this is not an indication for a problem.
2013-12-10bus: update kdbus.hLennart Poettering
2013-12-10bus: make gcc shut upLennart Poettering
2013-12-10bus: beef up zero copy test caseLennart Poettering
2013-12-10bus: only accept gvariant native endian messages via kdbusLennart Poettering
2013-12-10bus: fix rewinding in gvariant messagesLennart Poettering
2013-12-10bus: fix signature handling when exiting containerLennart Poettering
2013-12-10bus: properly deserialize gvariant fixed size arraysLennart Poettering
2013-12-10bus: handler empty messages correctly when using gvariant marshallingLennart Poettering
2013-12-10bus: suppress creating empty parts in messagesLennart Poettering
2013-12-09bus: rely on explicit eof check instead of checking when mapping payloadLennart Poettering
This allows us to drop quite a bit of code.
2013-12-09bus: rearrange bus-message.c function order to keep read and write calls ↵Lennart Poettering
together
2013-12-09bus: demarshal gvariantLennart Poettering
2013-12-06bus: catch up with latest kdbus changesKay Sievers
2013-12-06bus: catch up with latest kdbus changesKay Sievers
2013-12-06bus: catch up with latest kdbus changesKay Sievers
2013-12-06busctl: remove ','; it's all one stringKay Sievers
2013-12-05shell-completion: busctlZbigniew Jędrzejewski-Szmek
2013-12-06bus: update kdbus.hKay Sievers
2013-12-05test-bus-gvariant: remove unused variableThomas Hindoe Paaboel Andersen
2013-12-05bus: start maintaining a list of difference between kdbus/dbus1Lennart Poettering
2013-12-05bus: add missing LE meta data enforcement for gvariant serializerLennart Poettering
2013-12-05bus: add support for serializing to gvariantLennart Poettering
(deserialization is still missing, hence this is not hooked up to kdbus)
2013-12-05bus: switch to multiple KDBUS_ITEM_NAME including the flagsKay Sievers
2013-12-04libsystemd-bus: catch up with latest kdbus changesKay Sievers
2013-12-04libsystemd-bus: catch up with latest kdbus list query changesKay Sievers
2013-12-03trivial coding style clean upsThomas Hindoe Paaboel Andersen
- Add space between if/for and the opening parentheses - Place the opening brace on same line as the function (not for udev) From the CODING_STYLE Try to use this: void foo() { } instead of this: void foo() { }
2013-12-03sd-memfd: use assert_returnThomas Hindoe Paaboel Andersen
2013-12-03bus: fix parsing of AcquireName() responseLennart Poettering
2013-12-03bus: don't make use of the private bus socket if kdbus is availableLennart Poettering
2013-12-03bus: rework sd_bus_list_names() to return two lists for acquired and ↵Lennart Poettering
activatable names
2013-12-03bus: internalize a lot of protocol definitionsLennart Poettering
We shouldn export what isn't necessary or useful to clients, so let's add the protocol definitions we only need internally into a private header.
2013-12-03bus: make sd_bus_request_name() and sd_bus_release_name() behave more like ↵Lennart Poettering
other calls Instead of returning an enum of return codes, make them return error codes like kdbus does internally. Also, document this behaviour so that clients can stick to it. (Also rework bus-control.c to always have to functions for dbus1 vs. kernel implementation of the various calls.)
2013-12-03libsystemd-bus: catch up with latest kdbus changesDaniel Mack
2013-12-03libsystemd-bus: catch up with latest kdbus changesDaniel Mack
2013-12-02bus: add .busname unit type to implement kdbus-style bus activationLennart Poettering
2013-12-02bus: make sure we check for "incompatible" flags negotiated with kernel kdbusLennart Poettering
2013-12-02libsystemd-bus: catch up with latest kdbus changesDaniel Mack