diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/.gitignore (renamed from src/shared/.gitignore) | 0 | ||||
l--------- | src/basic/Makefile (renamed from src/shared/Makefile) | 0 | ||||
-rw-r--r-- | src/basic/MurmurHash2.c (renamed from src/shared/MurmurHash2.c) | 0 | ||||
-rw-r--r-- | src/basic/MurmurHash2.h (renamed from src/shared/MurmurHash2.h) | 0 | ||||
-rw-r--r-- | src/basic/af-list.c (renamed from src/shared/af-list.c) | 0 | ||||
-rw-r--r-- | src/basic/af-list.h (renamed from src/shared/af-list.h) | 0 | ||||
-rw-r--r-- | src/basic/arphrd-list.c (renamed from src/shared/arphrd-list.c) | 0 | ||||
-rw-r--r-- | src/basic/arphrd-list.h (renamed from src/shared/arphrd-list.h) | 0 | ||||
-rw-r--r-- | src/basic/async.c (renamed from src/shared/async.c) | 0 | ||||
-rw-r--r-- | src/basic/async.h (renamed from src/shared/async.h) | 0 | ||||
-rw-r--r-- | src/basic/audit.c (renamed from src/shared/audit.c) | 0 | ||||
-rw-r--r-- | src/basic/audit.h (renamed from src/shared/audit.h) | 0 | ||||
-rw-r--r-- | src/basic/barrier.c (renamed from src/shared/barrier.c) | 0 | ||||
-rw-r--r-- | src/basic/barrier.h (renamed from src/shared/barrier.h) | 0 | ||||
-rw-r--r-- | src/basic/blkid-util.h (renamed from src/shared/blkid-util.h) | 0 | ||||
-rw-r--r-- | src/basic/btrfs-ctree.h (renamed from src/shared/btrfs-ctree.h) | 0 | ||||
-rw-r--r-- | src/basic/btrfs-util.c (renamed from src/shared/btrfs-util.c) | 0 | ||||
-rw-r--r-- | src/basic/btrfs-util.h (renamed from src/shared/btrfs-util.h) | 0 | ||||
-rw-r--r-- | src/basic/build.h (renamed from src/shared/build.h) | 0 | ||||
-rw-r--r-- | src/basic/bus-label.c (renamed from src/shared/bus-label.c) | 0 | ||||
-rw-r--r-- | src/basic/bus-label.h (renamed from src/shared/bus-label.h) | 0 | ||||
-rw-r--r-- | src/basic/calendarspec.c (renamed from src/shared/calendarspec.c) | 0 | ||||
-rw-r--r-- | src/basic/calendarspec.h (renamed from src/shared/calendarspec.h) | 0 | ||||
-rw-r--r-- | src/basic/cap-list.c (renamed from src/shared/cap-list.c) | 0 | ||||
-rw-r--r-- | src/basic/cap-list.h (renamed from src/shared/cap-list.h) | 0 | ||||
-rw-r--r-- | src/basic/capability.c (renamed from src/shared/capability.c) | 0 | ||||
-rw-r--r-- | src/basic/capability.h (renamed from src/shared/capability.h) | 0 | ||||
-rw-r--r-- | src/basic/cgroup-util.c (renamed from src/shared/cgroup-util.c) | 2 | ||||
-rw-r--r-- | src/basic/cgroup-util.h (renamed from src/shared/cgroup-util.h) | 0 | ||||
-rw-r--r-- | src/basic/clock-util.c (renamed from src/shared/clock-util.c) | 0 | ||||
-rw-r--r-- | src/basic/clock-util.h (renamed from src/shared/clock-util.h) | 0 | ||||
-rw-r--r-- | src/basic/conf-files.c (renamed from src/shared/conf-files.c) | 0 | ||||
-rw-r--r-- | src/basic/conf-files.h (renamed from src/shared/conf-files.h) | 0 | ||||
-rw-r--r-- | src/basic/copy.c (renamed from src/shared/copy.c) | 0 | ||||
-rw-r--r-- | src/basic/copy.h (renamed from src/shared/copy.h) | 0 | ||||
-rw-r--r-- | src/basic/def.h (renamed from src/shared/def.h) | 0 | ||||
-rw-r--r-- | src/basic/device-nodes.c (renamed from src/shared/device-nodes.c) | 0 | ||||
-rw-r--r-- | src/basic/device-nodes.h (renamed from src/shared/device-nodes.h) | 0 | ||||
-rw-r--r-- | src/basic/env-util.c (renamed from src/shared/env-util.c) | 0 | ||||
-rw-r--r-- | src/basic/env-util.h (renamed from src/shared/env-util.h) | 0 | ||||
-rw-r--r-- | src/basic/errno-list.c (renamed from src/shared/errno-list.c) | 0 | ||||
-rw-r--r-- | src/basic/errno-list.h (renamed from src/shared/errno-list.h) | 0 | ||||
-rw-r--r-- | src/basic/ether-addr-util.h (renamed from src/shared/ether-addr-util.h) | 0 | ||||
-rw-r--r-- | src/basic/exit-status.c (renamed from src/shared/exit-status.c) | 0 | ||||
-rw-r--r-- | src/basic/exit-status.h (renamed from src/shared/exit-status.h) | 0 | ||||
-rw-r--r-- | src/basic/fdset.c (renamed from src/shared/fdset.c) | 0 | ||||
-rw-r--r-- | src/basic/fdset.h (renamed from src/shared/fdset.h) | 0 | ||||
-rw-r--r-- | src/basic/fileio-label.c (renamed from src/shared/fileio-label.c) | 0 | ||||
-rw-r--r-- | src/basic/fileio-label.h (renamed from src/shared/fileio-label.h) | 0 | ||||
-rw-r--r-- | src/basic/fileio.c (renamed from src/shared/fileio.c) | 0 | ||||
-rw-r--r-- | src/basic/fileio.h (renamed from src/shared/fileio.h) | 0 | ||||
-rw-r--r-- | src/basic/gunicode.c (renamed from src/shared/gunicode.c) | 0 | ||||
-rw-r--r-- | src/basic/gunicode.h (renamed from src/shared/gunicode.h) | 0 | ||||
-rw-r--r-- | src/basic/hashmap.c (renamed from src/shared/hashmap.c) | 0 | ||||
-rw-r--r-- | src/basic/hashmap.h (renamed from src/shared/hashmap.h) | 0 | ||||
-rw-r--r-- | src/basic/hostname-util.c (renamed from src/shared/hostname-util.c) | 0 | ||||
-rw-r--r-- | src/basic/hostname-util.h (renamed from src/shared/hostname-util.h) | 0 | ||||
-rw-r--r-- | src/basic/in-addr-util.c (renamed from src/shared/in-addr-util.c) | 0 | ||||
-rw-r--r-- | src/basic/in-addr-util.h (renamed from src/shared/in-addr-util.h) | 0 | ||||
-rw-r--r-- | src/basic/ioprio.h (renamed from src/shared/ioprio.h) | 0 | ||||
-rw-r--r-- | src/basic/json.c (renamed from src/shared/json.c) | 0 | ||||
-rw-r--r-- | src/basic/json.h (renamed from src/shared/json.h) | 0 | ||||
-rw-r--r-- | src/basic/label.c (renamed from src/shared/label.c) | 0 | ||||
-rw-r--r-- | src/basic/label.h (renamed from src/shared/label.h) | 0 | ||||
l--------- | src/basic/linux/Makefile (renamed from src/shared/linux/Makefile) | 0 | ||||
-rw-r--r-- | src/basic/list.h (renamed from src/shared/list.h) | 0 | ||||
-rw-r--r-- | src/basic/locale-util.c (renamed from src/shared/locale-util.c) | 0 | ||||
-rw-r--r-- | src/basic/locale-util.h (renamed from src/shared/locale-util.h) | 0 | ||||
-rw-r--r-- | src/basic/lockfile-util.c (renamed from src/shared/lockfile-util.c) | 0 | ||||
-rw-r--r-- | src/basic/lockfile-util.h (renamed from src/shared/lockfile-util.h) | 0 | ||||
-rw-r--r-- | src/basic/log.c (renamed from src/shared/log.c) | 0 | ||||
-rw-r--r-- | src/basic/log.h (renamed from src/shared/log.h) | 0 | ||||
-rw-r--r-- | src/basic/login-util.c (renamed from src/shared/login-shared.c) | 2 | ||||
-rw-r--r-- | src/basic/login-util.h (renamed from src/shared/login-shared.h) | 0 | ||||
-rw-r--r-- | src/basic/macro.h (renamed from src/shared/macro.h) | 0 | ||||
-rw-r--r-- | src/basic/memfd-util.c (renamed from src/shared/memfd-util.c) | 0 | ||||
-rw-r--r-- | src/basic/memfd-util.h (renamed from src/shared/memfd-util.h) | 0 | ||||
-rw-r--r-- | src/basic/mempool.c (renamed from src/shared/mempool.c) | 0 | ||||
-rw-r--r-- | src/basic/mempool.h (renamed from src/shared/mempool.h) | 0 | ||||
-rw-r--r-- | src/basic/missing.h (renamed from src/shared/missing.h) | 0 | ||||
-rw-r--r-- | src/basic/mkdir-label.c (renamed from src/shared/mkdir-label.c) | 0 | ||||
-rw-r--r-- | src/basic/mkdir.c (renamed from src/shared/mkdir.c) | 0 | ||||
-rw-r--r-- | src/basic/mkdir.h (renamed from src/shared/mkdir.h) | 0 | ||||
-rw-r--r-- | src/basic/ordered-set.h (renamed from src/shared/ordered-set.h) | 0 | ||||
-rw-r--r-- | src/basic/path-util.c (renamed from src/shared/path-util.c) | 0 | ||||
-rw-r--r-- | src/basic/path-util.h (renamed from src/shared/path-util.h) | 0 | ||||
-rw-r--r-- | src/basic/prioq.c (renamed from src/shared/prioq.c) | 0 | ||||
-rw-r--r-- | src/basic/prioq.h (renamed from src/shared/prioq.h) | 0 | ||||
-rw-r--r-- | src/basic/process-util.c (renamed from src/shared/process-util.c) | 0 | ||||
-rw-r--r-- | src/basic/process-util.h (renamed from src/shared/process-util.h) | 0 | ||||
-rw-r--r-- | src/basic/random-util.c (renamed from src/shared/random-util.c) | 0 | ||||
-rw-r--r-- | src/basic/random-util.h (renamed from src/shared/random-util.h) | 0 | ||||
-rw-r--r-- | src/basic/ratelimit.c (renamed from src/shared/ratelimit.c) | 0 | ||||
-rw-r--r-- | src/basic/ratelimit.h (renamed from src/shared/ratelimit.h) | 0 | ||||
-rw-r--r-- | src/basic/refcnt.h (renamed from src/shared/refcnt.h) | 0 | ||||
-rw-r--r-- | src/basic/replace-var.c (renamed from src/shared/replace-var.c) | 0 | ||||
-rw-r--r-- | src/basic/replace-var.h (renamed from src/shared/replace-var.h) | 0 | ||||
-rw-r--r-- | src/basic/ring.c (renamed from src/shared/ring.c) | 0 | ||||
-rw-r--r-- | src/basic/ring.h (renamed from src/shared/ring.h) | 0 | ||||
-rw-r--r-- | src/basic/rm-rf.c (renamed from src/shared/rm-rf.c) | 0 | ||||
-rw-r--r-- | src/basic/rm-rf.h (renamed from src/shared/rm-rf.h) | 0 | ||||
-rw-r--r-- | src/basic/securebits.h (renamed from src/shared/securebits.h) | 0 | ||||
-rw-r--r-- | src/basic/selinux-util.c (renamed from src/shared/selinux-util.c) | 0 | ||||
-rw-r--r-- | src/basic/selinux-util.h (renamed from src/shared/selinux-util.h) | 0 | ||||
-rw-r--r-- | src/basic/set.h (renamed from src/shared/set.h) | 0 | ||||
-rw-r--r-- | src/basic/sigbus.c (renamed from src/shared/sigbus.c) | 0 | ||||
-rw-r--r-- | src/basic/sigbus.h (renamed from src/shared/sigbus.h) | 0 | ||||
-rw-r--r-- | src/basic/signal-util.c (renamed from src/shared/signal-util.c) | 0 | ||||
-rw-r--r-- | src/basic/signal-util.h (renamed from src/shared/signal-util.h) | 0 | ||||
-rw-r--r-- | src/basic/siphash24.c (renamed from src/shared/siphash24.c) | 0 | ||||
-rw-r--r-- | src/basic/siphash24.h (renamed from src/shared/siphash24.h) | 0 | ||||
-rw-r--r-- | src/basic/smack-util.c (renamed from src/shared/smack-util.c) | 0 | ||||
-rw-r--r-- | src/basic/smack-util.h (renamed from src/shared/smack-util.h) | 0 | ||||
-rw-r--r-- | src/basic/socket-label.c (renamed from src/shared/socket-label.c) | 0 | ||||
-rw-r--r-- | src/basic/socket-util.c (renamed from src/shared/socket-util.c) | 0 | ||||
-rw-r--r-- | src/basic/socket-util.h (renamed from src/shared/socket-util.h) | 0 | ||||
-rw-r--r-- | src/basic/sparse-endian.h (renamed from src/shared/sparse-endian.h) | 0 | ||||
-rw-r--r-- | src/basic/special.h (renamed from src/shared/special.h) | 0 | ||||
-rw-r--r-- | src/basic/strbuf.c (renamed from src/shared/strbuf.c) | 0 | ||||
-rw-r--r-- | src/basic/strbuf.h (renamed from src/shared/strbuf.h) | 0 | ||||
-rw-r--r-- | src/basic/strv.c (renamed from src/shared/strv.c) | 0 | ||||
-rw-r--r-- | src/basic/strv.h (renamed from src/shared/strv.h) | 0 | ||||
-rw-r--r-- | src/basic/strxcpyx.c (renamed from src/shared/strxcpyx.c) | 0 | ||||
-rw-r--r-- | src/basic/strxcpyx.h (renamed from src/shared/strxcpyx.h) | 0 | ||||
-rw-r--r-- | src/basic/terminal-util.c (renamed from src/shared/terminal-util.c) | 0 | ||||
-rw-r--r-- | src/basic/terminal-util.h (renamed from src/shared/terminal-util.h) | 0 | ||||
-rw-r--r-- | src/basic/time-util.c (renamed from src/shared/time-util.c) | 0 | ||||
-rw-r--r-- | src/basic/time-util.h (renamed from src/shared/time-util.h) | 0 | ||||
-rw-r--r-- | src/basic/unaligned.h (renamed from src/shared/unaligned.h) | 0 | ||||
-rw-r--r-- | src/basic/unit-name.c (renamed from src/shared/unit-name.c) | 0 | ||||
-rw-r--r-- | src/basic/unit-name.h (renamed from src/shared/unit-name.h) | 0 | ||||
-rw-r--r-- | src/basic/utf8.c (renamed from src/shared/utf8.c) | 0 | ||||
-rw-r--r-- | src/basic/utf8.h (renamed from src/shared/utf8.h) | 0 | ||||
-rw-r--r-- | src/basic/util.c (renamed from src/shared/util.c) | 0 | ||||
-rw-r--r-- | src/basic/util.h (renamed from src/shared/util.h) | 0 | ||||
-rw-r--r-- | src/basic/verbs.c (renamed from src/shared/verbs.c) | 0 | ||||
-rw-r--r-- | src/basic/verbs.h (renamed from src/shared/verbs.h) | 0 | ||||
-rw-r--r-- | src/basic/virt.c (renamed from src/shared/virt.c) | 0 | ||||
-rw-r--r-- | src/basic/virt.h (renamed from src/shared/virt.h) | 0 | ||||
-rw-r--r-- | src/basic/xml.c (renamed from src/shared/xml.c) | 0 | ||||
-rw-r--r-- | src/basic/xml.h (renamed from src/shared/xml.h) | 0 | ||||
-rw-r--r-- | src/journal/journald-server.c | 204 | ||||
-rw-r--r-- | src/libsystemd-terminal/grdev-drm.c | 2 | ||||
-rw-r--r-- | src/libsystemd-terminal/grdev.c | 2 | ||||
-rw-r--r-- | src/libsystemd-terminal/idev.c | 2 | ||||
-rw-r--r-- | src/libsystemd/sd-bus/bus-internal.c | 26 | ||||
-rw-r--r-- | src/libsystemd/sd-bus/bus-internal.h | 2 | ||||
-rw-r--r-- | src/libsystemd/sd-login/sd-login.c | 2 | ||||
-rw-r--r-- | src/login/logind-session.h | 2 | ||||
-rw-r--r-- | src/login/test-login-shared.c | 2 | ||||
-rw-r--r-- | src/shared/bus-util.c (renamed from src/libsystemd/sd-bus/bus-util.c) | 25 | ||||
-rw-r--r-- | src/shared/bus-util.h (renamed from src/libsystemd/sd-bus/bus-util.h) | 2 |
152 files changed, 136 insertions, 139 deletions
diff --git a/src/shared/.gitignore b/src/basic/.gitignore index e22411e484..e22411e484 100644 --- a/src/shared/.gitignore +++ b/src/basic/.gitignore diff --git a/src/shared/Makefile b/src/basic/Makefile index d0b0e8e008..d0b0e8e008 120000 --- a/src/shared/Makefile +++ b/src/basic/Makefile diff --git a/src/shared/MurmurHash2.c b/src/basic/MurmurHash2.c index 2f4149dbe9..2f4149dbe9 100644 --- a/src/shared/MurmurHash2.c +++ b/src/basic/MurmurHash2.c diff --git a/src/shared/MurmurHash2.h b/src/basic/MurmurHash2.h index 93362dd485..93362dd485 100644 --- a/src/shared/MurmurHash2.h +++ b/src/basic/MurmurHash2.h diff --git a/src/shared/af-list.c b/src/basic/af-list.c index f396115a34..f396115a34 100644 --- a/src/shared/af-list.c +++ b/src/basic/af-list.c diff --git a/src/shared/af-list.h b/src/basic/af-list.h index e346ab87f5..e346ab87f5 100644 --- a/src/shared/af-list.h +++ b/src/basic/af-list.h diff --git a/src/shared/arphrd-list.c b/src/basic/arphrd-list.c index 284043cd90..284043cd90 100644 --- a/src/shared/arphrd-list.c +++ b/src/basic/arphrd-list.c diff --git a/src/shared/arphrd-list.h b/src/basic/arphrd-list.h index 5ca182c9e8..5ca182c9e8 100644 --- a/src/shared/arphrd-list.h +++ b/src/basic/arphrd-list.h diff --git a/src/shared/async.c b/src/basic/async.c index 7725e6d7d3..7725e6d7d3 100644 --- a/src/shared/async.c +++ b/src/basic/async.c diff --git a/src/shared/async.h b/src/basic/async.h index 7f1ef79532..7f1ef79532 100644 --- a/src/shared/async.h +++ b/src/basic/async.h diff --git a/src/shared/audit.c b/src/basic/audit.c index 54148fcf18..54148fcf18 100644 --- a/src/shared/audit.c +++ b/src/basic/audit.c diff --git a/src/shared/audit.h b/src/basic/audit.h index 6de331c73e..6de331c73e 100644 --- a/src/shared/audit.h +++ b/src/basic/audit.h diff --git a/src/shared/barrier.c b/src/basic/barrier.c index 436ba95989..436ba95989 100644 --- a/src/shared/barrier.c +++ b/src/basic/barrier.c diff --git a/src/shared/barrier.h b/src/basic/barrier.h index b8954694d3..b8954694d3 100644 --- a/src/shared/barrier.h +++ b/src/basic/barrier.h diff --git a/src/shared/blkid-util.h b/src/basic/blkid-util.h index c689310324..c689310324 100644 --- a/src/shared/blkid-util.h +++ b/src/basic/blkid-util.h diff --git a/src/shared/btrfs-ctree.h b/src/basic/btrfs-ctree.h index d3ae57331c..d3ae57331c 100644 --- a/src/shared/btrfs-ctree.h +++ b/src/basic/btrfs-ctree.h diff --git a/src/shared/btrfs-util.c b/src/basic/btrfs-util.c index 49528dbf01..49528dbf01 100644 --- a/src/shared/btrfs-util.c +++ b/src/basic/btrfs-util.c diff --git a/src/shared/btrfs-util.h b/src/basic/btrfs-util.h index a7eb895c93..a7eb895c93 100644 --- a/src/shared/btrfs-util.h +++ b/src/basic/btrfs-util.h diff --git a/src/shared/build.h b/src/basic/build.h index 24873ab9d7..24873ab9d7 100644 --- a/src/shared/build.h +++ b/src/basic/build.h diff --git a/src/shared/bus-label.c b/src/basic/bus-label.c index ccc9f2bf8e..ccc9f2bf8e 100644 --- a/src/shared/bus-label.c +++ b/src/basic/bus-label.c diff --git a/src/shared/bus-label.h b/src/basic/bus-label.h index ed1dc4e0a7..ed1dc4e0a7 100644 --- a/src/shared/bus-label.h +++ b/src/basic/bus-label.h diff --git a/src/shared/calendarspec.c b/src/basic/calendarspec.c index 2fde3e107e..2fde3e107e 100644 --- a/src/shared/calendarspec.c +++ b/src/basic/calendarspec.c diff --git a/src/shared/calendarspec.h b/src/basic/calendarspec.h index 7baf318249..7baf318249 100644 --- a/src/shared/calendarspec.h +++ b/src/basic/calendarspec.h diff --git a/src/shared/cap-list.c b/src/basic/cap-list.c index bd5bffbfa5..bd5bffbfa5 100644 --- a/src/shared/cap-list.c +++ b/src/basic/cap-list.c diff --git a/src/shared/cap-list.h b/src/basic/cap-list.h index 9824fad70f..9824fad70f 100644 --- a/src/shared/cap-list.h +++ b/src/basic/cap-list.h diff --git a/src/shared/capability.c b/src/basic/capability.c index 58f00e6dae..58f00e6dae 100644 --- a/src/shared/capability.c +++ b/src/basic/capability.c diff --git a/src/shared/capability.h b/src/basic/capability.h index 4eb5c2a835..4eb5c2a835 100644 --- a/src/shared/capability.h +++ b/src/basic/capability.h diff --git a/src/shared/cgroup-util.c b/src/basic/cgroup-util.c index d83cdf7e5f..66857f118f 100644 --- a/src/shared/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -40,7 +40,7 @@ #include "fileio.h" #include "special.h" #include "mkdir.h" -#include "login-shared.h" +#include "login-util.h" int cg_enumerate_processes(const char *controller, const char *path, FILE **_f) { _cleanup_free_ char *fs = NULL; diff --git a/src/shared/cgroup-util.h b/src/basic/cgroup-util.h index fd72e9e5c5..fd72e9e5c5 100644 --- a/src/shared/cgroup-util.h +++ b/src/basic/cgroup-util.h diff --git a/src/shared/clock-util.c b/src/basic/clock-util.c index e4e03df1e4..e4e03df1e4 100644 --- a/src/shared/clock-util.c +++ b/src/basic/clock-util.c diff --git a/src/shared/clock-util.h b/src/basic/clock-util.h index 8c2d235430..8c2d235430 100644 --- a/src/shared/clock-util.h +++ b/src/basic/clock-util.h diff --git a/src/shared/conf-files.c b/src/basic/conf-files.c index da8745b284..da8745b284 100644 --- a/src/shared/conf-files.c +++ b/src/basic/conf-files.c diff --git a/src/shared/conf-files.h b/src/basic/conf-files.h index 3169a907f1..3169a907f1 100644 --- a/src/shared/conf-files.h +++ b/src/basic/conf-files.h diff --git a/src/shared/copy.c b/src/basic/copy.c index 1282cb88be..1282cb88be 100644 --- a/src/shared/copy.c +++ b/src/basic/copy.c diff --git a/src/shared/copy.h b/src/basic/copy.h index 8de0cfba32..8de0cfba32 100644 --- a/src/shared/copy.h +++ b/src/basic/copy.h diff --git a/src/shared/def.h b/src/basic/def.h index 011c7c667e..011c7c667e 100644 --- a/src/shared/def.h +++ b/src/basic/def.h diff --git a/src/shared/device-nodes.c b/src/basic/device-nodes.c index 9d5af72d27..9d5af72d27 100644 --- a/src/shared/device-nodes.c +++ b/src/basic/device-nodes.c diff --git a/src/shared/device-nodes.h b/src/basic/device-nodes.h index 04ba4897e5..04ba4897e5 100644 --- a/src/shared/device-nodes.h +++ b/src/basic/device-nodes.h diff --git a/src/shared/env-util.c b/src/basic/env-util.c index ac7bbdc711..ac7bbdc711 100644 --- a/src/shared/env-util.c +++ b/src/basic/env-util.c diff --git a/src/shared/env-util.h b/src/basic/env-util.h index 803aa61cad..803aa61cad 100644 --- a/src/shared/env-util.h +++ b/src/basic/env-util.h diff --git a/src/shared/errno-list.c b/src/basic/errno-list.c index 34d1331486..34d1331486 100644 --- a/src/shared/errno-list.c +++ b/src/basic/errno-list.c diff --git a/src/shared/errno-list.h b/src/basic/errno-list.h index ba533294e6..ba533294e6 100644 --- a/src/shared/errno-list.h +++ b/src/basic/errno-list.h diff --git a/src/shared/ether-addr-util.h b/src/basic/ether-addr-util.h index 7033138788..7033138788 100644 --- a/src/shared/ether-addr-util.h +++ b/src/basic/ether-addr-util.h diff --git a/src/shared/exit-status.c b/src/basic/exit-status.c index c09efdd2cb..c09efdd2cb 100644 --- a/src/shared/exit-status.c +++ b/src/basic/exit-status.c diff --git a/src/shared/exit-status.h b/src/basic/exit-status.h index 7259cd1d18..7259cd1d18 100644 --- a/src/shared/exit-status.h +++ b/src/basic/exit-status.h diff --git a/src/shared/fdset.c b/src/basic/fdset.c index 6101b628ec..6101b628ec 100644 --- a/src/shared/fdset.c +++ b/src/basic/fdset.c diff --git a/src/shared/fdset.h b/src/basic/fdset.h index 340438d7c4..340438d7c4 100644 --- a/src/shared/fdset.h +++ b/src/basic/fdset.h diff --git a/src/shared/fileio-label.c b/src/basic/fileio-label.c index bec988ca78..bec988ca78 100644 --- a/src/shared/fileio-label.c +++ b/src/basic/fileio-label.c diff --git a/src/shared/fileio-label.h b/src/basic/fileio-label.h index 25fa351be2..25fa351be2 100644 --- a/src/shared/fileio-label.h +++ b/src/basic/fileio-label.h diff --git a/src/shared/fileio.c b/src/basic/fileio.c index ff6b1a7ed7..ff6b1a7ed7 100644 --- a/src/shared/fileio.c +++ b/src/basic/fileio.c diff --git a/src/shared/fileio.h b/src/basic/fileio.h index 5ae51c1e28..5ae51c1e28 100644 --- a/src/shared/fileio.h +++ b/src/basic/fileio.h diff --git a/src/shared/gunicode.c b/src/basic/gunicode.c index d89a2f3ed9..d89a2f3ed9 100644 --- a/src/shared/gunicode.c +++ b/src/basic/gunicode.c diff --git a/src/shared/gunicode.h b/src/basic/gunicode.h index e70818fdd7..e70818fdd7 100644 --- a/src/shared/gunicode.h +++ b/src/basic/gunicode.h diff --git a/src/shared/hashmap.c b/src/basic/hashmap.c index 20d599d04b..20d599d04b 100644 --- a/src/shared/hashmap.c +++ b/src/basic/hashmap.c diff --git a/src/shared/hashmap.h b/src/basic/hashmap.h index a03ee5812a..a03ee5812a 100644 --- a/src/shared/hashmap.h +++ b/src/basic/hashmap.h diff --git a/src/shared/hostname-util.c b/src/basic/hostname-util.c index e336f269fa..e336f269fa 100644 --- a/src/shared/hostname-util.c +++ b/src/basic/hostname-util.c diff --git a/src/shared/hostname-util.h b/src/basic/hostname-util.h index 0c4763cf5a..0c4763cf5a 100644 --- a/src/shared/hostname-util.h +++ b/src/basic/hostname-util.h diff --git a/src/shared/in-addr-util.c b/src/basic/in-addr-util.c index d88864b598..d88864b598 100644 --- a/src/shared/in-addr-util.c +++ b/src/basic/in-addr-util.c diff --git a/src/shared/in-addr-util.h b/src/basic/in-addr-util.h index 51af08868c..51af08868c 100644 --- a/src/shared/in-addr-util.h +++ b/src/basic/in-addr-util.h diff --git a/src/shared/ioprio.h b/src/basic/ioprio.h index e5c71d0043..e5c71d0043 100644 --- a/src/shared/ioprio.h +++ b/src/basic/ioprio.h diff --git a/src/shared/json.c b/src/basic/json.c index be40a0d203..be40a0d203 100644 --- a/src/shared/json.c +++ b/src/basic/json.c diff --git a/src/shared/json.h b/src/basic/json.h index e0b4d810b5..e0b4d810b5 100644 --- a/src/shared/json.h +++ b/src/basic/json.h diff --git a/src/shared/label.c b/src/basic/label.c index 82f10b21bd..82f10b21bd 100644 --- a/src/shared/label.c +++ b/src/basic/label.c diff --git a/src/shared/label.h b/src/basic/label.h index 8070bcb021..8070bcb021 100644 --- a/src/shared/label.h +++ b/src/basic/label.h diff --git a/src/shared/linux/Makefile b/src/basic/linux/Makefile index d0b0e8e008..d0b0e8e008 120000 --- a/src/shared/linux/Makefile +++ b/src/basic/linux/Makefile diff --git a/src/shared/list.h b/src/basic/list.h index 2939216adb..2939216adb 100644 --- a/src/shared/list.h +++ b/src/basic/list.h diff --git a/src/shared/locale-util.c b/src/basic/locale-util.c index 61db9a8125..61db9a8125 100644 --- a/src/shared/locale-util.c +++ b/src/basic/locale-util.c diff --git a/src/shared/locale-util.h b/src/basic/locale-util.h index e48aa3d9af..e48aa3d9af 100644 --- a/src/shared/locale-util.h +++ b/src/basic/locale-util.h diff --git a/src/shared/lockfile-util.c b/src/basic/lockfile-util.c index 05e16d1caa..05e16d1caa 100644 --- a/src/shared/lockfile-util.c +++ b/src/basic/lockfile-util.c diff --git a/src/shared/lockfile-util.h b/src/basic/lockfile-util.h index 38d47094bd..38d47094bd 100644 --- a/src/shared/lockfile-util.h +++ b/src/basic/lockfile-util.h diff --git a/src/shared/log.c b/src/basic/log.c index b96afc4de4..b96afc4de4 100644 --- a/src/shared/log.c +++ b/src/basic/log.c diff --git a/src/shared/log.h b/src/basic/log.h index 569762d083..569762d083 100644 --- a/src/shared/log.h +++ b/src/basic/log.h diff --git a/src/shared/login-shared.c b/src/basic/login-util.c index 64650a9134..e25437f0f4 100644 --- a/src/shared/login-shared.c +++ b/src/basic/login-util.c @@ -19,7 +19,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ -#include "login-shared.h" +#include "login-util.h" #include "def.h" bool session_id_valid(const char *id) { diff --git a/src/shared/login-shared.h b/src/basic/login-util.h index a79f20c1b1..a79f20c1b1 100644 --- a/src/shared/login-shared.h +++ b/src/basic/login-util.h diff --git a/src/shared/macro.h b/src/basic/macro.h index cc1c9e73c0..cc1c9e73c0 100644 --- a/src/shared/macro.h +++ b/src/basic/macro.h diff --git a/src/shared/memfd-util.c b/src/basic/memfd-util.c index e99a738e1f..e99a738e1f 100644 --- a/src/shared/memfd-util.c +++ b/src/basic/memfd-util.c diff --git a/src/shared/memfd-util.h b/src/basic/memfd-util.h index 3ed551fb37..3ed551fb37 100644 --- a/src/shared/memfd-util.h +++ b/src/basic/memfd-util.h diff --git a/src/shared/mempool.c b/src/basic/mempool.c index d5d98d8829..d5d98d8829 100644 --- a/src/shared/mempool.c +++ b/src/basic/mempool.c diff --git a/src/shared/mempool.h b/src/basic/mempool.h index 42f473bee1..42f473bee1 100644 --- a/src/shared/mempool.h +++ b/src/basic/mempool.h diff --git a/src/shared/missing.h b/src/basic/missing.h index be7f6186fc..be7f6186fc 100644 --- a/src/shared/missing.h +++ b/src/basic/missing.h diff --git a/src/shared/mkdir-label.c b/src/basic/mkdir-label.c index 76bbc1edda..76bbc1edda 100644 --- a/src/shared/mkdir-label.c +++ b/src/basic/mkdir-label.c diff --git a/src/shared/mkdir.c b/src/basic/mkdir.c index 7ee4546988..7ee4546988 100644 --- a/src/shared/mkdir.c +++ b/src/basic/mkdir.c diff --git a/src/shared/mkdir.h b/src/basic/mkdir.h index 2392d1fd1b..2392d1fd1b 100644 --- a/src/shared/mkdir.h +++ b/src/basic/mkdir.h diff --git a/src/shared/ordered-set.h b/src/basic/ordered-set.h index 766a1f2e83..766a1f2e83 100644 --- a/src/shared/ordered-set.h +++ b/src/basic/ordered-set.h diff --git a/src/shared/path-util.c b/src/basic/path-util.c index 537705446a..537705446a 100644 --- a/src/shared/path-util.c +++ b/src/basic/path-util.c diff --git a/src/shared/path-util.h b/src/basic/path-util.h index 1eac89c51b..1eac89c51b 100644 --- a/src/shared/path-util.h +++ b/src/basic/path-util.h diff --git a/src/shared/prioq.c b/src/basic/prioq.c index b89888be0e..b89888be0e 100644 --- a/src/shared/prioq.c +++ b/src/basic/prioq.c diff --git a/src/shared/prioq.h b/src/basic/prioq.h index 1c044b135c..1c044b135c 100644 --- a/src/shared/prioq.h +++ b/src/basic/prioq.h diff --git a/src/shared/process-util.c b/src/basic/process-util.c index cfc876567d..cfc876567d 100644 --- a/src/shared/process-util.c +++ b/src/basic/process-util.c diff --git a/src/shared/process-util.h b/src/basic/process-util.h index 07431d043b..07431d043b 100644 --- a/src/shared/process-util.h +++ b/src/basic/process-util.h diff --git a/src/shared/random-util.c b/src/basic/random-util.c index b230044f50..b230044f50 100644 --- a/src/shared/random-util.c +++ b/src/basic/random-util.c diff --git a/src/shared/random-util.h b/src/basic/random-util.h index f7862c8c8b..f7862c8c8b 100644 --- a/src/shared/random-util.h +++ b/src/basic/random-util.h diff --git a/src/shared/ratelimit.c b/src/basic/ratelimit.c index 81fc9c19ff..81fc9c19ff 100644 --- a/src/shared/ratelimit.c +++ b/src/basic/ratelimit.c diff --git a/src/shared/ratelimit.h b/src/basic/ratelimit.h index 58efca7df1..58efca7df1 100644 --- a/src/shared/ratelimit.h +++ b/src/basic/ratelimit.h diff --git a/src/shared/refcnt.h b/src/basic/refcnt.h index 0502c20a2e..0502c20a2e 100644 --- a/src/shared/refcnt.h +++ b/src/basic/refcnt.h diff --git a/src/shared/replace-var.c b/src/basic/replace-var.c index 478fc43a38..478fc43a38 100644 --- a/src/shared/replace-var.c +++ b/src/basic/replace-var.c diff --git a/src/shared/replace-var.h b/src/basic/replace-var.h index 7eaee93a3e..7eaee93a3e 100644 --- a/src/shared/replace-var.h +++ b/src/basic/replace-var.h diff --git a/src/shared/ring.c b/src/basic/ring.c index 6814918464..6814918464 100644 --- a/src/shared/ring.c +++ b/src/basic/ring.c diff --git a/src/shared/ring.h b/src/basic/ring.h index a7c44d1b56..a7c44d1b56 100644 --- a/src/shared/ring.h +++ b/src/basic/ring.h diff --git a/src/shared/rm-rf.c b/src/basic/rm-rf.c index bafd483be2..bafd483be2 100644 --- a/src/shared/rm-rf.c +++ b/src/basic/rm-rf.c diff --git a/src/shared/rm-rf.h b/src/basic/rm-rf.h index 96579eb182..96579eb182 100644 --- a/src/shared/rm-rf.h +++ b/src/basic/rm-rf.h diff --git a/src/shared/securebits.h b/src/basic/securebits.h index 98fbe0d433..98fbe0d433 100644 --- a/src/shared/securebits.h +++ b/src/basic/securebits.h diff --git a/src/shared/selinux-util.c b/src/basic/selinux-util.c index 7c58985cd2..7c58985cd2 100644 --- a/src/shared/selinux-util.c +++ b/src/basic/selinux-util.c diff --git a/src/shared/selinux-util.h b/src/basic/selinux-util.h index 8467185291..8467185291 100644 --- a/src/shared/selinux-util.h +++ b/src/basic/selinux-util.h diff --git a/src/shared/set.h b/src/basic/set.h index 4dffecd39d..4dffecd39d 100644 --- a/src/shared/set.h +++ b/src/basic/set.h diff --git a/src/shared/sigbus.c b/src/basic/sigbus.c index 0108603fe8..0108603fe8 100644 --- a/src/shared/sigbus.c +++ b/src/basic/sigbus.c diff --git a/src/shared/sigbus.h b/src/basic/sigbus.h index 23edc6d9cb..23edc6d9cb 100644 --- a/src/shared/sigbus.h +++ b/src/basic/sigbus.h diff --git a/src/shared/signal-util.c b/src/basic/signal-util.c index 84cf42b285..84cf42b285 100644 --- a/src/shared/signal-util.c +++ b/src/basic/signal-util.c diff --git a/src/shared/signal-util.h b/src/basic/signal-util.h index 9dc8a28726..9dc8a28726 100644 --- a/src/shared/signal-util.h +++ b/src/basic/signal-util.h diff --git a/src/shared/siphash24.c b/src/basic/siphash24.c index f68bd283a1..f68bd283a1 100644 --- a/src/shared/siphash24.c +++ b/src/basic/siphash24.c diff --git a/src/shared/siphash24.h b/src/basic/siphash24.h index 62e1168a79..62e1168a79 100644 --- a/src/shared/siphash24.h +++ b/src/basic/siphash24.h diff --git a/src/shared/smack-util.c b/src/basic/smack-util.c index 2e24b1ea99..2e24b1ea99 100644 --- a/src/shared/smack-util.c +++ b/src/basic/smack-util.c diff --git a/src/shared/smack-util.h b/src/basic/smack-util.h index 50f55b1f4b..50f55b1f4b 100644 --- a/src/shared/smack-util.h +++ b/src/basic/smack-util.h diff --git a/src/shared/socket-label.c b/src/basic/socket-label.c index cbe3ff216e..cbe3ff216e 100644 --- a/src/shared/socket-label.c +++ b/src/basic/socket-label.c diff --git a/src/shared/socket-util.c b/src/basic/socket-util.c index e8bb10dc9b..e8bb10dc9b 100644 --- a/src/shared/socket-util.c +++ b/src/basic/socket-util.c diff --git a/src/shared/socket-util.h b/src/basic/socket-util.h index 538cf59174..538cf59174 100644 --- a/src/shared/socket-util.h +++ b/src/basic/socket-util.h diff --git a/src/shared/sparse-endian.h b/src/basic/sparse-endian.h index c913fda8c5..c913fda8c5 100644 --- a/src/shared/sparse-endian.h +++ b/src/basic/sparse-endian.h diff --git a/src/shared/special.h b/src/basic/special.h index e51310eb6d..e51310eb6d 100644 --- a/src/shared/special.h +++ b/src/basic/special.h diff --git a/src/shared/strbuf.c b/src/basic/strbuf.c index 01a076c2ba..01a076c2ba 100644 --- a/src/shared/strbuf.c +++ b/src/basic/strbuf.c diff --git a/src/shared/strbuf.h b/src/basic/strbuf.h index fbc4e5f2a1..fbc4e5f2a1 100644 --- a/src/shared/strbuf.h +++ b/src/basic/strbuf.h diff --git a/src/shared/strv.c b/src/basic/strv.c index d44a72fc48..d44a72fc48 100644 --- a/src/shared/strv.c +++ b/src/basic/strv.c diff --git a/src/shared/strv.h b/src/basic/strv.h index 22f8f98fda..22f8f98fda 100644 --- a/src/shared/strv.h +++ b/src/basic/strv.h diff --git a/src/shared/strxcpyx.c b/src/basic/strxcpyx.c index 6542c0abf5..6542c0abf5 100644 --- a/src/shared/strxcpyx.c +++ b/src/basic/strxcpyx.c diff --git a/src/shared/strxcpyx.h b/src/basic/strxcpyx.h index ccc7e52f37..ccc7e52f37 100644 --- a/src/shared/strxcpyx.h +++ b/src/basic/strxcpyx.h diff --git a/src/shared/terminal-util.c b/src/basic/terminal-util.c index 042b88f222..042b88f222 100644 --- a/src/shared/terminal-util.c +++ b/src/basic/terminal-util.c diff --git a/src/shared/terminal-util.h b/src/basic/terminal-util.h index 188714f228..188714f228 100644 --- a/src/shared/terminal-util.h +++ b/src/basic/terminal-util.h diff --git a/src/shared/time-util.c b/src/basic/time-util.c index 12f1b193be..12f1b193be 100644 --- a/src/shared/time-util.c +++ b/src/basic/time-util.c diff --git a/src/shared/time-util.h b/src/basic/time-util.h index 7a64d454a0..7a64d454a0 100644 --- a/src/shared/time-util.h +++ b/src/basic/time-util.h diff --git a/src/shared/unaligned.h b/src/basic/unaligned.h index d6181dd9a9..d6181dd9a9 100644 --- a/src/shared/unaligned.h +++ b/src/basic/unaligned.h diff --git a/src/shared/unit-name.c b/src/basic/unit-name.c index bf52463d81..bf52463d81 100644 --- a/src/shared/unit-name.c +++ b/src/basic/unit-name.c diff --git a/src/shared/unit-name.h b/src/basic/unit-name.h index b2043d0870..b2043d0870 100644 --- a/src/shared/unit-name.h +++ b/src/basic/unit-name.h diff --git a/src/shared/utf8.c b/src/basic/utf8.c index 800884ffee..800884ffee 100644 --- a/src/shared/utf8.c +++ b/src/basic/utf8.c diff --git a/src/shared/utf8.h b/src/basic/utf8.h index e745649f06..e745649f06 100644 --- a/src/shared/utf8.h +++ b/src/basic/utf8.h diff --git a/src/shared/util.c b/src/basic/util.c index 6f6906f877..6f6906f877 100644 --- a/src/shared/util.c +++ b/src/basic/util.c diff --git a/src/shared/util.h b/src/basic/util.h index 467ae234a0..467ae234a0 100644 --- a/src/shared/util.h +++ b/src/basic/util.h diff --git a/src/shared/verbs.c b/src/basic/verbs.c index c7beccc2dc..c7beccc2dc 100644 --- a/src/shared/verbs.c +++ b/src/basic/verbs.c diff --git a/src/shared/verbs.h b/src/basic/verbs.h index d59e4d59b8..d59e4d59b8 100644 --- a/src/shared/verbs.h +++ b/src/basic/verbs.h diff --git a/src/shared/virt.c b/src/basic/virt.c index 1299a75ed5..1299a75ed5 100644 --- a/src/shared/virt.c +++ b/src/basic/virt.c diff --git a/src/shared/virt.h b/src/basic/virt.h index 7194ab2bf7..7194ab2bf7 100644 --- a/src/shared/virt.h +++ b/src/basic/virt.h diff --git a/src/shared/xml.c b/src/basic/xml.c index 15c629b188..15c629b188 100644 --- a/src/shared/xml.c +++ b/src/basic/xml.c diff --git a/src/shared/xml.h b/src/basic/xml.h index b256b0ba10..b256b0ba10 100644 --- a/src/shared/xml.h +++ b/src/basic/xml.h diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 32da8d61fc..d0d670f36e 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -1104,6 +1104,42 @@ finish: int server_process_datagram(sd_event_source *es, int fd, uint32_t revents, void *userdata) { Server *s = userdata; + struct ucred *ucred = NULL; + struct timeval *tv = NULL; + struct cmsghdr *cmsg; + char *label = NULL; + size_t label_len = 0, m; + struct iovec iovec; + ssize_t n; + int *fds = NULL, v = 0; + unsigned n_fds = 0; + + union { + struct cmsghdr cmsghdr; + + /* We use NAME_MAX space for the SELinux label + * here. The kernel currently enforces no + * limit, but according to suggestions from + * the SELinux people this will change and it + * will probably be identical to NAME_MAX. For + * now we use that, but this should be updated + * one day when the final limit is known. */ + uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + + CMSG_SPACE(sizeof(struct timeval)) + + CMSG_SPACE(sizeof(int)) + /* fd */ + CMSG_SPACE(NAME_MAX)]; /* selinux label */ + } control = {}; + + union sockaddr_union sa = {}; + + struct msghdr msghdr = { + .msg_iov = &iovec, + .msg_iovlen = 1, + .msg_control = &control, + .msg_controllen = sizeof(control), + .msg_name = &sa, + .msg_namelen = sizeof(sa), + }; assert(s); assert(fd == s->native_fd || fd == s->syslog_fd || fd == s->audit_fd); @@ -1113,119 +1149,79 @@ int server_process_datagram(sd_event_source *es, int fd, uint32_t revents, void return -EIO; } - for (;;) { - struct ucred *ucred = NULL; - struct timeval *tv = NULL; - struct cmsghdr *cmsg; - char *label = NULL; - size_t label_len = 0; - struct iovec iovec; - - union { - struct cmsghdr cmsghdr; - - /* We use NAME_MAX space for the SELinux label - * here. The kernel currently enforces no - * limit, but according to suggestions from - * the SELinux people this will change and it - * will probably be identical to NAME_MAX. For - * now we use that, but this should be updated - * one day when the final limit is known. */ - uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + - CMSG_SPACE(sizeof(struct timeval)) + - CMSG_SPACE(sizeof(int)) + /* fd */ - CMSG_SPACE(NAME_MAX)]; /* selinux label */ - } control = {}; - union sockaddr_union sa = {}; - struct msghdr msghdr = { - .msg_iov = &iovec, - .msg_iovlen = 1, - .msg_control = &control, - .msg_controllen = sizeof(control), - .msg_name = &sa, - .msg_namelen = sizeof(sa), - }; - - ssize_t n; - int *fds = NULL; - unsigned n_fds = 0; - int v = 0; - size_t m; - - /* Try to get the right size, if we can. (Not all - * sockets support SIOCINQ, hence we just try, but - * don't rely on it. */ - (void) ioctl(fd, SIOCINQ, &v); - - /* Fix it up, if it is too small. We use the same fixed value as auditd here. Awful! */ - m = PAGE_ALIGN(MAX3((size_t) v + 1, - (size_t) LINE_MAX, - ALIGN(sizeof(struct nlmsghdr)) + ALIGN((size_t) MAX_AUDIT_MESSAGE_LENGTH)) + 1); - - if (!GREEDY_REALLOC(s->buffer, s->buffer_size, m)) - return log_oom(); - - iovec.iov_base = s->buffer; - iovec.iov_len = s->buffer_size - 1; /* Leave room for trailing NUL we add later */ - - n = recvmsg(fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); - if (n < 0) { - if (errno == EINTR || errno == EAGAIN) - return 0; - - log_error_errno(errno, "recvmsg() failed: %m"); - return -errno; - } + /* Try to get the right size, if we can. (Not all + * sockets support SIOCINQ, hence we just try, but + * don't rely on it. */ + (void) ioctl(fd, SIOCINQ, &v); - CMSG_FOREACH(cmsg, &msghdr) { - - if (cmsg->cmsg_level == SOL_SOCKET && - cmsg->cmsg_type == SCM_CREDENTIALS && - cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) - ucred = (struct ucred*) CMSG_DATA(cmsg); - else if (cmsg->cmsg_level == SOL_SOCKET && - cmsg->cmsg_type == SCM_SECURITY) { - label = (char*) CMSG_DATA(cmsg); - label_len = cmsg->cmsg_len - CMSG_LEN(0); - } else if (cmsg->cmsg_level == SOL_SOCKET && - cmsg->cmsg_type == SO_TIMESTAMP && - cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval))) - tv = (struct timeval*) CMSG_DATA(cmsg); - else if (cmsg->cmsg_level == SOL_SOCKET && - cmsg->cmsg_type == SCM_RIGHTS) { - fds = (int*) CMSG_DATA(cmsg); - n_fds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); - } - } + /* Fix it up, if it is too small. We use the same fixed value as auditd here. Awful! */ + m = PAGE_ALIGN(MAX3((size_t) v + 1, + (size_t) LINE_MAX, + ALIGN(sizeof(struct nlmsghdr)) + ALIGN((size_t) MAX_AUDIT_MESSAGE_LENGTH)) + 1); - /* And a trailing NUL, just in case */ - s->buffer[n] = 0; + if (!GREEDY_REALLOC(s->buffer, s->buffer_size, m)) + return log_oom(); - if (fd == s->syslog_fd) { - if (n > 0 && n_fds == 0) - server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len); - else if (n_fds > 0) - log_warning("Got file descriptors via syslog socket. Ignoring."); + iovec.iov_base = s->buffer; + iovec.iov_len = s->buffer_size - 1; /* Leave room for trailing NUL we add later */ - } else if (fd == s->native_fd) { - if (n > 0 && n_fds == 0) - server_process_native_message(s, s->buffer, n, ucred, tv, label, label_len); - else if (n == 0 && n_fds == 1) - server_process_native_file(s, fds[0], ucred, tv, label, label_len); - else if (n_fds > 0) - log_warning("Got too many file descriptors via native socket. Ignoring."); + n = recvmsg(fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC); + if (n < 0) { + if (errno == EINTR || errno == EAGAIN) + return 0; - } else { - assert(fd == s->audit_fd); + return log_error_errno(errno, "recvmsg() failed: %m"); + } - if (n > 0 && n_fds == 0) - server_process_audit_message(s, s->buffer, n, ucred, &sa, msghdr.msg_namelen); - else if (n_fds > 0) - log_warning("Got file descriptors via audit socket. Ignoring."); + CMSG_FOREACH(cmsg, &msghdr) { + + if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_CREDENTIALS && + cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) + ucred = (struct ucred*) CMSG_DATA(cmsg); + else if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_SECURITY) { + label = (char*) CMSG_DATA(cmsg); + label_len = cmsg->cmsg_len - CMSG_LEN(0); + } else if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SO_TIMESTAMP && + cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval))) + tv = (struct timeval*) CMSG_DATA(cmsg); + else if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_RIGHTS) { + fds = (int*) CMSG_DATA(cmsg); + n_fds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); } + } + + /* And a trailing NUL, just in case */ + s->buffer[n] = 0; + + if (fd == s->syslog_fd) { + if (n > 0 && n_fds == 0) + server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len); + else if (n_fds > 0) + log_warning("Got file descriptors via syslog socket. Ignoring."); + + } else if (fd == s->native_fd) { + if (n > 0 && n_fds == 0) + server_process_native_message(s, s->buffer, n, ucred, tv, label, label_len); + else if (n == 0 && n_fds == 1) + server_process_native_file(s, fds[0], ucred, tv, label, label_len); + else if (n_fds > 0) + log_warning("Got too many file descriptors via native socket. Ignoring."); - close_many(fds, n_fds); + } else { + assert(fd == s->audit_fd); + + if (n > 0 && n_fds == 0) + server_process_audit_message(s, s->buffer, n, ucred, &sa, msghdr.msg_namelen); + else if (n_fds > 0) + log_warning("Got file descriptors via audit socket. Ignoring."); } + + close_many(fds, n_fds); + return 0; } static int dispatch_sigusr1(sd_event_source *es, const struct signalfd_siginfo *si, void *userdata) { diff --git a/src/libsystemd-terminal/grdev-drm.c b/src/libsystemd-terminal/grdev-drm.c index 4cee95f469..30c1a726eb 100644 --- a/src/libsystemd-terminal/grdev-drm.c +++ b/src/libsystemd-terminal/grdev-drm.c @@ -30,7 +30,7 @@ #include <unistd.h> /* Yuck! DRM headers need system headers included first.. but we have to - * include it before shared/missing.h to avoid redefining ioctl bits */ + * include it before util/missing.h to avoid redefining ioctl bits */ #include <drm.h> #include <drm_fourcc.h> #include <drm_mode.h> diff --git a/src/libsystemd-terminal/grdev.c b/src/libsystemd-terminal/grdev.c index c386e65982..71f0bd31e7 100644 --- a/src/libsystemd-terminal/grdev.c +++ b/src/libsystemd-terminal/grdev.c @@ -25,7 +25,7 @@ #include "sd-bus.h" #include "sd-event.h" #include "hashmap.h" -#include "login-shared.h" +#include "login-util.h" #include "macro.h" #include "util.h" #include "grdev.h" diff --git a/src/libsystemd-terminal/idev.c b/src/libsystemd-terminal/idev.c index b187934977..b92a393b69 100644 --- a/src/libsystemd-terminal/idev.c +++ b/src/libsystemd-terminal/idev.c @@ -25,7 +25,7 @@ #include "sd-bus.h" #include "sd-event.h" #include "hashmap.h" -#include "login-shared.h" +#include "login-util.h" #include "macro.h" #include "util.h" #include "idev.h" diff --git a/src/libsystemd/sd-bus/bus-internal.c b/src/libsystemd/sd-bus/bus-internal.c index 37793e48ed..fea796cd30 100644 --- a/src/libsystemd/sd-bus/bus-internal.c +++ b/src/libsystemd/sd-bus/bus-internal.c @@ -19,6 +19,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include "bus-message.h" #include "bus-internal.h" bool object_path_is_valid(const char *p) { @@ -345,3 +346,28 @@ char *bus_address_escape(const char *v) { *b = 0; return r; } + +int bus_maybe_reply_error(sd_bus_message *m, int r, sd_bus_error *error) { + assert(m); + + if (r < 0) { + if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL) + sd_bus_reply_method_errno(m, r, error); + + } else if (sd_bus_error_is_set(error)) { + if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL) + sd_bus_reply_method_error(m, error); + } else + return r; + + log_debug("Failed to process message [type=%s sender=%s path=%s interface=%s member=%s signature=%s]: %s", + bus_message_type_to_string(m->header->type), + strna(m->sender), + strna(m->path), + strna(m->interface), + strna(m->member), + strna(m->root_container.signature), + bus_error_message(error, r)); + + return 1; +} diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h index 2ee0eabc02..88c058889a 100644 --- a/src/libsystemd/sd-bus/bus-internal.h +++ b/src/libsystemd/sd-bus/bus-internal.h @@ -390,3 +390,5 @@ int bus_set_address_system_machine(sd_bus *b, const char *machine); int bus_remove_match_by_string(sd_bus *bus, const char *match, sd_bus_message_handler_t callback, void *userdata); int bus_get_root_path(sd_bus *bus); + +int bus_maybe_reply_error(sd_bus_message *m, int r, sd_bus_error *error); diff --git a/src/libsystemd/sd-login/sd-login.c b/src/libsystemd/sd-login/sd-login.c index ed8aa0952a..e3885ecba6 100644 --- a/src/libsystemd/sd-login/sd-login.c +++ b/src/libsystemd/sd-login/sd-login.c @@ -30,7 +30,7 @@ #include "macro.h" #include "strv.h" #include "fileio.h" -#include "login-shared.h" +#include "login-util.h" #include "formats-util.h" #include "sd-login.h" diff --git a/src/login/logind-session.h b/src/login/logind-session.h index 7a329b94ad..4bf739a44d 100644 --- a/src/login/logind-session.h +++ b/src/login/logind-session.h @@ -26,7 +26,7 @@ typedef enum KillWho KillWho; #include "list.h" #include "logind-user.h" -#include "login-shared.h" +#include "login-util.h" typedef enum SessionState { SESSION_OPENING, /* Session scope is being created */ diff --git a/src/login/test-login-shared.c b/src/login/test-login-shared.c index d29d7e7921..4c4275d124 100644 --- a/src/login/test-login-shared.c +++ b/src/login/test-login-shared.c @@ -20,7 +20,7 @@ ***/ #include "macro.h" -#include "login-shared.h" +#include "login-util.h" static void test_session_id_valid(void) { assert_se(session_id_valid("c1")); diff --git a/src/libsystemd/sd-bus/bus-util.c b/src/shared/bus-util.c index 99937799b3..8fcc289957 100644 --- a/src/libsystemd/sd-bus/bus-util.c +++ b/src/shared/bus-util.c @@ -1330,31 +1330,6 @@ int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { &u->job_path); } -int bus_maybe_reply_error(sd_bus_message *m, int r, sd_bus_error *error) { - assert(m); - - if (r < 0) { - if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL) - sd_bus_reply_method_errno(m, r, error); - - } else if (sd_bus_error_is_set(error)) { - if (m->header->type == SD_BUS_MESSAGE_METHOD_CALL) - sd_bus_reply_method_error(m, error); - } else - return r; - - log_debug("Failed to process message [type=%s sender=%s path=%s interface=%s member=%s signature=%s]: %s", - bus_message_type_to_string(m->header->type), - strna(m->sender), - strna(m->path), - strna(m->interface), - strna(m->member), - strna(m->root_container.signature), - bus_error_message(error, r)); - - return 1; -} - int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignment) { const char *eq, *field; int r; diff --git a/src/libsystemd/sd-bus/bus-util.h b/src/shared/bus-util.h index 999a372cdd..d8dba584d6 100644 --- a/src/libsystemd/sd-bus/bus-util.h +++ b/src/shared/bus-util.h @@ -188,8 +188,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus_track*, sd_bus_track_unref); SD_BUS_PROPERTY(name, "t", bus_property_get_usec, (offset) + offsetof(struct dual_timestamp, realtime), (flags)), \ SD_BUS_PROPERTY(name "Monotonic", "t", bus_property_get_usec, (offset) + offsetof(struct dual_timestamp, monotonic), (flags)) -int bus_maybe_reply_error(sd_bus_message *m, int r, sd_bus_error *error); - int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignment); typedef struct BusWaitForJobs BusWaitForJobs; |