Age | Commit message (Collapse) | Author |
|
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...
|
|
|
|
This mirrors set_consume and makes the common use a bit nicer.
|
|
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.
|
|
Found by the new check-includes make target.
|
|
GetNameOwner() bus call is the bus driver name itself, for compatibility
with dbus1
|
|
Add new calls sd_bus_open() and sd_bus_default() for connecting to the
starter bus a service was invoked for, or -- if the process is not a
bus-activated service -- the appropriate bus for the scope the process
has been started in.
|
|
/org/freedesktop/DBus
Some clients apparently use the "/" path instead of
"/org/freedesktop/DBus". dbus-daemon didn't care, so we need to support
both.
|
|
|
|
This reverts commit 234e28aa1cd37dee597c719ac5ca004c6215d28c.
|
|
Identical matches are only one time in the hash map but multiple
times in the list; when removing, the hash will be empty but the
list still has entries.
Not adding dupicates to the list should keep us in sync and prevent
hitting the assert.
|
|
|
|
|
|
|
|
We need to find the real reason for the failure, this just
avoids the symptoms.
This reverts commit 215c7625dd510759290d45d6c46434e4338843ec.
|
|
|
|
This was causing a nasty coredump
|
|
to non-existing service
|
|
including it in the log strings
|
|
|
|
|
|
|
|
|
|
error if that name doesn't exist on the bus
|
|
|
|
|
|
|
|
|
|
Flags for a name entry (KDBUS_NAME_*) should be set for
cmd_name->flags (not conn_flags)
|
|
Add validity checks for all parameters passed in.
Implement ReleaseName and StartServiceByName().
Fix access control in vtable.
|
|
|
|
RequestName return codes should be consistent with Dbus Specification.
VALUE - DESCRIPTION
1-The caller is now the primary owner of the name, replacing any previous owner,
2-The name already had an owner (QUEUE flag was not specified),
3-The name already has an owner (QUEUE flag was specified),
4-Application trying to request ownership of a name is already the owner of it.
|
|
acked by Daniel Mack
|
|
idle among other things
|
|
|
|
|
|
|
|
systemd-bus-driverd is a small daemon that connects to kdbus and
implements the org.freedesktop.DBus interface. IOW, it provides the bus
functions traditionally taken care for by dbus-daemon.
Calls are proxied to kdbus, either via libsystemd-bus (were applicable)
or with the open-coded use of ioctl().
Note that the implementation is not yet finished as the functions to
add and remove matches and to start services by name are still missing.
|