Commit graph

132 commits

Author SHA1 Message Date
Lennart Poettering 2f1a3d0868 bus-proxy: when replying to bus calls set a synthetic serial number and patch the sender address
Otherwise old libdbus1 is confused and will not accept our replies.
2014-04-13 19:43:00 -07:00
Lennart Poettering 2a0abe5b6d bus: process AddMatch/RemoveMatch driver call in proxy
Previously, AddMatch/RemoveMatch calls where processed exclusively in
the proxy. That's racy however, since subscribing to a signal might not
complete before the signal is sent due to some subsequent method call.
Hence, in order to expose the same ordering guarantees as dbus1 process
the AddMatch/RemoveMatch calls from the proxy, so that they are
dispatched synchronously to all following messages, thus fixing the
race.

Ultimately, we should probabably dissolve the driver entirely into the
proxy, as it is purely a compatibility feature anyway...
2014-04-13 18:34:55 -07:00
Zbigniew Jędrzejewski-Szmek bdd13f6be4 Remove dead lines in various places
As pointed-out by clang -Wunreachable-code.

No behaviour changes.
2014-02-24 19:24:14 -05:00
Lennart Poettering 151b9b9662 api: in constructor function calls, always put the returned object pointer first (or second)
Previously the returned object of constructor functions where sometimes
returned as last, sometimes as first and sometimes as second parameter.
Let's clean this up a bit. Here are the new rules:

1. The object the new object is derived from is put first, if there is any

2. The object we are creating will be returned in the next arguments

3. This is followed by any additional arguments

Rationale:

For functions that operate on an object we always put that object first.
Constructors should probably not be too different in this regard. Also,
if the additional parameters might want to use varargs which suggests to
put them last.

Note that this new scheme only applies to constructor functions, not to
all other functions. We do give a lot of freedom for those.

Note that this commit only changes the order of the new functions we
added, for old ones we accept the wrong order and leave it like that.
2014-02-20 00:03:10 +01:00
Greg KH 29804cc1e0 use memzero(foo, length); for all memset(foo, 0, length); calls
In trying to track down a stupid linker bug, I noticed a bunch of
memset() calls that should be using memzero() to make it more "obvious"
that the options are correct (i.e. 0 is not the length, but the data to
set).  So fix up all current calls to memset(foo, 0, length) to
memzero(foo, length).
2014-01-31 11:55:01 +01:00
Lennart Poettering 7b217f41d2 bus: when proxying messages from the bus driver patch the driver's well-known name into the sender 2014-01-29 21:26:57 +01:00
Lennart Poettering 373f14222e bus: fake security labels again
(The kernel module got fixed, so let's reenable this again)
2014-01-29 13:42:06 +01:00
Lennart Poettering aa575ef8de bus: temporarily disable faking of seclabels, as this is broken in kdbus right now 2014-01-22 19:39:10 +01:00
Lennart Poettering 44b0ed0586 bus: set debug name of proxy bus connections 2014-01-22 19:08:22 +01:00
Tom Gundersen 920e2957be bus-proxyd: add some more debugging
Make sure we print a message when exiting with an error.
2014-01-12 15:37:20 +01:00
Lennart Poettering 441d56a12a bus: properly handle EOF error conditions in proxyd
EOF is not an error so we should not print an error message about it.
2014-01-12 10:56:40 +08:00
Zbigniew Jędrzejewski-Szmek ccd06097c7 Use format patterns for usec_t, pid_t, nsec_t, usec_t
It is nicer to predefine patterns using configure time check instead of
using casts everywhere.

Since we do not need to use any flags, include "%" in the format instead
of excluding it like PRI* macros.
2014-01-02 19:45:47 -05:00
Zbigniew Jędrzejewski-Szmek ab9001a1e3 Move bus path definitions to def.h 2014-01-02 19:45:47 -05:00
Lennart Poettering c2595875c6 bus: add a temporary hard-coded policy to proxyd to make gdm work
gdm relies on the policy to deny its own requests to not deadlock. Given
that we currently do not enforce any policy in the dbus1 compat proxy
service this means that gdm will necessarily deadlock on our systems.

To work around this, enforce a fixed policy teomporarily, until we
interpret the legacy XML policy in full.

Booh, gdm, booh, for requring this and making me waste two days on
tracking this brokenness down.
2013-12-26 17:16:56 +01:00
Lennart Poettering 758bf0c755 bus: don't process Peer interface messages in the proxy 2013-12-26 03:08:52 +01:00
Lennart Poettering 4cdf07519a bus: be a bit more verbose when debug mode is on 2013-12-25 02:41:09 +01:00
Lennart Poettering 9f6445e34a log: log_error() and friends add a newline after each line anyway, so avoid including it in the log strings 2013-12-24 16:39:37 +01:00
Lennart Poettering eff0527098 util: unify SO_PEERCRED/SO_PEERSEC invocations
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-24 15:53:04 +01:00
Lennart Poettering 8a0e0ed9dd bus: fake client side creds in the proxy to the caller's creds 2013-12-24 15:27:59 +01:00
Kay Sievers 94a6ce5b7c bus-proxyd: init cleanup variable 2013-12-23 19:16:49 +01:00
Lennart Poettering a7639e37af bus-proxyd: synthesize NameAcquire/NameLost signals for socket clients 2013-12-23 04:20:55 +01:00
Kay Sievers f72a3e5bad Revert "bus-proxyd: use a loop instead of c&p"
This reverts commit 9818fa6d6d.

The proxy does not work anymore with this patch.
2013-12-22 16:41:24 +01:00
Zbigniew Jędrzejewski-Szmek 2dc38ed00f man: add systemd-dbus-proxy@.service(8) and systemd-dbus.proxy(8) 2013-12-21 18:34:40 -05:00
Zbigniew Jędrzejewski-Szmek 9818fa6d6d bus-proxyd: use a loop instead of c&p 2013-12-21 18:34:40 -05:00
Zbigniew Jędrzejewski-Szmek cc4e8b6f70 bus-proxyd: show address nicely in --help 2013-12-21 18:26:47 -05:00
Lennart Poettering b2bb3469fd bus: poll() on the right fds in proxyd 2013-12-21 17:54:29 +01:00
Lennart Poettering 0721804f03 bus: send status message from proxyd to systemd about client we are working for 2013-12-21 05:15:09 +01:00
Lennart Poettering 0358b3f95d bus: properly react to Disconnected messages in bus-proxyd 2013-12-21 04:03:12 +01:00
Lennart Poettering ba7689164c bus: change bus-proxyd command line parsing to be more similar to other tools 2013-12-21 03:59:07 +01:00
Lennart Poettering 7c9a6f9063 bus: install systemd-bus-proxyd unit files for compatibility with dbus1 2013-12-13 20:49:57 +01:00
David Strauss 683fc3a448 bus-proxyd: Fix CLI help. --bus-path is also usable as -p. 2013-11-30 16:55:30 +10:00
Kay Sievers f252ff1742 rename stdio-bridge to bus-proxyd 2013-11-29 22:12:59 +01:00
Renamed from src/stdio-bridge/stdio-bridge.c (Browse further)