summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-12-24bus: fake client side creds in the proxy to the caller's credsLennart Poettering
2013-12-24bus: allow peeking signatures recusively inside of containersLennart Poettering
Previously we invalidated the peeked signature as soon as the caller would recurse into a container, making stack based handling difficult. With this change we will keep the peeked signature around until the user advances to the next field.
2013-12-23bus: fix assert when serializing fixed size struct to gvariantLennart Poettering
2013-12-23bus: don't attach KDBUS_ITEM_ID to match ioctl() if we don't need itLennart Poettering
2013-12-23bus: fix sender match creation on kdbusLennart Poettering
2013-12-23sd-event: make sd_event_add_signal() fail with EBUSY if signal is not blockedLennart Poettering
2013-12-23sd-event: fix return code of sd_event_run()Lennart Poettering
2013-12-23bus: update kdbus.hKay Sievers
2013-12-23bus: when getting a kdbus connection into a container wait first for child, ↵Lennart Poettering
then read message There's no EOF generated for AF_UNIX/SOCK_DGRAM sockets, hence let's wait for the child first to see if it succeeded, only then read the socket.
2013-12-23bus: when we are connected to a bus, then do not assume peer creds are ↵Lennart Poettering
useful as message creds
2013-12-23bus: make sure sd_bus_emit_properties_changed_strv() doesn't return ENOENT ↵Lennart Poettering
if no properties with a change flag are in the interface
2013-12-23bus: write debug message when we get a method call we cannot handleLennart Poettering
2013-12-23bus: make sure to request peer cred only after connect(), not beforeLennart Poettering
2013-12-23bus: always talk to the full dbus driver objectLennart Poettering
2013-12-23bus-proxyd: synthesize NameAcquire/NameLost signals for socket clientsLennart Poettering
2013-12-23bus: use memcpy() rather than unbounded strcpy()Lennart Poettering
2013-12-23bus: switch kdbus bloom filter over to SipHash (from MurmurHash3)Lennart Poettering
Let's try to standardize on a single non-cryptographic hash algorithm, and for that SipHash appears to be the best answer. With this change there are two other hash functions left in systemd: an older version of MurmurHash embedded into libudev for the bloom filters in udev messages (which is hard to update, given that the we probably should stay compatible with older versions of the library). And lookup3 in the journal files (which we could replace for new files, but which is probably not worth the work).
2013-12-22sd-daemon: introduce sd_watchdog_enabled() for parsing $WATCHDOG_USECLennart Poettering
Also, introduce a new environment variable named $WATCHDOG_PID which cotnains the PID of the process that is supposed to send the keep-alive events. This is similar how $LISTEN_FDS and $LISTEN_PID work together, and protects against confusing processes further down the process tree due to inherited environment.
2013-12-22shared: switch our hash table implementation over to SipHashLennart Poettering
SipHash appears to be the new gold standard for hashing smaller strings for hashtables these days, so let's make use of it.
2013-12-22bus: also take write queue into consideration in sd_bus_try_close()Lennart Poettering
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