summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/sd-bus.c
AgeCommit message (Collapse)Author
2013-05-22bus: add benchmark tool to determine the right threshold for copying vs. memfdLennart Poettering
2013-05-20bus: calculate bloom filter for matchLennart Poettering
Yay! Filtering using kernel bloom filter matches works now! Yippieh!
2013-05-17bus: add APIs for negotiating what is attached to messagesLennart Poettering
2013-05-17bus: add minimal locking around the memfd cacheLennart Poettering
We want to allow clients to process an sd_bus_message on a different thread than it was received on. Since unreffing a bus message might readd some of its memfds to the memfd cache add some minimal locking around the cache.
2013-05-17bus: return ECHILD as soon as people try to reuse a bus connection across a ↵Lennart Poettering
fork()
2013-05-17bus: actually unmap kdbus pool after useLennart Poettering
2013-05-17bus: keep kernel bus fd around during entire life-time of busLennart Poettering
We need this since we might need to invoke the release ioctl for messages. Since we don't want to add any locking for that we simply keep a reference to the bus and then rely that the fd stays valid all the time.
2013-05-16bus: make bus ref counting atomicLennart Poettering
This is preparation to allow sd_bus_message obejcts to be processed in a different thread from their originating sd_bus object.
2013-05-16bus: synthesize timeout message errors instead of returning error codesLennart Poettering
2013-05-14bus: properly handle message bodies that are a chain of memory areas rather ↵Lennart Poettering
than a single one
2013-04-24Add set_consume which always takes ownershipZbigniew Jędrzejewski-Szmek
Freeing in error path is the common pattern with set_put().
2013-04-15bus: handle env vars safelyLennart Poettering
Make sure that our library is safe for usage in SUID programs when it comes to env var handling
2013-04-14bus: always explicitly rewind read index before passing message to caller or ↵Lennart Poettering
callback
2013-04-12bus: implement basic name registration with kdbusLennart Poettering
2013-04-12bus: make kdbus work so that we can exchange real messagesLennart Poettering
We have ignition, we have tremendous fire!
2013-04-11bus: basic implementation of kdbus client sideLennart Poettering
2013-04-11bus: calculate iovec for messages only when we need itLennart Poettering
2013-04-05Use initalization instead of explicit zeroingZbigniew Jędrzejewski-Szmek
Before, we would initialize many fields twice: first by filling the structure with zeros, and then a second time with the real values. We can let the compiler do the job for us, avoiding one copy. A downside of this patch is that text gets slightly bigger. This is because all zero() calls are effectively inlined: $ size build/.libs/systemd text data bss dec hex filename before 897737 107300 2560 1007597 f5fed build/.libs/systemd after 897873 107300 2560 1007733 f6075 build/.libs/systemd … actually less than 1‰. A few asserts that the parameter is not null had to be removed. I don't think this changes much, because first, it is quite unlikely for the assert to fail, and second, an immediate SEGV is almost as good as an assert.
2013-04-05bus: various improvements for test-bus-chatLennart Poettering
2013-04-05bus: add convenience calls for method replies, tooLennart Poettering
2013-04-05bus: make sure callback structs are always properly initializedLennart Poettering
2013-04-05bus: use C99 struct construction for error initializersLennart Poettering
That way we can allocate an error struct on-the-fly while calling a function. Nice!
2013-04-05bus: add convenience functions for constructing and sending method ↵Lennart Poettering
calls/signals in one call
2013-04-05bus: properly detect and handle if a callback is installed/removed from ↵Lennart Poettering
within a callback
2013-04-05bus: don't allow recursive invocation of sd_bus_process()Lennart Poettering
2013-04-01bus: always return something in sd_bus_get_timeout()Lennart Poettering
2013-04-01bus: allow two different fds for input/output in sd_bus_set_fd()Lennart Poettering
This is useful so that we can speak D-Bus over a FIFO pair such as stdin+stdout.
2013-03-31bus: rename sd_bus_get_peer() to sd_bus_get_server_id()Lennart Poettering
This function always returns the server side ID. The name suggested it was actually always the peer's ID, but that's not correct if the call is called on a server bus context. Hence, let's correct the name a bit.
2013-03-31bus: s/sd_message_handler_t/sd_bus_message_handler_t/gLennart Poettering
2013-03-31bus: parse matches locally and allow registration of callbacks for themLennart Poettering
This includes code to parse and split up match strings which will also be useful to calculate bloom filter masks when the time comes.
2013-03-30bus: implement server mode, and anonymous authenticationLennart Poettering
2013-03-30bus: properly set up bus connections with sd_bus_set_exec()Lennart Poettering
2013-03-30bus: consider it an error if the first message we get on the bus is not a ↵Lennart Poettering
reply to HELLO
2013-03-29Always use errno > 0 to help gccZbigniew Jędrzejewski-Szmek
gcc thinks that errno might be negative, and functions could return something positive on error (-errno). Should not matter in practice, but makes an -O4 build much quieter.
2013-03-27sd-bus: check c->path for null instead of pathLukas Nykryn
2013-03-26bus: fix missing variable initializationLennart Poettering
2013-03-26bus: automatically generate minimal introspection data to find installed objectsLennart Poettering
2013-03-26bus: rename send_hello flag to bus_cientLennart Poettering
This way we can hide more than just the hello logic behind this flag, for example, later on automatic match management.
2013-03-25bus: split socket related code into bus-socket.[ch], to prepare for kdbus ↵Lennart Poettering
backend
2013-03-25bus: implement 'unixexec:' protocolLennart Poettering
2013-03-25bus: make optional whether unix socket passing is negotiated and whether ↵Lennart Poettering
hello is sent This alos gets rid of explicit sd_open_fd() and sd_open_address() constructors in favour of sd_new() + sd_new_start() where the negotiation parameters may be set it in between.
2013-03-25bus: properly handle termination of connectionsLennart Poettering
2013-03-25bus: implement support for FD passingLennart Poettering
2013-03-22bus: don't free an unallocated varZbigniew Jędrzejewski-Szmek
Also remove unused variable.
2013-03-22bus: implement object handler registryLennart Poettering
2013-03-22bus: implicitly collect ucred/label informationLennart Poettering
2013-03-22bus: also finish connection before returning from sd_bus_get_unique_name()Lennart Poettering
2013-03-22bus: fix uninitialized variableLennart Poettering
2013-03-22bus: validate the hello response properlyLennart Poettering
2013-03-22bus: rework synchronization logicLennart Poettering
Instead of allowing certain actions fail during authentication and connection setup, implicitly synchronize on the connection to be set up completely before returning.