dbus/bus
Ralf Habacker 79df3d2811 tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows
dbus-run-session starts a dbus-daemon before the client application.
We must avoid letting the application try to connect before the
dbus-daemon's DBusServer is listening for connections.

In the Unix implementation, we already achieved this via the
--print-address option. If the client tried to connect too soon,
the server would not yet be listening and the client would fail.

In the Windows implementation, we communicate the bus address to
the client application as an autolaunch: address, so if the client
tried to connect too soon, it would autolaunch a new dbus-daemon
instead of using the one that it was intended to use.

We can avoid this by using a new option to pass in a Windows event
object, which will be set when the server has started and is ready
to process connections.

Fixes #297
2021-11-23 08:38:14 +01:00
..
legacy-config On Windows, load local configuration relative to bus setup 2015-10-02 11:24:05 +01:00
systemd-user Put dbus-daemon into session slice 2021-11-18 11:35:49 +00:00
sysusers.d systemd: add sysusers.d snippet for booting up with unpopulated /etc 2017-02-13 14:49:52 +00:00
tmpfiles.d tmpfiles: Add a note that one line is not needed with newer systemd 2018-01-29 11:59:40 +00:00
.gitignore .gitignore: Ignore many more generated files 2018-12-14 13:28:50 +00:00
activation-exit-codes.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
activation-helper-bin.c Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
activation-helper.c Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
activation-helper.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
activation.c Configure option to disable traditional activation 2019-03-25 21:51:33 +02:00
activation.h Mediate auto-activation attempts through AppArmor 2016-11-28 12:11:45 +00:00
apparmor.c Mediate auto-activation attempts through AppArmor 2016-11-28 12:11:45 +00:00
apparmor.h Do not auto-activate services if we could not send a message 2016-11-28 12:11:41 +00:00
audit.c bus: Make audit initialization idempotent 2019-07-03 11:11:23 +01:00
audit.h audit: use DBUS_SYSTEM_LOG_WARNING if we cannot open the audit fd 2015-08-06 17:12:37 +01:00
bus.c tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows 2021-11-23 08:38:14 +01:00
bus.h tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows 2021-11-23 08:38:14 +01:00
CMakeLists.txt cmake: make support for traditional activation optional 2020-09-23 17:21:40 +02:00
config-loader-expat.c config-loader-expat: Tell Expat not to defend against hash collisions 2017-07-28 11:17:04 +01:00
config-parser-common.c Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
config-parser-common.h Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
config-parser-trivial.c Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
config-parser-trivial.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
config-parser.c Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
config-parser.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
connection.c bus: Don't explicitly clear BusConnections.monitors 2020-02-20 12:43:34 +00:00
connection.h bus: Clarify names of methods that query owned names 2019-05-30 15:59:10 +01:00
containers.c bus_container_instance_new: Don't leak empty DBusString object 2018-11-19 11:35:22 +00:00
containers.h containers: Add a method to ask to be sent the connection instance header 2018-02-16 15:27:51 +00:00
dbus.service.in bus: Notify systemd when we are ready 2018-03-02 14:48:49 +00:00
dbus.socket.in systemd: enable the dbus service unconditionally 2010-09-06 03:21:17 +02:00
desktop-file.c trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
desktop-file.h BusDesktopFile: Refactor logic to free the parser contents 2018-11-20 12:01:12 +00:00
dir-watch-default.c trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
dir-watch-inotify.c trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
dir-watch-kqueue.c trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
dir-watch.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
dispatch.c Configure option to disable traditional activation 2019-03-25 21:51:33 +02:00
dispatch.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
driver.c bus: Separate RemoveMatch into prepare and commit stages 2021-11-22 16:10:51 +00:00
driver.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
example-session-disable-stats.conf.in config: add examples to show how to enable/disable the Stats interface 2014-10-01 16:38:40 +01:00
example-system-enable-stats.conf.in config: add examples to show how to enable/disable the Stats interface 2014-10-01 16:38:40 +01:00
example-system-hardening-without-traditional-activation.conf Configure option to disable traditional activation 2019-03-25 21:51:33 +02:00
expirelist.c embedded tests: Conform to the same API for all tests 2018-12-17 14:12:59 +00:00
expirelist.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
main.c tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows 2021-11-23 08:38:14 +01:00
Makefile.am Configure option to disable traditional activation 2019-03-25 21:51:33 +02:00
org.freedesktop.dbus-session.plist.in 10.4 is old so set more sensible launchd defaults. 2010-12-09 08:20:07 +01:00
policy.c Normalize C source files to end with exactly one newline 2020-06-10 10:47:31 +00:00
policy.h dbus-daemon: add send_destination_prefix support 2019-04-26 13:29:42 +02:00
selinux.c bus/selinux: Fix audit message types. 2020-11-23 13:07:19 +00:00
selinux.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
services.c bus: Clarify names of methods that query owned names 2019-05-30 15:59:10 +01:00
services.h bus: Clarify names of methods that query owned names 2019-05-30 15:59:10 +01:00
session.conf.in bus: Add (unused) settings for resource limits for containers 2017-12-12 16:22:35 +00:00
signals.c bus: Separate RemoveMatch into prepare and commit stages 2021-11-22 16:10:51 +00:00
signals.h bus: Separate RemoveMatch into prepare and commit stages 2021-11-22 16:10:51 +00:00
stats.c driver: Share bus_driver_get_conn_helper with other modules 2017-06-29 15:42:20 +01:00
stats.h Implement GetAllMatchRules on the Stats interface 2014-09-25 12:59:50 +01:00
system.conf.in system.conf: Allow creating containers on the system bus 2017-12-12 16:22:35 +00:00
test.c tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows 2021-11-23 08:38:14 +01:00
test.h bus tests: Collect possible copyright holders from git history 2019-01-21 15:15:21 +00:00
utils.c trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
utils.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00