Commit Graph

13053 Commits

Author SHA1 Message Date
Kay Sievers f252ff1742 rename stdio-bridge to bus-proxyd 2013-11-29 22:12:59 +01:00
Lennart Poettering 219728b31b bus: synthesize NameLost/NameAcquired from kernel messages on top if NameOwnerChange 2013-11-29 22:03:55 +01:00
Lennart Poettering 51502af33d bus: fix callback index when dispatching kernel messages 2013-11-29 22:03:55 +01:00
Lennart Poettering 7d22c71732 bus: add the ability for backends to queue to input messages at the same time
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-29 22:03:55 +01:00
Daniel Mack 3519d4c895 libsystemd-bus: sd_bus_request_name: use kdbus_translate_request_name_flags() 2013-11-29 22:01:34 +01:00
Daniel Mack 98f17eda0f libsystemd-bus: rename sd_bus_kernel_translate_request_name_flags
... to keep the namespace clean.
2013-11-29 22:01:34 +01:00
Daniel Mack 6018903565 libsystemd-bus: add kdbus support for sd_bus_get_owner() 2013-11-29 22:01:34 +01:00
Daniel Mack 87b522ae19 libsystemd-bus: add sd_bus_translate_attach_flags()
Factor out code from sd_bus_negotiate_attach_creds() to a generic
translate function, so it can be used from other places.
2013-11-29 22:01:34 +01:00
Daniel Mack c931748d20 libsystemd-bus: factor out DBus bits out of sd_bus_get_owner()
Just a preparation for upcoming kdbus support.
2013-11-29 22:01:34 +01:00
Kay Sievers fa6ccbf423 bus: do not fail if "comm" information cannot be retrieved from /proc 2013-11-29 21:34:14 +01:00
Kay Sievers c6dfb87f1d bus: fix size calculation for match data 2013-11-29 21:03:54 +01:00
Lennart Poettering 34a2c9e841 bus: when synthesizing messages locally, fill in a sender 2013-11-29 20:14:11 +01:00
Lennart Poettering b5dda4d84a busctl: fix --help line breaks 2013-11-29 20:14:11 +01:00
Lennart Poettering 777d7a6123 kdbus: synthesize NameOwnerChange signals from kernel messages and support matches against NameOwnerChange 2013-11-29 20:14:11 +01:00
Lennart Poettering a9ed78b0ca kdbus: add base enums for items 2013-11-29 20:14:11 +01:00
Kay Sievers 197941a8d5 bus: do not fail if task information cannot be retrieved from /proc 2013-11-29 19:46:59 +01:00
Lukasz Skalski 9bb058a1e0 libsystemd-bus: clean up bus-control.c file 2013-11-29 19:08:51 +01:00
Kay Sievers 547708f59e bus: do not fail if cgroup information cannot be retrieved from /proc 2013-11-29 18:57:06 +01:00
Kay Sievers 8bd54e897c libsystemd-bus: catch up with latest kdbus changes 2013-11-29 18:37:39 +01:00
Daniel Mack ea1edeceb1 libsystemd-bus: follow kdbus renames
kdbus now has more generic names for the items it passes around. That
allows for usage from other contexts.
2013-11-29 18:10:36 +01:00
Marcel Holtmann c6f3f5b4b3 hwdb: Update database of Bluetooth company identifiers 2013-11-29 07:31:39 -08:00
Daniel Mack c58dea190c libsystemd-bus: copy over kdbus provided 128-bit bus id
kdbus now copies the bus unique id back to userspace in the hello
ioctl(). Use these bytes to set the server id of the sd_bus.
2013-11-29 16:27:30 +01:00
Daniel Mack d21a7bb1a9 libsystemd-bus: catch up with latest kdbus changes
kdbus_cmd_hello now has a new uint64_t flags field for the requested
attachments. Follow that change in libsystemd-bus.
2013-11-29 15:36:40 +01:00
Daniel Mack 71008e18a0 systemd-stdio-bridge: make it socket-activatable and usable as kdbus bridge
Augment systemd-stdio-bridge a bit to make it a 1:1 bridge from legacy
DBus clients to kdbus. In particular,

 * allow setting the bus path of the upstream bus as command line
   argument
 * use sd_listen_fds() for systemd's socket activation
 * omit calling sd_bus_negotiate_fds() when upstream bus is kdbus
 * reply to bus send errors with proper dbus error messages
 * treat -ECONNRESET as expected end-of-connection condition
2013-11-29 14:06:50 +01:00
Daniel Mack ed99569df8 libsystemd-bus: sd_bus_request_name: fix return value for kdbus
kdbus returns -EALREADY if the requesting connection is already the
owner of a name, and -EEXIST if the name already exists and the
connection is not able to take it over.

