summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/sd-bus.c
AgeCommit message (Collapse)Author
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.
2013-03-22bus: implicitly handle peer commands Ping() and GetMachineId()Lennart Poettering
2013-03-22bus: enforce limits on all client influenced data objectsLennart Poettering
2013-03-22bus: implicitly set no_reply flag on outgoing messages if the serial number ↵Lennart Poettering
is not kept If nobody keeps the serial number of an outgoing message we know that nobody expects an answer to it, so set the no_reply flag accordingly.
2013-03-21bus: implement full method call timeout logicLennart Poettering
2013-03-20bus: hook up client with socket communicationLennart Poettering
2013-03-20bus: introduce bus_error_is_dirty() independently of sd_bus_error_is_set()Lennart Poettering
2013-03-20bus: demarshal header fields properlyLennart Poettering
2013-03-20bus: implement demarshallerLennart Poettering
2013-03-20bus: suppress reply messages to method calls with no_reply setLennart Poettering
2013-03-20bus: add basic implementation of a native bus client libraryLennart Poettering