summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-04-09bus: also remove recursive invocation of message_append_ap()Lennart Poettering
2013-04-09bus: implement message_read_ap() non-recursivelyLennart Poettering
As it turns out if you pass a va_list to a function its state becomes undefined after that function returns, and this actually does break on x86-32. Hence, let's reimplement message_read_ap() without the use of recursion. Instead we now build our own stack of types in an array so that we can decode the entire parameter list in a single stackframe.
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: convert a couple of calls over to new convenience functionsLennart Poettering
2013-04-05bus: add convenience calls for method replies, tooLennart Poettering
2013-04-05bus: when parsing signature strings, accept NULL as empty signatureLennart 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-04test-bus-marshal.c: do not call g_type_init() for modern glib versionsHarald Hoyer
2013-04-01Always use our own MAX/MIN definitionsCristian Rodríguez
code in src/shared/macro.h only defined MAX/MIN in case they were not defined previously. however the MAX/MIN macros implemented in glibc are not of the "safe" kind but defined as: define MIN(a,b) (((a)<(b))?(a):(b)) define MAX(a,b) (((a)>(b))?(a):(b)) Avoid nasty side effects by using our own versions instead. Also fix the warnings derived from this change. [zj: - modify MAX3 macro to fix warning about _a shadowing _a, - do bootchart/svg.c too, - remove unused MIN3.]
2013-04-01bus: always return something in sd_bus_get_timeout()Lennart Poettering
2013-04-01bus: be more careful when determining credential dataLennart Poettering
As it turns out SCM_CREDENTIALS is not always supported on socketpair(), so let's also try SO_PEERCRED then.
2013-04-01bus: when the first char a server receives isn't the NUL byte immediately failLennart Poettering
2013-04-01bus: ignore the passed UID on EXTERNAL auth if ANONYMOUS is allowedLennart Poettering
2013-04-01bus: when reading a message from the socket, make sure to note down the sizeLennart Poettering
2013-04-01bus: reuse sd_is_socket() callLennart Poettering
2013-04-01bus: fall back to readv/writev if recvmsg/sendmsg don't workLennart 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: check return value from bus_type_get_alignment/sizeZbigniew Jędrzejewski-Szmek
2013-03-31journal-gatewayd: query PID 1 for virtalizationLennart Poettering
Since journal-gatewayd is now running unprivileged, and detecting virtalization requires privileges, query PID1 via D-Bus for the used virtualization. This is also the first time we use libsystemd-bus for more than just testing. https://bugs.freedesktop.org/show_bug.cgi?id=62173
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: add missing test-bus-server.cLennart Poettering
2013-03-30bus: implement server mode, and anonymous authenticationLennart Poettering
2013-03-30bus: if we recieve fds but fd passing is off, consider this an errorLennart Poettering
2013-03-30bus: enable SO_PASSCRED only if we are not connected to a busLennart 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-30bus: add C++ wrappers to public header filesLennart Poettering
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-26tests: skip bus test if bus cannot be openedZbigniew Jędrzejewski-Szmek
To make the result more visible, special return value is used to tell automake that the test was skipped. While at it, use the same return value in other skipped tests.
2013-03-26bus: fix missing variable initializationLennart Poettering
2013-03-26build-sys: make gcc shut upLennart Poettering
2013-03-26bus: when we are talking to a bus, SCM_CREDS/SCM_SECLABEL are not very usefulLennart 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: move attribute to end of structure, so it is not ignoredZbigniew Jędrzejewski-Szmek
src/libsystemd-bus/bus-message.h:41:1: warning: attribute 'packed' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes]
2013-03-22bus: implement object handler registryLennart Poettering