summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-11-22bus: rework sd_bus_error APIsLennart Poettering
All calls that set a sd_bus_error structure will now return the same error converted to a negative errno. This may be used as syntactic sugar to return from a function and setting a bus_error structure in one go. Also, translate all Linux Exyz (EIO, EINVAL, EUCLEAN, EPIPE, ...) automatically into counterparts in the (new) "Posix.Error." namespace. If we fail to allocate memory for the components of a sd_bus_error automatically reset it to an OOM error which we always can write.
2013-11-22bus: deal with duplicate values from enumeratorsLennart Poettering
2013-11-22event: rename sd_event_get() to sd_event_source_get_event()Lennart Poettering
2013-11-22bus: add calls to query attached objectsLennart Poettering
2013-11-22bus: also add error parameter to object find and enumerator callbacksLennart Poettering
Just in order to bring things inline with the method and property callbacks.
2013-11-21bus: restore selinux access control to PID 1 for propertiesLennart Poettering
2013-11-21bus: properly serialize unit file change listLennart Poettering
2013-11-21logind,machined,run: properly invoke StartTransientUnit() bus callLennart Poettering
2013-11-21bus: rework message handlers to always take an error argumentLennart Poettering
Message handler callbacks can be simplified drastically if the dispatcher automatically replies to method calls if errors are returned. Thus: add an sd_bus_error argument to all message handlers. When we dispatch a message handler and it returns negative or a set sd_bus_error we send this as message error back to the client. This means errors returned by handlers by default are given back to clients instead of rippling all the way up to the event loop, which is desirable to make things robust. As a side-effect we can now easily turn the SELinux checks into normal function calls, since the method call dispatcher will generate the right error replies automatically now. Also, make sure we always pass the error structure to all property and method handlers as last argument to follow the usual style of passing variables for return values as last argument.
2013-11-21bus: the :no-sender hack is now unnecessary, since the new library doesn't ↵Lennart Poettering
require this anymore
2013-11-21bus: update kdbus.hKay Sievers
2013-11-21bus: rename SD_BUS_ERROR_MAKE to SD_BUS_ERROR_MAKE_CONST to indicate it only ↵Lennart Poettering
works for const strings
2013-11-21bus: let's simplify things by getting rid of unnecessary bus parametersLennart Poettering
2013-11-21bus: add API calls to escape string components of objects pathsLennart Poettering
2013-11-21sd-event: try to move timer wakeups to the same spot within each minuteLennart Poettering
2013-11-20event: make sure to possibly disarm the timerfds before we reenter epoll_waitLennart Poettering
2013-11-20event: don't disarm invalid timerfdLennart Poettering
2013-11-20bus: make sure an additional ref to a busevent source doesn't cause the ↵Lennart Poettering
event source to be triggered again
2013-11-20event: whenever a time source changes pending state reshuffle elapsation prioqsLennart Poettering
2013-11-20event: when we change the io events to watch we need to figure out if a an ↵Lennart Poettering
event is pending again
2013-11-20sd-event: fix comparison functionsLennart Poettering
2013-11-20busctl: when no match is specified, add default matchLennart Poettering
2013-11-20bus: add color and indentation to bus_message_dump()Lennart Poettering
2013-11-20core: convert PID 1 to libsystemd-busLennart Poettering
This patch converts PID 1 to libsystemd-bus and thus drops the dependency on libdbus. The only remaining code using libdbus is a test case that validates our bus marshalling against libdbus' marshalling, and this dependency can be turned off. This patch also adds a couple of things to libsystem-bus, that are necessary to make the port work: - Synthesizing of "Disconnected" messages when bus connections are severed. - Support for attaching multiple vtables for the same interface on the same path. This patch also fixes the SetDefaultTarget() and GetDefaultTarget() bus calls which used an inappropriate signature. As a side effect we will now generate PropertiesChanged messages which carry property contents, rather than just invalidation information.
2013-11-20bus: add sd_bus_send_to() API callLennart Poettering
2013-11-20bus: bump serial number counter when sending already sealed messagesLennart Poettering
2013-11-20bus: sd_bus_error_setxyz calls should always return the error as errno style ↵Lennart Poettering
negative int
2013-11-20event: clear pending-state when re-arming timersDavid Herrmann
If a timer fires and is marked pending, but an application re-arms it before it is dispatched, we now clear the pending state. This fixes a bug where an application arms a timer, which fires and is marked pending. But before it is dispatched, the application loses interest in it and disables it. Now if the timer is re-armed and re-enabled later, it will be immediately dispatched as it is still marked pending. This behavior is unexpected, so avoid it by clearing pending state when re-arming timers. Note that applications have no way to clear pending state themselves, so there's no current workaround.
2013-11-20bus: fix error-path in bus_map_all_properties()David Herrmann
We shouldn't return positive integers on errors. Fix the typo by removing the negation.
2013-11-20bus/rtnl: silence clang warningsThomas Hindoe Paaboel Andersen
2013-11-18bus: TIMESTAMP is optional kdbus metadata now, NAMES are always addedKay Sievers
2013-11-17bus: CREDS and NAMES are optional kdbus metadata nowKay Sievers
2013-11-14bus: typoTom Gundersen
Fix a couple of 'void' that should have been 'sd_bus'.
2013-11-12build-sys: add a link test for exported symbolsZbigniew Jędrzejewski-Szmek
I know that this is a pretty big net to catch some small fish, but we *do* regularly forget to properly export symbols that were supposed to be exported. This time sd_bus_get_current and some renamed symbols are caught.
2013-11-12bus: test-bus-objects - add missing headerKay Sievers
2013-11-12bus: add missing dump.[ch]Lennart Poettering
2013-11-12bus: beautify bus_message_dump() output a bitLennart Poettering
2013-11-12busctl: show machine name of all registered namesLennart Poettering
2013-11-12bus: set no_auto_start flag for GetMachineId calls, so that we don't ↵Lennart Poettering
auto-start if we want to know the machine of a bus service
2013-11-12bus: detect blocking message calls to our own connection and return ELOOP earlyLennart Poettering
2013-11-12bus: add api to control auto start message flagLennart Poettering
2013-11-12bus: introduce concept of a default bus for each thread and make use of it ↵Lennart Poettering
everywhere We want to emphasize bus connections as per-thread communication primitives, hence introduce a concept of a per-thread default bus, and make use of it everywhere.
2013-11-12bus: introduce concept of a "default" event loop per-thread and make use of ↵Lennart Poettering
it everywhere Try to emphasize a bit that there should be a mapping between event loops and threads, hence introduce a logic that there's one "default" event loop for each thread, that can be queried via "sd_event_default()".
2013-11-12test: fix minor memory leak in test-eventLennart Poettering
2013-11-12bus: rename sd_bus_send_with_reply_and_block() to sd_bus_call()Lennart Poettering
The call is one of the most important ones we expose, where we place major emphasis on. We should make sure to give it a short, memorable name.
2013-11-11bus: add APIs for adding iovecs to messages as string or arraysLennart Poettering
2013-11-10bus: we really need to get rid of the :no-sender hackLennart Poettering
This is where a hack from PID 1 spilled into the client side. We need to get rid of this as soon as PID 1 is converted to libsystemd-bus.
2013-11-10bus: actually export sd_utf8_is_valid() and sd_ascii_is_valid()Lennart Poettering
2013-11-10bus: use ENXIO as error condition when trying to exit a container when we ↵Lennart Poettering
are not in any So far we used ENXIO whenever the user tried to read something from a function that didn't carry the right type, and hence use the same error here to indicate that what the user expected and what was in the message didn't match up.
2013-11-09bus: fix build with old glibcZbigniew Jędrzejewski-Szmek