dbus/bus
Simon McVittie 9213da104d bus: When failing to reload client policy, continue iteration
If we have a large number of connections to the bus, and we fail to
reload the policy for one of them (perhaps because its uid no longer
exists in the system user database), previously we would crash, which
is obviously unintended. After the previous commit, we would stop
iteration through the list of client connections, which doesn't seem
great either: one bad connection shouldn't prevent us from reloading
the rest of our state.

Instead, let's distinguish between new connections (where we want
failure to establish a security policy to be fatal), and pre-existing
connections (where the current security policy is presumably good
enough to keep using if we have nothing better). If we're unable to
reload the policy for a pre-existing connection, log a warning and
carry on iterating.

Helps: https://gitlab.freedesktop.org/dbus/dbus/-/issues/343
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-08-18 18:51:50 +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 activation-helper: Never crash if unable to write oom_score_adj 2022-09-13 12:26:13 +01:00
activation-helper.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
activation.c Avoid assertation in bus_activation_reload() 2021-12-09 12:54:22 +01: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 bus: When failing to reload client policy, continue iteration 2023-08-18 18:51:50 +01:00
bus.h bus: When failing to reload client policy, continue iteration 2023-08-18 18:51:50 +01:00
CMakeLists.txt cmake: Drop an unnecessary include directory 2022-09-13 12:23:50 +01: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 config-parser: no longer get past the last NULL passed to locate_attributes 2022-10-11 14:35:22 +01:00
config-parser.h trivial: Remove trailing whitespace from copyright notices 2018-12-17 11:22:39 +00:00
connection.c bus: When failing to reload client policy, continue iteration 2023-08-18 18:51:50 +01:00
connection.h bus: Clarify names of methods that query owned names 2019-05-30 15:59:10 +01:00
containers.c Disable the Containers interface 2021-12-10 16:48:51 +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 bus/dir-watch: Do not crash with > 128 dirs 2022-09-13 12:24:49 +01:00
dir-watch-kqueue.c dir-watch-kqueue: Silence -Wshadow warning 2022-09-13 12:47:29 +01: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 dbus-daemon: Implement signal 'ActivatableServicesChanged' 2022-02-16 14:00:13 +01: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 userdb: Add proper error reporting when getting groups from a uid 2023-08-18 17:38:22 +01:00
policy.h dbus-daemon: add send_destination_prefix support 2019-04-26 13:29:42 +02:00
selinux.c bus/selinux: Move vsnprintf call to avoid va_list reuse 2023-02-08 10:09:44 +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 Disable the Containers interface 2021-12-10 16:48:51 +00:00
signals.c bus/signal: fix compilation when only -Dembedded-tests 2022-01-21 21:16:45 +04: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 Disable the Containers interface 2021-12-10 16:48:51 +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