summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-bus
AgeCommit message (Collapse)Author
2014-11-25sd-bus: properly copy selinux label and description field when duplicating ↵Lennart Poettering
creds object
2014-11-25sd-bus: add supplementary groups list to creds objectLennart Poettering
2014-11-25busctl: if no parameter is specified for "busctl status" show credentials of ↵Lennart Poettering
bus owner
2014-11-25sd-bus: properly handle uninitialized audit creds from kdbusLennart Poettering
2014-11-25sd-bus: don't fail when querying creds and dbus1 refuses to tell us the ↵Lennart Poettering
selinux context
2014-11-25busctl: add new --augment-creds= switch for controlling whether shown ↵Lennart Poettering
credential data shall be augment with data from /proc
2014-11-25sd-bus: update to current kernel version, by splitting off the extended ↵Lennart Poettering
KDBUS_ITEM_PIDS structure from KDBUS_ITEM_CREDS Also: - adds support for euid, suid, fsuid, egid, sgid, fsgid fields. - makes augmentation of creds with data from /proc explicitly controllable to give apps better control over this, given that this is racy. - enables augmentation for kdbus connections (previously we only did it for dbus1). This is useful since with recent kdbus versions it is possible for clients to control the metadata they want to send. - changes sd_bus_query_sender_privilege() to take the euid of the client into consideration, if known - when we don't have permissions to read augmentation data from /proc, don't fail, just don't add the data in
2014-11-25busctl: improve readability a bitLennart Poettering
2014-11-25bus: change creds dumping order to be more close to internal storage orderLennart Poettering
2014-11-25sd-bus: don't blindly take incomplete ucred bits from AF_UNIX when ↵Lennart Poettering
constructing message
2014-11-21busctl: add --timeout= option to specify method call timeoutLennart Poettering
2014-11-21busctl: add options to control message header flags when invoking methodsLennart Poettering
2014-11-21busctl: show property values in "introspect" output, add "set-property" ↵Lennart Poettering
command, and support both a terse and a verbose output format
2014-11-21busctl: when --address is specified do not assume we connect to a full busLennart Poettering
2014-11-21busctl: use canned error message on parse failureLennart Poettering
2014-11-21sd-bus: create clean error when a property Set() call with incorrect ↵Lennart Poettering
signature is passed in
2014-11-20busctl: pass error output to stdout (rather than stderr) when generate tree ↵Lennart Poettering
for all objects This is a ton more useful when some services fail, since we continue crawling then and output everything to a pager.
2014-11-20busctl: improve output of service credsLennart Poettering
2014-11-20busctl: add new "introspect" verb for introspecting objectsLennart Poettering
2014-11-20sd-bus: refuse properties that claim to be both writable and constant at the ↵Lennart Poettering
same time
2014-11-20busctl: split out introspection parser from tree logic so that we can reuse ↵Lennart Poettering
it for a future "busctl introspect" command
2014-11-17bus-socket: fix CID#996290 Unchecked return valueSusant Sahani
2014-11-14bus-proxy: properly check for bus name prefixes when enforcing policyLennart Poettering
2014-11-14busctl: introduce busctl "get-property" command for reading and dumping ↵Lennart Poettering
object properties
2014-11-14busctl: various tweaks to "busctl tree" outputLennart Poettering
2014-11-14busctl: add new "call" command to invoke methods on a serviceLennart Poettering
2014-11-14sd-bus: add sd_bus_message_is_empty() for checking whether a message carries ↵Lennart Poettering
any body
2014-11-13sd-bus: sync with kdbus upstream (ABI break)Daniel Mack
kdbus has seen a larger update than expected lately, most notably with kdbusfs, a file system to expose the kdbus control files: * Each time a file system of this type is mounted, a new kdbus domain is created. * The layout inside each mount point is the same as before, except that domains are not hierarchically nested anymore. * Domains are therefore also unnamed now. * Unmounting a kdbusfs will automatically also detroy the associated domain. * Hence, the action of creating a kdbus domain is now as privileged as mounting a filesystem. * This way, we can get around creating dev nodes for everything, which is last but not least something that is not limited by 20-bit minor numbers. The kdbus specific bits in nspawn have all been dropped now, as nspawn can rely on the container OS to set up its own kdbus domain, simply by mounting a new instance. A new set of mounts has been added to mount things *after* the kernel modules have been loaded. For now, only kdbus is in this set, which is invoked with mount_setup_late().
2014-11-11sd-bus: pass attach flags to BUS_CREATOR_INFODaniel Mack
kdbus learned parsing the attach flags for the KDBUS_CMD_BUS_CREATOR_INFO ioctl. Bits not set in this mask will not be exported. Set that field to _KDBUS_ATTACH_ALL for now. Signed-off-by: Daniel Mack <daniel@zonque.org>
2014-11-11sd-bus: add sd_bus_message.verify_destination_id and .destination_ptrDaniel Mack
kdbus learned to accept both a numerical destination ID as well as a well-known-name. In that case, kdbus makes sure that the numerical ID is in fact the owner of the provided name and fails otherwise. This allows for race-free assertion of a bus name owner while sending a message, which is a requirement for bus-proxyd. Add two new fields to sd_bus_message, and set the numerical ID to verify_destination_id if bus_message_setup_kmsg() is called for a message with a well-known name. Also, set the destination's name in the kdbus item to .destination_ptr if it is non-NULL. Normal users should not touch these fields, and they're not publicy accessible.
2014-11-10bus: when dumping string property values escape the chars we use as ↵Lennart Poettering
end-of-line and end-of-item marks
2014-11-10busctl: add "tree" command to explore object treesLennart Poettering
2014-11-05sd-bus: by default allow all creds to be passed alongLennart Poettering
2014-11-05sd-bus: sync up with new kdbus metadata attachment logic (ABI break)Daniel Mack
The metadata logic in kdbus has seen a rework, and the only mandatory change we have to follow for now is that attach_flags in kdbus_cmd_hello is now split into two parts, attach_flags_send and attach_flags_recv.
2014-11-04sd-bus: rename sd_bus_get_server_id() to sd_bus_get_owner_id()Lennart Poettering
In kdbus a "server id" is mostly a misnomer, as there isn't any "server" involved anymore. Let's rename this to "owner" id hence, since it is an ID that is picked by the owner of a bus or direct connection. This matches nicely the sd_bus_get_owner_creds() call we already have.
2014-11-04sd-bus,sd-event: unify error handling of object descriptionsLennart Poettering
a) When getting the description return ENXIO if none is set b) Allow setting a description to NULL c) return ECHILD on fork() like for other calls
2014-11-04sd-bus: make use of free_and_strdup() where it makes senseLennart Poettering
2014-11-04sd-bus: also allow setting descriptions on bus slotsLennart Poettering
2014-11-04sd-event: rename sd_event_source_set_name() to sd_event_source_get_name()Lennart Poettering
To mirror the recent name change of the concept for sd_bus objects, follow the same logic for sd_event_source objects, too.
2014-11-04sd-bus: rename "connection name" to "description" for the sd-bus API tooLennart Poettering
kdbus recently renamed this concept, and so should we in what we expose in userspace.
2014-11-04sd-bus: sync kdbus.h (ABI break)Daniel Mack
Catch up with some changes in kdbus.h: * KDBUS_{ITEM,ATTACH}_CONN_NAME were renamed to KDBUS_{ITEM,ATTACH}_CONN_DESCRIPTION, so the term 'name' is not overloaded as much. * The item types were re-ordered a little so they are lined up to the order of the corresponding KDBUS_ATTACH flags * A new item type KDBUS_ITEM_OWNED_NAME was introduced, designated to store a struct kdbus_name in item->name. KDBUS_ITEM_NAME soley stores data in item->str now * Some kerneldoc fixes
2014-10-31Make bus errno mappings non-staticZbigniew Jędrzejewski-Szmek
__attribute__((used)) is not enough to force static variables to be carried over to a compiled program from a library. Mappings defined in libsystemd-shared.a were not visible in the compiled binaries. To ensure that the mappings are present in the final binary, the tables are made non-static and are given a real unique name by which they can be referenced. To use a mapping defined not in the local compilation unit (e.g. in a library) a reference to the mapping table is added. This is done by including a declaration in the header file. Expected values in test-engine are fixed to reflect the new mappings.
2014-10-31bus: do not segfault on zeros in errno mapping tableZbigniew Jędrzejewski-Szmek
Depending on the link order, holes might appear in the body of the sd_bus_errnomap section. Ignore them. Adds a simple test to print the table to help with debugging such issues in the future.
2014-10-31sd-bus: add missing includeTom Gundersen
2014-10-30bus: add sd_bus_errnomap sectionZbigniew Jędrzejewski-Szmek
This allows custom "name" ↔ errno mappings to be registered. Tables from all compilation units are concatenated.
2014-10-30memfd: rename memfd.h to memfd-util.h to avoid any confusion with any libc ↵Lennart Poettering
provided headers
2014-10-30memfd: always use our internal utility functions where we have themLennart Poettering
2014-10-30memfd: always create our memfds with CLOEXEC setLennart Poettering
We really shouldn't create fds ever that have the flag unset.
2014-10-30busctl: add new "capture" verb to record bus messages in libpcap compatible ↵Lennart Poettering
files, for dissection with wireshark
2014-10-29sd-bus: properly handle removals of non-existing matchesLennart Poettering