dbus/bus
Simon McVittie 1252dc1d1f config-loader-expat: Tell Expat not to defend against hash collisions
By default, Expat uses cryptographic-quality random numbers as a salt for
its hash algorithm, and since 2.2.1 it gets them from the getrandom
syscall on Linux. That syscall refuses to return any entropy until the
kernel's CSPRNG (random pool) has been initialized. Unfortunately, this
can take as long as 40 seconds on embedded devices with few entropy
sources, which is too long: if the system dbus-daemon blocks for that
length of time, important D-Bus clients like systemd and systemd-logind
time out and fail to connect to it.

We're parsing small configuration files here, and we trust them
completely, so we don't need to defend against hash collisions: nobody
is going to be crafting them to cause pathological performance.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101858
Signed-off-by: Simon McVittie <smcv@debian.org>
Tested-by: Christopher Hewitt <hewitt@ieee.org>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
2017-07-28 11:15:51 +01:00
..
legacy-config On Windows, load local configuration relative to bus setup 2015-10-02 11:24:05 +01:00
systemd-user user dbus.socket: Set DBUS_SESSION_BUS_ADDRESS 2015-10-26 11:59:36 +00:00
.gitignore Update .gitignore files 2015-02-03 15:40:01 +00:00
activation-exit-codes.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
activation-helper-bin.c launch-helper: fix error code parsing 2013-10-09 10:51:39 +01:00
activation-helper.c launch-helper: fix error code parsing 2013-10-09 10:51:39 +01:00
activation-helper.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
activation.c activation test: Fix time-of-check/time-of-use bug waiting to happen 2017-02-16 13:28:49 +00:00
activation.h CVE-2014-3477: deliver activation errors correctly, fixing Denial of Service 2014-06-05 14:36:17 +01:00
apparmor.c bus: move shared libaudit code to a new audit.[ch] 2015-08-06 17:12:36 +01:00
apparmor.h bus: move shared libaudit code to a new audit.[ch] 2015-08-06 17:12:36 +01:00
audit.c audit: make the first few fds close-on-exec 2015-08-25 16:42:48 +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 Initialize SELinux and Apparmor after capabilities are set 2017-03-22 09:32:34 +00:00
bus.h Store AppArmor label of connecting processes 2015-02-18 17:04:05 +00:00
config-loader-expat.c config-loader-expat: Tell Expat not to defend against hash collisions 2017-07-28 11:15:51 +01:00
config-parser-common.c Add apparmor element support to bus config parsing 2015-02-18 17:04:00 +00:00
config-parser-common.h Add apparmor element support to bus config parsing 2015-02-18 17:04:00 +00:00
config-parser-trivial.c Test system bus config files on Unix only 2015-11-03 14:22:30 +01:00
config-parser-trivial.h Merge branch 'dbus-1.2' 2010-06-22 17:25:20 +01:00
config-parser.c Test system bus config files on Unix only 2015-11-03 14:22:30 +01:00
config-parser.h Consistently include <config.h> in all C source files and never in header files. 2010-03-19 20:11:48 +01:00
connection.c Make uid 0 immune to pending_fd_timeout limit 2016-11-28 18:24:42 +00:00
connection.h Mediation of processes that acquire well-known names 2015-02-18 17:28:42 +00:00
dbus.service.in Add "Documentation=man:dbus-daemon(1)" line to systemd service 2014-04-28 15:42:11 +01:00
dbus.socket.in systemd: enable the dbus service unconditionally 2010-09-06 03:21:17 +02:00
desktop-file.c Fix dbus-daemon crash due to invalid service file 2013-06-12 13:42:00 +01:00
desktop-file.h Remove unused key-word of DBus .service file 2013-10-09 10:53:38 +01:00
dir-watch-default.c Fix warnings on Windows builds. 2010-04-14 08:26:40 +02:00
dir-watch-inotify.c inotify: make sure we set the close-on-exec flag 2014-09-23 19:25:55 +01:00
dir-watch-kqueue.c build: include dbus-sysdeps-unix.h for _dbus_fd_set_close_on_exec 2014-10-28 17:10:52 +00:00
dir-watch.h Clean up inotify watch handling 2010-02-01 16:22:56 -05:00
dispatch.c Do not fail with fatal message skipping GetConnectionUnixProcessID test-bus test on windows. 2015-11-13 23:02:57 +01:00
dispatch.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
driver.c Ignore ActivationFailure if not using systemd activation 2016-10-10 10:06:26 +01:00
driver.h Hardening: reject UpdateActivationEnvironment on non-canonical path 2015-01-01 23:32:16 +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
expirelist.c tests to embedded tests: replaced in dbus-daemon 2013-06-28 12:13:28 +01:00
expirelist.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
main.c dbus-daemon, dbus-launch: cope with callers having closed standard fds 2016-08-12 10:58:38 +01:00
Makefile.am bus: move shared libaudit code to a new audit.[ch] 2015-08-06 17:12:36 +01:00
messagebus-config.in Applied patches from cygwin port. 2010-08-10 08:25:24 +02:00
messagebus.in Fix use of $servicename in status 2010-07-09 11:52:59 -04: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 tests to embedded tests: replaced in dbus-daemon 2013-06-28 12:13:28 +01:00
policy.h tests to embedded tests: replaced in dbus-daemon 2013-06-28 12:13:28 +01:00
rc.messagebus.in [legacy init script] Fix the use of $servicename 2010-04-23 12:02:19 -04:00
selinux.c Avoid -Wunused-label when compiling with libselinux but no libaudit 2015-12-02 18:49:39 +00:00
selinux.h bus: move shared libaudit code to a new audit.[ch] 2015-08-06 17:12:36 +01:00
services.c bus_registry_new: Assert in case of not valid context parameter to avoid potiental crashes (CID 54764). 2015-07-13 14:33:32 +02:00
services.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
session.conf.in On Windows, load local configuration relative to bus setup 2015-10-02 11:24:05 +01:00
signals.c Trivial -Wsign-compare fixes. 2015-03-04 12:18:42 +01:00
signals.h Mediation of processes eavesdropping 2015-02-18 18:59:46 +00:00
stats.c Merge branch 'dbus-1.8' and prepare 1.9.6 2015-01-01 23:48:13 +00:00
stats.h Implement GetAllMatchRules on the Stats interface 2014-09-25 12:59:50 +01:00
system.conf.in On Windows, load local configuration relative to bus setup 2015-10-02 11:24:05 +01:00
test-launch-helper.c embedded tests: accept and ignore --tap argument 2015-12-02 18:51:08 +00:00
test-main.c embedded tests: accept and ignore --tap argument 2015-12-02 18:51:08 +00:00
test-system.c embedded tests: accept and ignore --tap argument 2015-12-02 18:51:08 +00:00
test.c tests to embedded tests: replaced in dbus-daemon 2013-06-28 12:13:28 +01:00
test.h tests to embedded tests: replaced in dbus-daemon 2013-06-28 12:13:28 +01:00
utils.c Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00
utils.h Bug 21161 - Update the FSF address 2009-07-14 15:39:47 -04:00