dbus/bus
Adrian Szyndela 626cb5cf4e bus/policy: separate prefix rules in default context
To handle prefix rules stored with all other rules in the default context
we need to match each prefix of each name against policy rules.
That's because names are looked up in the hash tables, so we can
miss a prefix rule for a prefix of the name.

However, if prefix rules are separated from non-prefix rules, we
can simply check them all once for each name, and also check hash tables once
for each name.

This is what this commit changes. It separates prefix rules
from non-prefix rules, and handles them in sequence.

This gives a little boost, especially if there are no prefix rules.

Change-Id: Ifade906d35af96a973920ce9c2f6065f5b9b549e
2022-04-27 14:31:32 +02: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 dbus-daemon-launch-helper: Reset Linux OOM score adjustment here 2022-02-22 19:26:58 +00: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 dbus-daemon: Implement signal 'ActivatableServicesChanged' 2022-02-16 14:00:13 +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: Drop an unnecessary include directory 2022-03-24 14:26:42 +00: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/connection: API for getting list of names from connections 2022-04-19 15:42:07 +00:00
connection.h bus/connection: API for getting list of names from connections 2022-04-19 15:42:07 +00: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: Show the errno if inotify cannot be initialized 2022-02-28 22:50:26 +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 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 bus/policy: separate prefix rules in default context 2022-04-27 14:31:32 +02:00
policy.h bus/policy: use hash tables for checking policy 2022-04-20 11:19:40 +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 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