summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-11-30bus: catch up with kdbusKay Sievers
2013-11-30bus: do kdbus only if this is enabled on the configure switchLennart Poettering
Since we want to retain the ability to break kernel ←→ userspace ABI after the next release, let's not make use by default of kdbus, so that people with future kernels will not suddenly break with current systemd versions. kdbus support is left in all builds but must now be explicitly requested at runtime (for example via setting $DBUS_SESSION_BUS). Via a configure switch the old behaviour can be restored. In fact, we change autogen.sh to do this, so that git builds (which run autogen.sh) get kdbus by default, but tarball builds (which ue the configure defaults) do not get it, and hence this stays out of the distros by default.
2013-11-30bus: use "System.Error." as prefix for implicit errno bus errorsLennart Poettering
We probably shouldn't use "Posix.Error" since many of the errors have nothing to do with Posix.
2013-11-30bus: support temporarily const errors that don't need to be freed but ↵Lennart Poettering
require deep copies This should fix issues with incorrectly copying bus error messages out of sd_bus_message objects. Original bug found by: Djalal Harouni
2013-11-30libsystemd-bus: sync kdbus.hDaniel Mack
2013-11-30nspawn: set up a kdbus namespace when starting a containerLennart Poettering
2013-11-30bus: append unique and well known names to all messages unconditionallyLennart Poettering
2013-11-30bus: include unique and well known names in credentials objectLennart Poettering
2013-11-30bus: update kdbus.hKay Sievers
2013-11-30libsystemd-bus: catch up with latest kdbus changesDaniel Mack
The name list and query functions now work differently in kdbus, as the result is stored in the connection's pool, rather than being copied back through the ioctl buffer. That also safes us some logic, as we don't have to resize the communication buffer in a loop with growing buffer sizes. Due to this, KDBUS_CMD_MSG_RELEASE was renamed to KDBUS_CMD_FREE, as it is now used outside the message logic as well.
2013-11-30core: allocate a kdbus bus for each systemd instance, if we canLennart Poettering
2013-11-30bus: whenever we notice the connection is terminated enter CLOSING stateLennart Poettering
2013-11-30bus: synthesize local error reply when we cannot deliver a message to kdbus ↵Lennart Poettering
because the destination is unavailable
2013-11-30bus: don't generate NameAcquired/NameLost messages in the libraryLennart Poettering
The signals appear entirely redundant due to NameOwnerChange, hence don't do them in the new library, instead leave them for the compatibility bridge only. Also, set the serial number for synthesized messages to (uint32_t) -1.
2013-11-29bus: revert attempts to make the integration-testing workKay Sievers
fa6ccbf42360cdd794ae3164b76e0cc8f0bd62de 197941a8d5d74d79ca45ae73ec114939a8e88244 547708f59edd73d98edcbe84e95b41f7b3321f3b
2013-11-29bus: synthesize NameLost/NameAcquired from kernel messages on top if ↵Lennart Poettering
NameOwnerChange
2013-11-29bus: fix callback index when dispatching kernel messagesLennart Poettering
2013-11-29bus: add the ability for backends to queue to input messages at the same timeLennart Poettering
We need this so that one incoming kernel message can result in two high-level bus messages, for the case where we synthesize NameAcquired and NameOwnerChanged in the same instance.
2013-11-29libsystemd-bus: sd_bus_request_name: use kdbus_translate_request_name_flags()Daniel Mack
2013-11-29libsystemd-bus: rename sd_bus_kernel_translate_request_name_flagsDaniel Mack
... to keep the namespace clean.
2013-11-29libsystemd-bus: add kdbus support for sd_bus_get_owner()Daniel Mack
2013-11-29libsystemd-bus: add sd_bus_translate_attach_flags()Daniel Mack
Factor out code from sd_bus_negotiate_attach_creds() to a generic translate function, so it can be used from other places.
2013-11-29libsystemd-bus: factor out DBus bits out of sd_bus_get_owner()Daniel Mack
Just a preparation for upcoming kdbus support.
2013-11-29bus: do not fail if "comm" information cannot be retrieved from /procKay Sievers
2013-11-29bus: fix size calculation for match dataKay Sievers
2013-11-29bus: when synthesizing messages locally, fill in a senderLennart Poettering
2013-11-29busctl: fix --help line breaksLennart Poettering
2013-11-29kdbus: synthesize NameOwnerChange signals from kernel messages and support ↵Lennart Poettering
matches against NameOwnerChange
2013-11-29kdbus: add base enums for itemsLennart Poettering
2013-11-29bus: do not fail if task information cannot be retrieved from /procKay Sievers
2013-11-29libsystemd-bus: clean up bus-control.c fileLukasz Skalski
2013-11-29bus: do not fail if cgroup information cannot be retrieved from /procKay Sievers
2013-11-29libsystemd-bus: catch up with latest kdbus changesKay Sievers
2013-11-29libsystemd-bus: follow kdbus renamesDaniel Mack
kdbus now has more generic names for the items it passes around. That allows for usage from other contexts.
2013-11-29libsystemd-bus: copy over kdbus provided 128-bit bus idDaniel Mack
kdbus now copies the bus unique id back to userspace in the hello ioctl(). Use these bytes to set the server id of the sd_bus.
2013-11-29libsystemd-bus: catch up with latest kdbus changesDaniel Mack
kdbus_cmd_hello now has a new uint64_t flags field for the requested attachments. Follow that change in libsystemd-bus.
2013-11-29libsystemd-bus: sd_bus_request_name: fix return value for kdbusDaniel Mack
kdbus returns -EALREADY if the requesting connection is already the owner of a name, and -EEXIST if the name already exists and the connection is not able to take it over. Also, n->flags needs a translation as well to match the SD_BUS_* enum values.
2013-11-29libsystemd-bus: kernel: add sd_bus_kernel_translate_request_name_flagsDaniel Mack
Flags used to request a name from kdbus are not identical to what DBus and sd_bus use internally. Introduce a simple function to do the translation for us. It's factored out to a separate function so the dbus-driver instance can make use of it as well.
2013-11-29libsystemd-bus: make sd_bus_list_names return all connections, including ↵Daniel Mack
unique names
2013-11-29libsystemd-bus: add kdbus support for sd_bus_list_names()Daniel Mack
kdbus will tell us the minimum buffer size it needs in case the default 8kb buffer doesn't suffice.
2013-11-29libsystemd-bus: bring definitions in sync with kdbusDaniel Mack
In particular, KDBUS_ITEM_NEXT is now called KDBUS_PART_NEXT, and KDBUS_ITEM_FOREACH was renamed to KDBUS_PART_FOREACH and takes one more argument to make it more flexible.
2013-11-29bus: when turning a buffer into a sd_bus_message avoid creating zero-length ↵Lennart Poettering
parts
2013-11-29bus: creds - ignore EINVAL when acessing the (inactive) LSM /proc interfaceKay Sievers
2013-11-29bus: Add KDBUS_MSG_SRC_NAMES to bus_kernel_make_message() functionLukasz Skalski
2013-11-28busctl: drop bus driver name from list of servicesLennart Poettering
2013-11-28bus: merge sd_bus_get_owner() and sd_bus_get_owner_creds() into one callLennart Poettering
Since the backing ioctl for this on kdbus is the same we retain atomicity this way.
2013-11-28bus: add new sd_bus_creds object to encapsulate process credentialsLennart Poettering
This way we can unify handling of credentials that are attached to messages, or can be queried for bus name owners or connection peers. This also adds the ability to extend incomplete credential information with data from /proc, Also, provide a convenience call that will automatically determine the most appropriate credential object for an incoming message, by using the the attached information if possible, the sending name information if available and otherwise the peer's credentials.
2013-11-28event: allow EPOLLET as event flagDavid Herrmann
EPOLLET enables edge-triggered mode (see epoll(7) for more). For most use-cases, level-triggered is just fine, but for master-TTYs we need edge-triggered to catch EPOLLHUP. master-TTYs signal EPOLLHUP if no client is connected, but a client may connect some time later (same happens during vhangup(2)). However, epoll doesn't allow masking EPOLLHUP so it's signaled constantly. To avoid this, edge-triggered mode is needed.
2013-11-28bus: add bus_name_has_owner() helperDavid Herrmann
Small helper to run a synchronous "NameHasOwner" request on the dbus-daemon.
2013-11-28bus: update kdbus.h and always subscribe to KDBUS_HELLO_ATTACH_NAMESKay Sievers