1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-08 11:27:32 +03:00
systemd/src
David Herrmann 7d67077f78 sd-bus: fix object tree to be deeper than 2 levels
So right now our object-tree is limited to 2 levels at most
('/' and '/foo/...../bar'). We never link any intermediate levels, even
though that was clearly the plan. Fix the bus_node_allocate() helper to
actually link all intermediate nodes, too, not just the root node.

This fixes a simple inverse ptr-diff bug.

The downside of this fix is that we clearly never tested (nor used) the
object tree in any way. The only reason that the introspection works is
that our enumerators shortcut the object tree.

Lets see whether that code actually works..

Thanks to: Nathaniel McCallum <nathaniel@themccallums.org>
..for reporting this. See #524 for an actual example code.
2015-07-15 14:39:12 +02:00
..
ac-power
activate tree-wide: whenever we fork off a foreign child process reset signal mask/handlers 2015-06-10 01:28:58 +02:00
analyze sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
ask-password remove unused includes 2015-02-23 23:53:42 +01:00
backlight fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
basic basic: util - fix memleak on error in unbase64mem() 2015-07-14 21:14:45 +02:00
binfmt tree-wide: fix write_string_file() user that should not create files 2015-07-06 19:27:20 -04:00
boot sd-boot: ignore missing /etc/machine-id 2015-07-15 12:04:31 +02:00
bootchart bootchart: do not report warning when disk is missing model. 2015-07-01 14:49:20 +01:00
bus-proxyd bus-proxyd: fix log message and explain dbus-1 compat matches 2015-07-06 17:58:50 +02:00
cgls sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
cgroups-agent sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
cgtop cgtop: IO readings are valid if any data is available, even if unchanged since last tick 2015-06-10 18:06:28 -05:00
compat-libs #pragma once here and there 2015-01-23 09:30:44 -05:00
console everywhere: port everything to sigprocmask_many() and friends 2015-06-15 20:13:23 +02:00
core Merge pull request #548 from vcaputo/fix_path_state_debug_msg 2015-07-10 20:42:32 -04:00
cryptsetup cryptsetup: craft a unique ID with the source device 2015-06-09 10:17:55 +02:00
dbus1-generator bus: don't switch to kdbus if not requested 2015-05-06 18:21:51 +02:00
debug-generator core: rework unit name validation and manipulation logic 2015-05-05 15:06:42 -07:00
delta tree-wide: whenever we fork off a foreign child process reset signal mask/handlers 2015-06-10 01:28:58 +02:00
detect-virt remove unused includes 2015-02-23 23:53:42 +01:00
efi-boot-generator path-util: Change path_is_mount_point() symlink arg from bool to flags 2015-05-29 17:42:44 +02:00
escape escape: fix exit code 2015-07-01 23:46:42 -07:00
firstboot fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
fsck sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
fstab-generator swap: use swapon -o 2015-05-25 17:06:15 +02:00
getty-generator core: rework unit name validation and manipulation logic 2015-05-05 15:06:42 -07:00
gpt-auto-generator fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
hibernate-resume fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
hostname sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
hwdb Revert "hwdb: actually search /run/udev/hwdb.d" 2015-06-09 11:26:06 +02:00
import sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
initctl shared: add formats-util.h 2015-04-10 23:54:48 +02:00
journal Merge pull request #485 from poettering/sd-bus-flush-close-unref 2015-07-04 12:41:01 +02:00
journal-remote journal-gatewayd: fix tmpfile logic 2015-07-07 17:21:27 -04:00
kernel-install 90-loaderentry.install: fixup BOOT_OPTIONS 2015-06-02 16:10:06 +02:00
libsystemd sd-bus: fix object tree to be deeper than 2 levels 2015-07-15 14:39:12 +02:00
libsystemd-network Merge pull request #538 from mischief/multiple-routers 2015-07-14 20:17:11 +02:00
libsystemd-terminal treewide: fix typos of let's 2015-07-06 20:09:54 -04:00
libudev libudev: device - fix typo in udev_device_get_sysattr_list_entry() 2015-06-17 22:03:34 +02:00
locale sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
login logind: bring bus policy up-to-date 2015-07-11 17:03:42 -03:00
machine machine: remove unused variables 2015-07-08 23:46:47 +02:00
machine-id-commit machine-id-commit: simplifications 2015-03-10 18:56:56 +01:00
machine-id-setup remove unused includes 2015-02-23 23:53:42 +01:00
modules-load modules-load: fix memory leak 2015-05-13 14:07:26 +02:00
network networkd: tap add support for vnet_hdr 2015-07-14 14:10:56 +05:30
notify shared: add formats-util.h 2015-04-10 23:54:48 +02:00
nspawn Merge pull request #500 from zonque/fileio 2015-07-08 17:13:53 -03:00
nss-myhostname util: split all hostname related calls into hostname-util.c 2015-05-18 17:10:07 +02:00
nss-mymachines sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
nss-resolve sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
path tree-wide: there is no ENOTSUP on linux 2015-03-13 14:10:39 +01:00
quotacheck tree-wide: whenever we fork off a foreign child process reset signal mask/handlers 2015-06-10 01:28:58 +02:00
random-seed random-seed: minor cleanups, in particular when it comes to logging 2015-04-21 18:08:09 +02:00
rc-local-generator
remount-fs tree-wide: whenever we fork off a foreign child process reset signal mask/handlers 2015-06-10 01:28:58 +02:00
reply-password remove unused includes 2015-02-23 23:53:42 +01:00
resolve Merge pull request #586 from teg/resolved-rrs-3 2015-07-14 13:43:18 -04:00
resolve-host resolve-host: enable dbus-activation 2015-07-09 11:47:43 +02:00
rfkill fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
run sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
shared logind: some firmware implementations remove OsIndications if it is unset 2015-07-11 17:32:25 -03:00
sleep fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
socket-proxy remove unused includes 2015-02-23 23:53:42 +01:00
sysctl sysctl: don't propagate ENOENT sysctl options 2015-04-24 19:56:47 +02:00
system-update-generator remove unused includes 2015-02-23 23:53:42 +01:00
systemctl sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
systemd dhcp: add support for vendor specific DHCP option 2015-07-12 14:26:32 -04:00
sysusers util: add generic calls for prefixing a root directory to a path 2015-05-13 17:42:10 +02:00
sysv-generator sysv-generator: fix coding-style 2015-07-01 13:02:58 +02:00
test basic: util - add base64mem() function similar to hexmem() 2015-07-12 19:24:14 +02:00
timedate sd-bus: introduce new sd_bus_flush_close_unref() call 2015-07-03 19:49:03 +02:00
timesync build-sys: add all source files and no built files to the tar ball 2015-06-23 12:43:15 +02:00
tmpfiles tmpfiles: only root-owned aquota.* files are special 2015-06-17 15:46:32 +02:00
tty-ask-password-agent everywhere: port everything to sigprocmask_many() and friends 2015-06-15 20:13:23 +02:00
udev tree-wide: fix write_string_file() user that should not create files 2015-07-06 19:27:20 -04:00
update-done update-done: ignore nanosecond file timestamp components, they are not reliable 2015-04-27 17:25:57 +02:00
update-utmp shared: add formats-util.h 2015-04-10 23:54:48 +02:00
user-sessions fileio: consolidate write_string_file*() 2015-07-06 19:19:25 -04:00
vconsole tree-wide: fix write_string_file() user that should not create files 2015-07-06 19:27:20 -04:00
.gitignore
Makefile