summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-12-27bus: add some preliminary docs for porting existing dbus1 client libraries ↵Lennart Poettering
to kdbus
2013-12-26bus: update kdbus.hKay Sievers
2013-12-26bus: always show messages we sendLennart Poettering
2013-12-26bus: don't process Peer interface messages in the proxyLennart Poettering
2013-12-26bus: make system bus kdbus node world-accessibleLennart Poettering
2013-12-25bus: add a bit of pure/const decoratorsLennart Poettering
2013-12-25man: document sd_bus_message_get_cookie()Lennart Poettering
2013-12-25bus: rename message "serial" to "cookie"Lennart Poettering
Even if the lower-leveld dbus1 protocol calls it "serial", let's expose the word "cookie" for this instead, as this is what kdbus uses and since it doesn't imply monotonicity the same way "serial" does.
2013-12-25bus: conditionally set cookie_reply/timeout and update kdbus.hKay Sievers
2013-12-25bus: update kdbus.hKay Sievers
2013-12-25bus: set cookie_reply and update kdbus.hKay Sievers
2013-12-25bus: also write debug logs about messages we sendLennart Poettering
2013-12-25bus: be a bit more verbose when debug mode is onLennart Poettering
2013-12-24bus: properly shift cgroup data returned from kdbus by the container's root ↵Lennart Poettering
before parsing
2013-12-24busctl: show service/session a name belongs to in the list of namesLennart Poettering
Also, don't show machine name by default as this might cause timeouts on non-responding peers.
2013-12-24bus: only accept kdbus creds if they are validLennart Poettering
This allows userspace to fake kdbus creds via struct ucred in the proxy, without making the recieving side choke on the missing fields of the kdbus struct, more precisel pid_starttime and tid
2013-12-24util: unify SO_PEERCRED/SO_PEERSEC invocationsLennart Poettering
Introduce new call getpeercred() which internally just uses SO_PEERCRED but checks if the returned data is actually useful due to namespace quirks.
2013-12-24bus: fix hello ioctl buffer size calculationLennart Poettering
2013-12-24bus: make gcc shut upLennart Poettering
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.