Also, n->flags needs a translation as well to match the SD_BUS_* enum
values.
2013-11-29 14:06:50 +01:00
Daniel Mack 0253ddccbb libsystemd-bus: kernel: add sd_bus_kernel_translate_request_name_flags
Flags used to request a name from kdbus are not identical to what DBus
and sd_bus use internally. Introduce a simple function to do the
translation for us. It's factored out to a separate function so the
dbus-driver instance can make use of it as well.
2013-11-29 14:06:50 +01:00
Daniel Mack b6bd53c1ee libsystemd-bus: make sd_bus_list_names return all connections, including unique names 2013-11-29 14:06:50 +01:00
Daniel Mack b147398450 libsystemd-bus: add kdbus support for sd_bus_list_names()
kdbus will tell us the minimum buffer size it needs in case the default
8kb buffer doesn't suffice.
2013-11-29 14:06:49 +01:00
Daniel Mack 9eb34e8225 libsystemd-bus: bring definitions in sync with kdbus
In particular, KDBUS_ITEM_NEXT is now called KDBUS_PART_NEXT, and
KDBUS_ITEM_FOREACH was renamed to KDBUS_PART_FOREACH and takes one more
argument to make it more flexible.
2013-11-29 14:06:49 +01:00
Lennart Poettering 5461f53f18 bus: when turning a buffer into a sd_bus_message avoid creating zero-length parts 2013-11-29 13:34:55 +01:00
Lennart Poettering 03930e4863 Revert "build-sys: avoid warnings from assert_cc"
This reverts commit f1a1264d13.

We can turn this off with a pragma only on old gcc. Newer gcc doesn't
need this, so let's not turn this off for everybody.
2013-11-29 13:34:55 +01:00
Kay Sievers 76037baee0 bus: creds - ignore EINVAL when acessing the (inactive) LSM /proc interface 2013-11-29 11:52:22 +01:00
Lukasz Skalski 27df44a2c6 bus: Add KDBUS_MSG_SRC_NAMES to bus_kernel_make_message() function 2013-11-29 11:43:28 +01:00
Lennart Poettering 7f4cec6995 busctl: drop bus driver name from list of services 2013-11-28 20:44:26 +01:00
Lennart Poettering a4297f08ed bus: merge sd_bus_get_owner() and sd_bus_get_owner_creds() into one call
Since the backing ioctl for this on kdbus is the same we retain
atomicity this way.
2013-11-28 20:44:26 +01:00
Zbigniew Jędrzejewski-Szmek df41aaf9a2 Remove some unused variables 2013-11-28 14:37:11 -05:00
Zbigniew Jędrzejewski-Szmek 0b340bcf0e build-sys: use C99
We already use various constructs, so let's just admit that we're using C99.
2013-11-28 14:37:11 -05:00
Zbigniew Jędrzejewski-Szmek bdb628eec6 virt: split detect_vm into separate functions
It didn't build on arm. Let's simplify it a bit by
splitting x86 specific parts out, which should also make
things easier when arm virtualization support is added.
2013-11-28 14:37:11 -05:00
Zbigniew Jędrzejewski-Szmek bd441fa27a build-sys: make multi-seat-x optional
At some point it should become disabled by default.

http://lists.freedesktop.org/archives/systemd-devel/2013-November/014869.html
2013-11-28 14:37:11 -05:00
Marc-Antoine Perennou dda3e81486 core: fix SetUnitProperties 2013-11-28 20:33:54 +01:00
Tom Gundersen ff83aac364 Revert "link-config: match length for kernel commandline option"
This reverts commit da66338e17.

It is superseeded by 70f75a523b
2013-11-28 20:06:42 +01:00
Lennart Poettering f38afcd0c7 clean up TODO 2013-11-28 18:44:50 +01:00
Lennart Poettering 5b12334d35 bus: add new sd_bus_creds object to encapsulate process credentials
This way we can unify handling of credentials that are attached to
messages, or can be queried for bus name owners or connection peers.

This also adds the ability to extend incomplete credential information
with data from /proc,

Also, provide a convenience call that will automatically determine the
most appropriate credential object for an incoming message, by using the
the attached information if possible, the sending name information if
available and otherwise the peer's credentials.
2013-11-28 18:42:18 +01:00
Lennart Poettering 70f75a523b util: fix handling of trailing whitespace in split_quoted()
Inspired by a patch by Lukas Nykryn.
2013-11-28 18:42:18 +01:00
Lennart Poettering fb1454005d man: move socket-proxyd man page to section 8, since it is not in the $PATH 2013-11-28 18:42:18 +01:00
Lennart Poettering 34c7dc47d3 man: get rid of shell script example in systemd-socket-proxyd man page 2013-11-28 18:42:18 +01:00
Lennart Poettering 07504d6b15 Revert "socket-proxyd: Add --listener option for listener/destination pairs."
This reverts commit adcf4c81c5.

We have a better solution for the problem of making two processes run in
the same namespace, and --listener is not needed hence and should be
dropped.

Conflicts:
	man/systemd-socket-proxyd.xml
2013-11-28 18:42:18 +01:00
David Herrmann 486cd82c8f logind: remove unused session->closing field
This field is always false, drop it. If you want a reliable way to get
session state, call session_get_state(). Testing for any flags directly
doesn't work currently so don't pretend it would.
2013-11-28 17:41:44 +01:00
David Herrmann c506027af8 logind: require VTs on seat0 and forbid elsewhere
Sessions on seat0 must pass us a vtnr, otherwise, you shouldn't try
attaching it to seat0. For seats without VTs, we do the exact opposite: we
forbid VTs.

There can be odd situations if the session-files contain invalid
combinations. However, we try to keep sessions alive and restore state as
good as possible.
2013-11-28 17:41:38 +01:00
David Herrmann 92bd5ff3a0 logind: make VT numbers unsigned
Fix the whole code to use "unsigned int" for vtnr. 0 is an invalid vtnr so
we don't need negative numbers at all.

Note that most code already assumes it's unsigned so in case there's a
negative vtnr, our code may, under special circumstances, silently break.
So this patch makes sure all sources of vtnrs verify the validity. Also
note that the dbus api already uses unsigned ints.
2013-11-28 17:38:16 +01:00