summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/bus-socket.c
AgeCommit message (Collapse)Author
2013-12-24util: unify SO_PEERCRED/SO_PEERSEC invocationsLennart Poettering
Introduce new call getpeercred() which internally just uses SO_PEERCRED but checks if the returned data is actually useful due to namespace quirks.
2013-12-23bus: when we are connected to a bus, then do not assume peer creds are ↵Lennart Poettering
useful as message creds
2013-12-23bus: make sure to request peer cred only after connect(), not beforeLennart Poettering
2013-12-16bus: increase the bus socket buffer to 8 MB similar, to the log socket buffersLennart Poettering
2013-12-12bus: enforce endianess and marshalling for messages we sendLennart Poettering
2013-12-10bus: only accept gvariant native endian messages via kdbusLennart Poettering
2013-12-03bus: internalize a lot of protocol definitionsLennart Poettering
We shouldn export what isn't necessary or useful to clients, so let's add the protocol definitions we only need internally into a private header.
2013-11-30bus: don't generate NameAcquired/NameLost messages in the libraryLennart Poettering
The signals appear entirely redundant due to NameOwnerChange, hence don't do them in the new library, instead leave them for the compatibility bridge only. Also, set the serial number for synthesized messages to (uint32_t) -1.
2013-11-29bus: add the ability for backends to queue to input messages at the same timeLennart Poettering
We need this so that one incoming kernel message can result in two high-level bus messages, for the case where we synthesize NameAcquired and NameOwnerChanged in the same instance.
2013-11-29libsystemd-bus: catch up with latest kdbus changesDaniel Mack
kdbus_cmd_hello now has a new uint64_t flags field for the requested attachments. Follow that change in libsystemd-bus.
2013-11-21bus: let's simplify things by getting rid of unnecessary bus parametersLennart Poettering
2013-10-30bus: add API call to create bus connection to the system bus of local containersLennart Poettering
Also, add support for this to machinectl, so that we can enumerate the machines that run inside a container. We must go deeper!
2013-05-17bus: add APIs for negotiating what is attached to messagesLennart Poettering
2013-05-16bus: send memfds as payload only on directed messages and for large partsLennart Poettering
2013-05-15bus: rework message struct to keep header with fields in same malloc() blockLennart Poettering
This allows us to guarantee that the first payload_vec we pass to the kernel for each message is guaranteed to include the full header and all its field.
2013-05-15bus: add macro for iterating through body parts of a messageLennart Poettering
2013-05-15bus: minor fixesLennart Poettering
2013-05-14bus: properly handle message bodies that are a chain of memory areas rather ↵Lennart Poettering
than a single one
2013-04-13kdbus: parse even more kernel meta data fieldsLennart Poettering
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-10libsystemd-bus: initalize handle_cmsg to falseLukas Nykryn
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-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: 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: 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: 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-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-26bus: when we are talking to a bus, SCM_CREDS/SCM_SECLABEL are not very usefulLennart Poettering
2013-03-25bus: split socket related code into bus-socket.[ch], to prepare for kdbus ↵Lennart Poettering
backend