summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-12-22bus: allow invocation of sd_bus_emit_properties_changed_strv() with NULL listLennart Poettering
When NULL is passed this shall indicate that a PropertiesChanged message for all properties marked as EMITS_CHANGE or EMITS_INVALIDATION should be generated.
2013-12-22bus: introduce concept of "const" propertiesLennart Poettering
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.
2013-12-21bus: when getting credentials of a bus name that is activatable but not ↵Lennart Poettering
activated, say we don't have anything.
2013-12-21bus: when introspecting, turn unprivileged flag into inverse annoation of ↵Lennart Poettering
"privileged" Internally, it makes sense to have a default of "privileged" for methods, and a flag to open it up. However, externally in the bus introspection turn this around since negative options actually suck.
2013-12-21bus: send status message from proxyd to systemd about client we are working forLennart Poettering
2013-12-21bus: refuse messages pretending to originate from local interfaceLennart Poettering
2013-12-21bus: in sd_bus_try_close() consider local read queue tooLennart Poettering
2013-12-21bus: always override message destination field with data from kdbusLennart Poettering
2013-12-21bus: always consider well-known names sender credentials as attached to messagesLennart Poettering
2013-12-21bus: when filtering by sender take well known names lest from attached creds ↵Lennart Poettering
into account
2013-12-21bus: when watching bus names, we always need to add a change matchLennart Poettering
Since for the kernel change of ownership of a name between starter and real client is a change and for userspace thats addition/removal, we need to unconditionally subscribe to these change events.
2013-12-20bus: wrap KDBUS_CMD_BYEBYE with a high-level call sd_bus_try_close()Lennart Poettering
2013-12-20libsystemd-bus: match on any connection ID unless specifiedDaniel Mack
2013-12-20libsystemd-bus: follow changes in kdbusDaniel Mack
In particular, the match interface has seen a major overhaul.
2013-12-19sd-event: return 1 in sd_event_run() when we hit EINTRLennart Poettering
That way we can distuingish timeouts from EINTR
2013-12-19bus: fix exit-on-idle for driverdLennart Poettering
2013-12-19bus: reenable id change subscriptionsLennart Poettering
2013-12-19bus: do not add empty strings, size should be 0Kay Sievers
2013-12-19driverd: implement AddMatch/RemoveMatch logicLennart Poettering
2013-12-18bus: catch up with kdbus changesKay Sievers
2013-12-18bus: reduce calls to KDBUS_CMD_MEMFD_SIZE_SET ioctlLennart Poettering
Instead of calling it for each buffer append, increase allocation exponentially and set the real value only at the end, when sealing off the memfd. This should drastically reduce the number of times we invoke the ioctl().
2013-12-18busctl: output a single sorted list of names, including activatable and ↵Lennart Poettering
activated
2013-12-18bus: beef up driverdLennart Poettering
Add validity checks for all parameters passed in. Implement ReleaseName and StartServiceByName(). Fix access control in vtable.
2013-12-18bus: when releasing, taking, listing bus names check if they are validLennart Poettering
Given that the kernel does not validate bus names we have to when using them.
2013-12-18bus: sync with kdbusDaniel Mack
Two new things here: a) struct kdbus_notify_name_change now carries two struct kdbus_notify_id_change b) a new KDBUS_CMD_BYEBYE ioctl that has no user yet in systemd
2013-12-17bus-util: return errors when encounteredThomas Hindoe Paaboel Andersen
Introduced in: 9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75 313333b403439360c0396a50d77d0a1ee2bca4df
2013-12-17__thread --> thread_local for C11 compatShawn Landden
Also make thread_local available w/o including <threads.h>. (as the latter hasn't been implemented, but this part is trivial)
2013-12-17libsystemd-bus: true/false instead of yes/no in msg dumpLukasz Skalski
Due to this patch, message dump (for message which includes boolean type) is more consistent with dbus-send (which display true/false instead of yes/no for boolean). It's only simple 'cosmetics change'. ** For dbus-send ** dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply / org.freedesktop.DBus.NameHasOwner string:org.freedesktop.login1 method return sender=org.freedesktop.DBus -> dest=:1.97 reply_serial=2 boolean true ** For libsystemd-bus (without this patch) ** ‣ Type=method_call Endian=l Flags=0 Version=2 Serial=8 Destination=org.freedesktop.DBus Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=NameHasOwner MESSAGE "s" { STRING "org.freedesktop.login1"; }; ‣ Type=method_return Endian=l Flags=1 Version=2 Serial=51 ReplySerial=8 Sender=:1.59 Destination=:1.67 UniqueName=:1.59 WellKnownNames={org.freedesktop.DBus} MESSAGE "b" { BOOLEAN yes; }; For me true/false seems to be better readable than yes/no for BOOLEAN.
2013-12-17busctl: on kdbus the bus driver is a service like any other, hence don't skip itLennart Poettering
2013-12-17bus: remarshal messages when necessary before sendingLennart Poettering
2013-12-17bus: sync with kdbusDaniel Mack
kdbus_cmd_{ep,ns,bus}_make are now consolidated, and bloom_size has become an item of the dynamically sized list.
2013-12-17bus: sync up with kdbusDaniel Mack
2013-12-16bus: use gperf to map error string to errnoZbigniew Jędrzejewski-Szmek
2013-12-17bus: update kdbus.hKay Sievers
2013-12-17bus: when connecting to a container's system bus, double fork after joining ↵Lennart Poettering
the container's namespace setns(CLONE_NEWPID) only applies to child processes, hence let's fork once after joining the container's namespace.
2013-12-17bus: when entering an existing namespace to connect to a container's system ↵Lennart Poettering
bus also switch over PID namespace This is necessary to ensure that kdbus can collect creds of the destination namespace when connecting.
2013-12-16bus: use GREEDY_REALLOC() when allocating message queuesLennart Poettering
2013-12-16bus: let's use GREEDY_REALLOC() when allocating space for containersLennart Poettering
2013-12-16kdbus.h: add alignment requirementsKay Sievers
2013-12-16bus: increase the bus socket buffer to 8 MB similar, to the log socket buffersLennart Poettering
2013-12-15Fix segv introduced by 2fd069b18e525860514a70d3ea08410ca122d3e2Colin Walters
n->path is pointing to the value now, we set s = NULL above.
2013-12-15Fix a few resource leaks in error pathsZbigniew Jędrzejewski-Szmek
https://bugzilla.redhat.com/show_bug.cgi?id=1043304
2013-12-15bus: _printf_ attributes should be on prototypes not function definitions ↵Lennart Poettering
for non-static functions
2013-12-15bus: update kdbus monitoring interfaceKay Sievers
2013-12-14bus: return negative errno on errorZbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=72688
2013-12-14Add more _printf_'s for format-nonliteralsThomas Hindoe Paaboel Andersen
Clang is a bit more strict wrt format-nonliterals: http://clang.llvm.org/docs/LanguageExtensions.html#format-string-checking Adding these extra printf attributes also makes gcc able to find more problems. E.g. this patch uncovers a format issue in udev-builtin-path_id.c Some parts looked intetional about breaking the format-nonliteral check. I added some supression for warnings there.
2013-12-14event: some snake-oil to speed up impossible error checksLennart Poettering
2013-12-14event: instead of reset the revents field when we get new revents data from ↵Lennart Poettering
epoll, OR it in
2013-12-14event: dynamically adjust size of events array instead of pre-allocating it ↵Lennart Poettering
possibly too large or too small
2013-12-14bus: when connecting to a container's kdbus instance, enter namespace firstLennart Poettering
Previously we'd open the connection in the originating namespace, which meant most peers of the bus would not be able to make sense of the PID/UID/... identity of us since we didn't exist in the namespace they run in. However they require this identity for privilege decisions, hence disallowing access to anything from the host. Instead, when connecting to a container, create a temporary subprocess, make it join the container's namespace and then connect from there to the kdbus instance. This is similar to how we do it for socket conections already. THis also unifies the namespacing code used by machinectl and the bus APIs.