summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/ARCHITECTURE.md36
-rw-r--r--src/basic/compress.h2
-rw-r--r--src/basic/stat-util.c38
-rw-r--r--src/basic/stat-util.h14
-rw-r--r--src/boot/bootctl.c2
-rw-r--r--src/core/main.c2
-rw-r--r--src/core/manager.c2
-rw-r--r--src/core/path.c2
-rw-r--r--src/core/unit.c2
-rw-r--r--src/gpt-auto-generator/gpt-auto-generator.c2
-rw-r--r--src/home/homework-cifs.c2
-rw-r--r--src/home/user-record-util.c2
-rw-r--r--src/libsystemd-network/sd-lldp-tx.c27
-rw-r--r--src/nspawn/nspawn-network.c2
-rw-r--r--src/nspawn/nspawn.c2
-rw-r--r--src/shared/condition.c2
-rw-r--r--src/shared/copy.c2
-rw-r--r--src/shared/dissect-image.c2
-rw-r--r--src/shared/tpm2-util.c2
-rw-r--r--src/sysext/sysext.c4
-rw-r--r--src/test/test-stat-util.c20
-rw-r--r--src/timedate/timedatectl.c2
-rw-r--r--test/README.testsuite22
-rwxr-xr-xtest/TEST-64-UDEV-STORAGE/test.sh4
-rw-r--r--test/fuzz/fuzz-bus-message/crash-array (renamed from test/fuzz/fuzz-bus-message/crash-4f0211eb269e28db941961061494bfdbf3345e54)bin143 -> 143 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-array-field-skip (renamed from test/fuzz/fuzz-bus-message/crash-37449529b1ad867f0c2671fa80aca5d7812a2b70)bin534 -> 534 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-array-offset (renamed from test/fuzz/fuzz-bus-message/crash-d8f3941c74219b4c03532c9b244d5ea539c61af5)bin41 -> 41 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-empty-string (renamed from test/fuzz/fuzz-bus-message/crash-29ed3c202e0ffade3cad42c8bbeb6cc68a21eb8e)bin51 -> 51 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-empty-struct (renamed from test/fuzz/fuzz-bus-message/crash-26bba7182dedc8848939931d9fcefcb7922f2e56)bin157 -> 157 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-mem-overread (renamed from test/fuzz/fuzz-bus-message/crash-b88ad9ecf4aacf4a0caca5b5543953265367f084)bin32 -> 32 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-nesting (renamed from test/fuzz/fuzz-bus-message/crash-32bf69483cbd4f2e6d46c25a2f92a472109aee45)bin89 -> 89 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-offset-table (renamed from test/fuzz/fuzz-bus-message/crash-e1b811da5ca494e494b77c6bd8e1c2f2989425c5)bin28 -> 28 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-return-value (renamed from test/fuzz/fuzz-bus-message/crash-4162a61a79e4c5a832ca5232212f75fa560a1f75)bin534 -> 534 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-return-value-again (renamed from test/fuzz/fuzz-bus-message/crash-c1b37b4729b42c0c05b23cba4eed5d8102498a1e)bin93 -> 93 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/crash-unsigned-wraparound (renamed from test/fuzz/fuzz-bus-message/crash-603dfd98252375ac7dbced53c2ec312671939a36)bin40 -> 40 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/leak-container-exit (renamed from test/fuzz/fuzz-bus-message/leak-c09c0e2256d43bc5e2d02748c8d8760e7bc25d20)bin534 -> 534 bytes
-rw-r--r--test/fuzz/fuzz-bus-message/timeout-empty-struct (renamed from test/fuzz/fuzz-bus-message/timeout-08ee8f6446a4064db064e8e0b3d220147f7d0b5b)bin534 -> 534 bytes
-rw-r--r--test/fuzz/fuzz-dhcp-client/timeout-lease_parse_routes (renamed from test/fuzz/fuzz-dhcp-client/timeout-ed34161922c7075c4773f2ada3dee8685d220980)bin243 -> 243 bytes
-rw-r--r--test/fuzz/fuzz-dhcp6-client/crash-buf-size (renamed from test/fuzz/fuzz-dhcp6-client/crash-6e88fcb6b85c9436bcbe05219aa8e550194645ef)bin9 -> 9 bytes
-rw-r--r--test/fuzz/fuzz-dhcp6-client/crash-domainname (renamed from test/fuzz/fuzz-dhcp6-client/crash-4003c06fce43a11fbd22f02584df2807ac333eae)bin14 -> 14 bytes
-rw-r--r--test/fuzz/fuzz-dhcp6-client/crash-initial1 (renamed from test/fuzz/fuzz-dhcp6-client/f202c4dff34d15e41c032a66ed25d89154be1f6d)bin76 -> 76 bytes
-rw-r--r--test/fuzz/fuzz-dhcp6-client/crash-initial2 (renamed from test/fuzz/fuzz-dhcp6-client/12ad30d317800d7f731c1c8bc0854e531d5ef928)bin16447 -> 16447 bytes
-rw-r--r--test/fuzz/fuzz-dhcp6-client/crash-initial3 (renamed from test/fuzz/fuzz-dhcp6-client/crash-a93b8ba024ada36014c29c25cc90c668fd91ce7f)bin78 -> 78 bytes
-rw-r--r--test/fuzz/fuzz-journal-remote/crash-nul-in-field-name (renamed from test/fuzz/fuzz-journal-remote/crash-96dee870ea66d03e89ac321eee28ea63a9b9aa45)bin2490 -> 2490 bytes
-rw-r--r--test/fuzz/fuzz-journal-remote/crash-source-realtime-ts (renamed from test/fuzz/fuzz-journal-remote/crash-5a8f03d4c3a46fcded39527084f437e8e4b54b76)bin7675 -> 7675 bytes
-rw-r--r--test/fuzz/fuzz-journald-kmsg/crash-ident-with-spaces (renamed from test/fuzz/fuzz-journald-kmsg/crash-c6c04d83e73f3d1417bc0afce8fa81b99f955963)bin112 -> 112 bytes
-rw-r--r--test/fuzz/fuzz-journald-kmsg/leak-missing-cleanup (renamed from test/fuzz/fuzz-journald-kmsg/leak-ab161e601e82f1ec31d11e2cbae2747834ce9e43)bin1847 -> 1847 bytes
-rw-r--r--test/fuzz/fuzz-netdev-parser/crash-null-address (renamed from test/fuzz/fuzz-netdev-parser/clusterfuzz-testcase-minimized-fuzz-netdev-parser-4697395387039744)bin74 -> 74 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/21-vlan (renamed from test/fuzz/fuzz-network-parser/21-vlan.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/23-active-slave (renamed from test/fuzz/fuzz-network-parser/23-active-slave.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/23-bond199 (renamed from test/fuzz/fuzz-network-parser/23-bond199.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/23-emit-lldp (renamed from test/fuzz/fuzz-network-parser/23-emit-lldp.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/23-primary-slave (renamed from test/fuzz/fuzz-network-parser/23-primary-slave.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/23-test1-bond199 (renamed from test/fuzz/fuzz-network-parser/23-test1-bond199.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/24-lldp (renamed from test/fuzz/fuzz-network-parser/24-lldp.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/24-search-domain (renamed from test/fuzz/fuzz-network-parser/24-search-domain.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-link-section (renamed from test/fuzz/fuzz-network-parser/25-address-link-section.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-section (renamed from test/fuzz/fuzz-network-parser/25-address-section.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-section-misc (renamed from test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-fibrule-port-range (renamed from test/fuzz/fuzz-network-parser/25-fibrule-port-range.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-ipv6-address-label-section (renamed from test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-link-section-unmanaged (renamed from test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-neighbor-section (renamed from test/fuzz/fuzz-network-parser/25-neighbor-section.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-section (renamed from test/fuzz/fuzz-network-parser/25-route-section.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-tcp-window-settings (renamed from test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-type (renamed from test/fuzz/fuzz-network-parser/25-route-type.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/25-sysctl (renamed from test/fuzz/fuzz-network-parser/25-sysctl.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1 (renamed from test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2 (renamed from test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/27-xfrm (renamed from test/fuzz/fuzz-network-parser/27-xfrm.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/bridge99 (renamed from test/fuzz/fuzz-network-parser/bridge99.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/configure-without-carrier (renamed from test/fuzz/fuzz-network-parser/configure-without-carrier.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client (renamed from test/fuzz/fuzz-network-parser/dhcp-client.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-anonymize (renamed from test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-critical-connection (renamed from test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings (renamed from test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-no-ipv6 (renamed from test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only (renamed from test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only (renamed from test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit (renamed from test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-listen-port (renamed from test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-route-metric (renamed from test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-route-table (renamed from test/fuzz/fuzz-network-parser/dhcp-client-route-table.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-timezone-router (renamed from test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server (renamed from test/fuzz/fuzz-network-parser/dhcp-server.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-static-lease (renamed from test/fuzz/fuzz-network-parser/dhcp-server-static-lease.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-timezone-router (renamed from test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-veth-peer (renamed from test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer (renamed from test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/directives (renamed from test/fuzz/fuzz-network-parser/directives.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate (renamed from test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/gretap (renamed from test/fuzz/fuzz-network-parser/gretap.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/gretun (renamed from test/fuzz/fuzz-network-parser/gretun.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/ip6gretap (renamed from test/fuzz/fuzz-network-parser/ip6gretap.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/ip6tnl (renamed from test/fuzz/fuzz-network-parser/ip6tnl.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/ipip (renamed from test/fuzz/fuzz-network-parser/ipip.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/ipv6-prefix (renamed from test/fuzz/fuzz-network-parser/ipv6-prefix.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/ipv6-prefix-veth (renamed from test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/ipvlan (renamed from test/fuzz/fuzz-network-parser/ipvlan.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/macvlan (renamed from test/fuzz/fuzz-network-parser/macvlan.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/macvtap (renamed from test/fuzz/fuzz-network-parser/macvtap.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/routing-policy-rule (renamed from test/fuzz/fuzz-network-parser/routing-policy-rule.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/sit (renamed from test/fuzz/fuzz-network-parser/sit.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/test-static (renamed from test/fuzz/fuzz-network-parser/test-static.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/vti (renamed from test/fuzz/fuzz-network-parser/vti.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/vti6 (renamed from test/fuzz/fuzz-network-parser/vti6.network)0
-rw-r--r--test/fuzz/fuzz-network-parser/vxlan (renamed from test/fuzz/fuzz-network-parser/vxlan.network)0
-rw-r--r--test/fuzz/fuzz-nspawn-settings/leak-bind-mount (renamed from test/fuzz/fuzz-nspawn-settings/leak-4ff0e2498f596a77ea68d185c61e9e9ff9bb657f)bin133 -> 133 bytes
-rwxr-xr-xtest/networkd-test.py2
-rw-r--r--test/test-functions18
-rwxr-xr-xtools/check-directives.sh4
111 files changed, 127 insertions, 94 deletions
diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md
index 3b81d8f737..384e3d4288 100644
--- a/docs/ARCHITECTURE.md
+++ b/docs/ARCHITECTURE.md
@@ -73,7 +73,7 @@ D-Bus messages in `src/shared/bus-unit-util.c`
So that they are exercised by the fuzzing CI, new unit settings should also be listed in the
text files under `test/fuzz/fuzz-unit-file/`.
-## UDEV
+## systemd-udev
Sources for the udev daemon and command-line tool (single binary) can be found under
`src/udev/`.
@@ -83,7 +83,7 @@ Sources for the udev daemon and command-line tool (single binary) can be found u
Source files found under `src/test/` implement unit-level testing, mostly for
modules found in `src/basic/` and `src/shared/`, but not exclusively. Each test
file is compiled in a standalone binary that can be run to exercise the
-corresponding module. While most of the tests can be ran by any user, some
+corresponding module. While most of the tests can be run by any user, some
require privileges, and will attempt to clearly log about what they need
(mostly in the form of effective capabilities). These tests are self-contained,
and generally safe to run on the host without side effects.
@@ -91,22 +91,34 @@ and generally safe to run on the host without side effects.
Ideally, every module in `src/basic/` and `src/shared/` should have a
corresponding unit test under `src/test/`, exercising every helper function.
+## Fuzzer test cases
+
+Files under `test/fuzz/` contain input data for fuzzers, one subdirectory for
+each fuzzer. Some of the files are "seed corpora", i.e. files that contain
+lists of settings and input values intended to generate initial coverage, and
+other files are samples saved by the fuzzing engines when they find an issue.
+
+When adding new input samples under `test/fuzz/*/`, please use some
+short-but-meaningful names. Names of meson tests include the input file name
+and output looks awkward if they are too long.
+
# Integration Tests
-Sources in `test/` implement system-level testing for executables, libraries and
-daemons that are shipped by the project. They require privileges to run, and
-are not safe to execute directly on a host. By default they will build an image
-and run the test under it via `QEMU` or `systemd-nspawn`.
+Sources in `test/TEST-*` implement system-level testing for executables,
+libraries and daemons that are shipped by the project. They require privileges
+to run, and are not safe to execute directly on a host. By default they will
+build an image and run the test under it via `qemu` or `systemd-nspawn`.
-Most of those tests should be able to run via `systemd-nspawn`, which is orders of
-magnitude faster than `QEMU`, but some tests require privileged operations like
-using `dm-crypt` or `loopdev`. They are clearly marked if that is the case.
+Most of those tests should be able to run via `systemd-nspawn`, which is
+orders-of-magnitude faster than `qemu`, but some tests require privileged
+operations like using `dm-crypt` or `loopdev`. They are clearly marked if that
+is the case.
See `test/README.testsuite` for more specific details.
-# HWDB
+# hwdb
-Rules built in the static `HWDB` database shipped by the project can be found
+Rules built in the static hardware database shipped by the project can be found
under `hwdb.d/`. Some of these files are updated automatically, some are filled
by contributors.
@@ -119,7 +131,7 @@ Markdown files found under `docs/` are automatically published on the
to ensure the formatting doesn't have errors is included in the
`meson test -C build/ github-pages` run as part of the CI.
-## MAN pages
+## Man pages
Manpages for binaries and libraries, and the DBUS interfaces, can be found under
`man/` and should ideally be kept in sync with changes to the corresponding
diff --git a/src/basic/compress.h b/src/basic/compress.h
index fc817d219d..583b105c66 100644
--- a/src/basic/compress.h
+++ b/src/basic/compress.h
@@ -1,6 +1,8 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
+#include <errno.h>
+#include <stdint.h>
#include <unistd.h>
typedef enum Compression {
diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c
index a7812714aa..64c2f80f3c 100644
--- a/src/basic/stat-util.c
+++ b/src/basic/stat-util.c
@@ -71,13 +71,10 @@ int is_device_node(const char *path) {
return !!(S_ISBLK(info.st_mode) || S_ISCHR(info.st_mode));
}
-int dir_is_empty_at(int dir_fd, const char *path) {
+int dir_is_empty_at(int dir_fd, const char *path, bool ignore_hidden_or_backup) {
_cleanup_close_ int fd = -1;
- /* Allocate space for at least 3 full dirents, since every dir has at least two entries ("." +
- * ".."), and only once we have seen if there's a third we know whether the dir is empty or not. */
- DEFINE_DIRENT_BUFFER(buffer, 3);
- struct dirent *de;
- ssize_t n;
+ struct dirent *buf;
+ size_t m;
if (path) {
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
@@ -99,15 +96,30 @@ int dir_is_empty_at(int dir_fd, const char *path) {
return fd;
}
- n = getdents64(fd, &buffer, sizeof(buffer));
- if (n < 0)
- return -errno;
+ /* Allocate space for at least 3 full dirents, since every dir has at least two entries ("." +
+ * ".."), and only once we have seen if there's a third we know whether the dir is empty or not. If
+ * 'ignore_hidden_or_backup' is true we'll allocate a bit more, since we might skip over a bunch of
+ * entries that we end up ignoring. */
+ m = (ignore_hidden_or_backup ? 16 : 3) * DIRENT_SIZE_MAX;
+ buf = alloca(m);
+
+ for (;;) {
+ struct dirent *de;
+ ssize_t n;
+
+ n = getdents64(fd, buf, m);
+ if (n < 0)
+ return -errno;
+ if (n == 0)
+ break;
- msan_unpoison(&buffer, n);
+ assert((size_t) n <= m);
+ msan_unpoison(buf, n);
- FOREACH_DIRENT_IN_BUFFER(de, &buffer.de, n)
- if (!hidden_or_backup_file(de->d_name))
- return 0;
+ FOREACH_DIRENT_IN_BUFFER(de, buf, n)
+ if (!(ignore_hidden_or_backup ? hidden_or_backup_file(de->d_name) : dot_or_dot_dot(de->d_name)))
+ return 0;
+ }
return 1;
}
diff --git a/src/basic/stat-util.h b/src/basic/stat-util.h
index 4483ceb7de..7f0b3dc0af 100644
--- a/src/basic/stat-util.h
+++ b/src/basic/stat-util.h
@@ -17,17 +17,9 @@ int is_dir(const char *path, bool follow);
int is_dir_fd(int fd);
int is_device_node(const char *path);
-int dir_is_empty_at(int dir_fd, const char *path);
-static inline int dir_is_empty(const char *path) {
- return dir_is_empty_at(AT_FDCWD, path);
-}
-
-static inline int dir_is_populated(const char *path) {
- int r;
- r = dir_is_empty(path);
- if (r < 0)
- return r;
- return !r;
+int dir_is_empty_at(int dir_fd, const char *path, bool ignore_hidden_or_backup);
+static inline int dir_is_empty(const char *path, bool ignore_hidden_or_backup) {
+ return dir_is_empty_at(AT_FDCWD, path, ignore_hidden_or_backup);
}
bool null_or_empty(struct stat *st) _pure_;
diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
index 69703a74c1..058dac5381 100644
--- a/src/boot/bootctl.c
+++ b/src/boot/bootctl.c
@@ -1639,7 +1639,7 @@ static int are_we_installed(const char *esp_path) {
return log_oom();
log_debug("Checking whether %s contains any files…", p);
- r = dir_is_empty(p);
+ r = dir_is_empty(p, /* ignore_hidden_or_backup= */ false);
if (r < 0 && r != -ENOENT)
return log_error_errno(r, "Failed to check whether %s contains any files: %m", p);
diff --git a/src/core/main.c b/src/core/main.c
index 5fa404fc66..409b84a006 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1290,7 +1290,7 @@ static void test_usr(void) {
/* Check that /usr is either on the same file system as / or mounted already. */
- if (dir_is_empty("/usr") <= 0)
+ if (dir_is_empty("/usr", /* ignore_hidden_or_backup= */ false) <= 0)
return;
log_warning("/usr appears to be on its own filesystem and is not already mounted. This is not a supported setup. "
diff --git a/src/core/manager.c b/src/core/manager.c
index 18daff66c7..d09d14911c 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -976,7 +976,7 @@ int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager *
m->taint_usr =
!in_initrd() &&
- dir_is_empty("/usr") > 0;
+ dir_is_empty("/usr", /* ignore_hidden_or_backup= */ false) > 0;
/* Note that we do not set up the notify fd here. We do that after deserialization,
* since they might have gotten serialized across the reexec. */
diff --git a/src/core/path.c b/src/core/path.c
index 0814391222..69bbddf158 100644
--- a/src/core/path.c
+++ b/src/core/path.c
@@ -213,7 +213,7 @@ static bool path_spec_check_good(PathSpec *s, bool initial, bool from_trigger_no
case PATH_DIRECTORY_NOT_EMPTY: {
int k;
- k = dir_is_empty(s->path);
+ k = dir_is_empty(s->path, /* ignore_hidden_or_backup= */ true);
good = !(IN_SET(k, -ENOENT, -ENOTDIR) || k > 0);
break;
}
diff --git a/src/core/unit.c b/src/core/unit.c
index ff1288dcac..42ee8892a4 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -4776,7 +4776,7 @@ void unit_warn_if_dir_nonempty(Unit *u, const char* where) {
if (!unit_log_level_test(u, LOG_NOTICE))
return;
- r = dir_is_empty(where);
+ r = dir_is_empty(where, /* ignore_hidden_or_backup= */ false);
if (r > 0 || r == -ENOTDIR)
return;
if (r < 0) {
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index cd4b05c52d..589a2cc582 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -305,7 +305,7 @@ static int path_is_busy(const char *where) {
return log_warning_errno(r, "Cannot check if \"%s\" is a mount point: %m", where);
/* not a mountpoint but it contains files */
- r = dir_is_empty(where);
+ r = dir_is_empty(where, /* ignore_hidden_or_backup= */ false);
if (r < 0)
return log_warning_errno(r, "Cannot check if \"%s\" is empty: %m", where);
if (r > 0)
diff --git a/src/home/homework-cifs.c b/src/home/homework-cifs.c
index 6d499f76b2..728a92260c 100644
--- a/src/home/homework-cifs.c
+++ b/src/home/homework-cifs.c
@@ -207,7 +207,7 @@ int home_create_cifs(UserRecord *h, HomeSetup *setup, UserRecord **ret_home) {
if (r < 0)
return r;
- r = dir_is_empty_at(setup->root_fd, NULL);
+ r = dir_is_empty_at(setup->root_fd, NULL, /* ignore_hidden_or_backup= */ false);
if (r < 0)
return log_error_errno(r, "Failed to detect if CIFS directory is empty: %m");
if (r == 0)
diff --git a/src/home/user-record-util.c b/src/home/user-record-util.c
index 2b727df533..9d85f2abfa 100644
--- a/src/home/user-record-util.c
+++ b/src/home/user-record-util.c
@@ -445,7 +445,7 @@ int user_record_test_home_directory(UserRecord *h) {
}
/* Otherwise it's not OK */
- r = dir_is_empty(hd);
+ r = dir_is_empty(hd, /* ignore_hidden_or_backup= */ false);
if (r < 0)
return r;
if (r == 0)
diff --git a/src/libsystemd-network/sd-lldp-tx.c b/src/libsystemd-network/sd-lldp-tx.c
index 136059fa7f..78f37f2467 100644
--- a/src/libsystemd-network/sd-lldp-tx.c
+++ b/src/libsystemd-network/sd-lldp-tx.c
@@ -230,6 +230,8 @@ static size_t lldp_tx_calculate_maximum_packet_size(sd_lldp_tx *lldp_tx, const c
2 + 1 + (SD_ID128_STRING_MAX - 1) +
/* Port ID */
2 + 1 + strlen_ptr(lldp_tx->ifname) +
+ /* TTL */
+ 2 + 2 +
/* Port description */
2 + strlen_ptr(lldp_tx->port_description) +
/* System name */
@@ -238,8 +240,6 @@ static size_t lldp_tx_calculate_maximum_packet_size(sd_lldp_tx *lldp_tx, const c
2 + strlen_ptr(pretty_hostname) +
/* MUD URL */
2 + sizeof(SD_LLDP_OUI_IANA_MUD) + strlen_ptr(lldp_tx->mud_url) +
- /* TTL */
- 2 + 2 +
/* System Capabilities */
2 + 4 +
/* End */
@@ -369,6 +369,13 @@ static int lldp_tx_create_packet(sd_lldp_tx *lldp_tx, size_t *ret_packet_size, u
memcpy(header->ether_shost, &lldp_tx->hwaddr, ETH_ALEN);
offset = sizeof(struct ether_header);
+
+ /* The three mandatory TLVs must appear first, in this specific order:
+ * 1. Chassis ID
+ * 2. Port ID
+ * 3. Time To Live
+ */
+
r = packet_append_prefixed_string(packet, packet_size, &offset, SD_LLDP_TYPE_CHASSIS_ID,
1, (const uint8_t[]) { SD_LLDP_CHASSIS_SUBTYPE_LOCALLY_ASSIGNED },
SD_ID128_TO_STRING(machine_id));
@@ -381,6 +388,15 @@ static int lldp_tx_create_packet(sd_lldp_tx *lldp_tx, size_t *ret_packet_size, u
if (r < 0)
return r;
+ r = packet_append_tlv_header(packet, packet_size, &offset, SD_LLDP_TYPE_TTL, 2);
+ if (r < 0)
+ return r;
+
+ unaligned_write_be16(packet + offset, LLDP_TX_TTL);
+ offset += 2;
+
+ /* Optional TLVs follow, in no specific order: */
+
r = packet_append_string(packet, packet_size, &offset, SD_LLDP_TYPE_PORT_DESCRIPTION,
lldp_tx->port_description);
if (r < 0)
@@ -416,13 +432,6 @@ static int lldp_tx_create_packet(sd_lldp_tx *lldp_tx, size_t *ret_packet_size, u
if (r < 0)
return r;
- r = packet_append_tlv_header(packet, packet_size, &offset, SD_LLDP_TYPE_TTL, 2);
- if (r < 0)
- return r;
-
- unaligned_write_be16(packet + offset, LLDP_TX_TTL);
- offset += 2;
-
r = packet_append_tlv_header(packet, packet_size, &offset, SD_LLDP_TYPE_SYSTEM_CAPABILITIES, 4);
if (r < 0)
return r;
diff --git a/src/nspawn/nspawn-network.c b/src/nspawn/nspawn-network.c
index fab4eb9609..f3d7f403f9 100644
--- a/src/nspawn/nspawn-network.c
+++ b/src/nspawn/nspawn-network.c
@@ -449,7 +449,7 @@ int remove_bridge(const char *bridge_name) {
path = strjoina("/sys/class/net/", bridge_name, "/brif");
- r = dir_is_empty(path);
+ r = dir_is_empty(path, /* ignore_hidden_or_backup= */ false);
if (r == -ENOENT) /* Already gone? */
return 0;
if (r < 0)
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 59768bcc0b..c5fd978395 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -2680,7 +2680,7 @@ static int setup_journal(const char *directory) {
} else if (access(p, F_OK) < 0)
return 0;
- if (dir_is_empty(q) == 0)
+ if (dir_is_empty(q, /* ignore_hidden_or_backup= */ false) == 0)
log_warning("%s is not empty, proceeding anyway.", q);
r = userns_mkdir(directory, p, 0755, 0, 0);
diff --git a/src/shared/condition.c b/src/shared/condition.c
index 1d87ed53ce..67de6fc62f 100644
--- a/src/shared/condition.c
+++ b/src/shared/condition.c
@@ -922,7 +922,7 @@ static int condition_test_directory_not_empty(Condition *c, char **env) {
assert(c->parameter);
assert(c->type == CONDITION_DIRECTORY_NOT_EMPTY);
- r = dir_is_empty(c->parameter);
+ r = dir_is_empty(c->parameter, /* ignore_hidden_or_backup= */ true);
return r <= 0 && !IN_SET(r, -ENOENT, -ENOTDIR);
}
diff --git a/src/shared/copy.c b/src/shared/copy.c
index 0043c4ff72..4d52b4c26b 100644
--- a/src/shared/copy.c
+++ b/src/shared/copy.c
@@ -905,7 +905,7 @@ static int fd_copy_directory(
exists = false;
if (copy_flags & COPY_MERGE_EMPTY) {
- r = dir_is_empty_at(dt, to);
+ r = dir_is_empty_at(dt, to, /* ignore_hidden_or_backup= */ false);
if (r < 0 && r != -ENOENT)
return r;
else if (r == 1)
diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c
index 25fed4cf50..057fe14125 100644
--- a/src/shared/dissect-image.c
+++ b/src/shared/dissect-image.c
@@ -1552,7 +1552,7 @@ int dissected_image_mount(
if (r < 0) {
if (r != -ENOENT)
return r;
- } else if (dir_is_empty(p) > 0) {
+ } else if (dir_is_empty(p, /* ignore_hidden_or_backup= */ false) > 0) {
/* It exists and is an empty directory. Let's mount the ESP there. */
r = mount_partition(m->partitions + PARTITION_ESP, where, "/boot", uid_shift, uid_range, flags);
if (r < 0)
diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c
index 2d1bc7cf46..84120000aa 100644
--- a/src/shared/tpm2-util.c
+++ b/src/shared/tpm2-util.c
@@ -1466,7 +1466,7 @@ Tpm2Support tpm2_support(void) {
* got the host sysfs mounted. Since devices are generally not virtualized for containers,
* let's assume containers never have a TPM, at least for now. */
- r = dir_is_empty("/sys/class/tpmrm");
+ r = dir_is_empty("/sys/class/tpmrm", /* ignore_hidden_or_backup= */ false);
if (r < 0) {
if (r != -ENOENT)
log_debug_errno(r, "Unable to test whether /sys/class/tpmrm/ exists and is populated, assuming it is not: %m");
diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c
index 20fbb916e9..76c2fe6978 100644
--- a/src/sysext/sysext.c
+++ b/src/sysext/sysext.c
@@ -296,7 +296,7 @@ static int merge_hierarchy(
else if (r < 0)
return log_error_errno(r, "Failed to resolve host hierarchy '%s': %m", hierarchy);
else {
- r = dir_is_empty(resolved_hierarchy);
+ r = dir_is_empty(resolved_hierarchy, /* ignore_hidden_or_backup= */ false);
if (r < 0)
return log_error_errno(r, "Failed to check if host hierarchy '%s' is empty: %m", resolved_hierarchy);
if (r > 0) {
@@ -337,7 +337,7 @@ static int merge_hierarchy(
if (r < 0)
return log_error_errno(r, "Failed to resolve hierarchy '%s' in extension '%s': %m", hierarchy, *p);
- r = dir_is_empty(resolved);
+ r = dir_is_empty(resolved, /* ignore_hidden_or_backup= */ false);
if (r < 0)
return log_error_errno(r, "Failed to check if hierarchy '%s' in extension '%s' is empty: %m", resolved, *p);
if (r > 0) {
diff --git a/src/test/test-stat-util.c b/src/test/test-stat-util.c
index a8fdbb7c18..04d52d364f 100644
--- a/src/test/test-stat-util.c
+++ b/src/test/test-stat-util.c
@@ -153,17 +153,17 @@ TEST(dir_is_empty) {
_cleanup_(rm_rf_physical_and_freep) char *empty_dir = NULL;
_cleanup_free_ char *j = NULL, *jj = NULL, *jjj = NULL;
- assert_se(dir_is_empty_at(AT_FDCWD, "/proc") == 0);
- assert_se(dir_is_empty_at(AT_FDCWD, "/icertainlydontexistdoi") == -ENOENT);
+ assert_se(dir_is_empty_at(AT_FDCWD, "/proc", /* ignore_hidden_or_backup= */ true) == 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, "/icertainlydontexistdoi", /* ignore_hidden_or_backup= */ true) == -ENOENT);
assert_se(mkdtemp_malloc("/tmp/emptyXXXXXX", &empty_dir) >= 0);
- assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) > 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ true) > 0);
j = path_join(empty_dir, "zzz");
assert_se(j);
assert_se(touch(j) >= 0);
- assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) == 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ true) == 0);
jj = path_join(empty_dir, "ppp");
assert_se(jj);
@@ -173,13 +173,17 @@ TEST(dir_is_empty) {
assert_se(jjj);
assert_se(touch(jjj) >= 0);
- assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) == 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ true) == 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ false) == 0);
assert_se(unlink(j) >= 0);
- assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) == 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ true) == 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ false) == 0);
assert_se(unlink(jj) >= 0);
- assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) > 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ true) > 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ false) == 0);
assert_se(unlink(jjj) >= 0);
- assert_se(dir_is_empty_at(AT_FDCWD, empty_dir) > 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ true) > 0);
+ assert_se(dir_is_empty_at(AT_FDCWD, empty_dir, /* ignore_hidden_or_backup= */ false) > 0);
}
static int intro(void) {
diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c
index 75ca6195da..31909064cf 100644
--- a/src/timedate/timedatectl.c
+++ b/src/timedate/timedatectl.c
@@ -304,7 +304,7 @@ static int list_timezones(int argc, char **argv, void *userdata) {
sd_bus *bus = userdata;
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
int r;
- char** zones;
+ _cleanup_strv_free_ char **zones = NULL;
r = bus_call_method(bus, bus_timedate, "ListTimezones", &error, &reply, NULL);
if (r < 0)
diff --git a/test/README.testsuite b/test/README.testsuite
index 24b98f78cd..7e3d6c0623 100644
--- a/test/README.testsuite
+++ b/test/README.testsuite
@@ -1,5 +1,7 @@
-The extended testsuite only works with UID=0. It contains of several
-subdirectories named "test/TEST-??-*", which are run one by one.
+The extended testsuite only works with UID=0. It consists of the subdirectories
+named "test/TEST-??-*", each of which contains a description of an OS image and
+a test which consists of systemd units and scripts to execute in this image.
+The same image is used for execution under `systemd-nspawn` and `qemu`.
To run the extended testsuite do the following:
@@ -53,10 +55,10 @@ Configuration variables
=======================
TEST_NO_QEMU=1
- Don't run tests under QEMU
+ Don't run tests under qemu
TEST_QEMU_ONLY=1
- Run only tests that require QEMU
+ Run only tests that require qemu
TEST_NO_NSPAWN=1
Don't run tests under systemd-nspawn
@@ -65,8 +67,8 @@ TEST_PREFER_NSPAWN=1
Run all tests that do not require qemu under systemd-nspawn
TEST_NO_KVM=1
- Disable QEMU KVM auto-detection (may be necessary when you're trying to run the
- *vanilla* QEMU and have both qemu and qemu-kvm installed)
+ Disable qemu KVM auto-detection (may be necessary when you're trying to run the
+ *vanilla* qemu and have both qemu and qemu-kvm installed)
TEST_NESTED_KVM=1
Allow tests to run with nested KVM. By default, the testsuite disables
@@ -74,10 +76,10 @@ TEST_NESTED_KVM=1
variable disables such checks
QEMU_MEM=512M
- Configure amount of memory for QEMU VMs (defaults to 512M)
+ Configure amount of memory for qemu VMs (defaults to 512M)
QEMU_SMP=1
- Configure number of CPUs for QEMU VMs (defaults to 1)
+ Configure number of CPUs for qemu VMs (defaults to 1)
KERNEL_APPEND='...'
Append additional parameters to the kernel command line
@@ -86,7 +88,7 @@ NSPAWN_ARGUMENTS='...'
Specify additional arguments for systemd-nspawn
QEMU_TIMEOUT=infinity
- Set a timeout for tests under QEMU (defaults to infinity)
+ Set a timeout for tests under qemu (defaults to infinity)
NSPAWN_TIMEOUT=infinity
Set a timeout for tests under systemd-nspawn (defaults to infinity)
@@ -99,7 +101,7 @@ INTERACTIVE_DEBUG=1
The kernel and initramfs can be specified with $KERNEL_BIN and $INITRD.
(Fedora's or Debian's default kernel path and initramfs are used by default)
-A script will try to find your QEMU binary. If you want to specify a different
+A script will try to find your qemu binary. If you want to specify a different
one with $QEMU_BIN.
Debugging the qemu image
diff --git a/test/TEST-64-UDEV-STORAGE/test.sh b/test/TEST-64-UDEV-STORAGE/test.sh
index d2660d3951..e273d211bc 100755
--- a/test/TEST-64-UDEV-STORAGE/test.sh
+++ b/test/TEST-64-UDEV-STORAGE/test.sh
@@ -101,7 +101,7 @@ test_run_one() {
local test_id="${1:?}"
if run_qemu "$test_id"; then
- check_result_qemu || { echo "QEMU test failed"; return 1; }
+ check_result_qemu || { echo "qemu test failed"; return 1; }
fi
return 0
@@ -117,7 +117,7 @@ test_run() {
mount_initdir
if get_bool "${TEST_NO_QEMU:=}" || ! find_qemu_bin; then
- dwarn "can't run QEMU, skipping"
+ dwarn "can't run qemu, skipping"
return 0
fi
diff --git a/test/fuzz/fuzz-bus-message/crash-4f0211eb269e28db941961061494bfdbf3345e54 b/test/fuzz/fuzz-bus-message/crash-array
index 865b29507c..865b29507c 100644
--- a/test/fuzz/fuzz-bus-message/crash-4f0211eb269e28db941961061494bfdbf3345e54
+++ b/test/fuzz/fuzz-bus-message/crash-array
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-37449529b1ad867f0c2671fa80aca5d7812a2b70 b/test/fuzz/fuzz-bus-message/crash-array-field-skip
index 6a20265a39..6a20265a39 100644
--- a/test/fuzz/fuzz-bus-message/crash-37449529b1ad867f0c2671fa80aca5d7812a2b70
+++ b/test/fuzz/fuzz-bus-message/crash-array-field-skip
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-d8f3941c74219b4c03532c9b244d5ea539c61af5 b/test/fuzz/fuzz-bus-message/crash-array-offset
index 26262e1149..26262e1149 100644
--- a/test/fuzz/fuzz-bus-message/crash-d8f3941c74219b4c03532c9b244d5ea539c61af5
+++ b/test/fuzz/fuzz-bus-message/crash-array-offset
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-29ed3c202e0ffade3cad42c8bbeb6cc68a21eb8e b/test/fuzz/fuzz-bus-message/crash-empty-string
index 4488f0a6c6..4488f0a6c6 100644
--- a/test/fuzz/fuzz-bus-message/crash-29ed3c202e0ffade3cad42c8bbeb6cc68a21eb8e
+++ b/test/fuzz/fuzz-bus-message/crash-empty-string
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-26bba7182dedc8848939931d9fcefcb7922f2e56 b/test/fuzz/fuzz-bus-message/crash-empty-struct
index f1bf3229ef..f1bf3229ef 100644
--- a/test/fuzz/fuzz-bus-message/crash-26bba7182dedc8848939931d9fcefcb7922f2e56
+++ b/test/fuzz/fuzz-bus-message/crash-empty-struct
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-b88ad9ecf4aacf4a0caca5b5543953265367f084 b/test/fuzz/fuzz-bus-message/crash-mem-overread
index 52469650b5..52469650b5 100644
--- a/test/fuzz/fuzz-bus-message/crash-b88ad9ecf4aacf4a0caca5b5543953265367f084
+++ b/test/fuzz/fuzz-bus-message/crash-mem-overread
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-32bf69483cbd4f2e6d46c25a2f92a472109aee45 b/test/fuzz/fuzz-bus-message/crash-nesting
index aa0c6ff7f7..aa0c6ff7f7 100644
--- a/test/fuzz/fuzz-bus-message/crash-32bf69483cbd4f2e6d46c25a2f92a472109aee45
+++ b/test/fuzz/fuzz-bus-message/crash-nesting
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-e1b811da5ca494e494b77c6bd8e1c2f2989425c5 b/test/fuzz/fuzz-bus-message/crash-offset-table
index 9d3fa0035f..9d3fa0035f 100644
--- a/test/fuzz/fuzz-bus-message/crash-e1b811da5ca494e494b77c6bd8e1c2f2989425c5
+++ b/test/fuzz/fuzz-bus-message/crash-offset-table
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-4162a61a79e4c5a832ca5232212f75fa560a1f75 b/test/fuzz/fuzz-bus-message/crash-return-value
index 5faf3308e7..5faf3308e7 100644
--- a/test/fuzz/fuzz-bus-message/crash-4162a61a79e4c5a832ca5232212f75fa560a1f75
+++ b/test/fuzz/fuzz-bus-message/crash-return-value
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-c1b37b4729b42c0c05b23cba4eed5d8102498a1e b/test/fuzz/fuzz-bus-message/crash-return-value-again
index 2ae1a8715a..2ae1a8715a 100644
--- a/test/fuzz/fuzz-bus-message/crash-c1b37b4729b42c0c05b23cba4eed5d8102498a1e
+++ b/test/fuzz/fuzz-bus-message/crash-return-value-again
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/crash-603dfd98252375ac7dbced53c2ec312671939a36 b/test/fuzz/fuzz-bus-message/crash-unsigned-wraparound
index b3fee9e07a..b3fee9e07a 100644
--- a/test/fuzz/fuzz-bus-message/crash-603dfd98252375ac7dbced53c2ec312671939a36
+++ b/test/fuzz/fuzz-bus-message/crash-unsigned-wraparound
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/leak-c09c0e2256d43bc5e2d02748c8d8760e7bc25d20 b/test/fuzz/fuzz-bus-message/leak-container-exit
index c371824ffb..c371824ffb 100644
--- a/test/fuzz/fuzz-bus-message/leak-c09c0e2256d43bc5e2d02748c8d8760e7bc25d20
+++ b/test/fuzz/fuzz-bus-message/leak-container-exit
Binary files differ
diff --git a/test/fuzz/fuzz-bus-message/timeout-08ee8f6446a4064db064e8e0b3d220147f7d0b5b b/test/fuzz/fuzz-bus-message/timeout-empty-struct
index c975f906ee..c975f906ee 100644
--- a/test/fuzz/fuzz-bus-message/timeout-08ee8f6446a4064db064e8e0b3d220147f7d0b5b
+++ b/test/fuzz/fuzz-bus-message/timeout-empty-struct
Binary files differ
diff --git a/test/fuzz/fuzz-dhcp-client/timeout-ed34161922c7075c4773f2ada3dee8685d220980 b/test/fuzz/fuzz-dhcp-client/timeout-lease_parse_routes
index a51cf70dd0..a51cf70dd0 100644
--- a/test/fuzz/fuzz-dhcp-client/timeout-ed34161922c7075c4773f2ada3dee8685d220980
+++ b/test/fuzz/fuzz-dhcp-client/timeout-lease_parse_routes
Binary files differ
diff --git a/test/fuzz/fuzz-dhcp6-client/crash-6e88fcb6b85c9436bcbe05219aa8e550194645ef b/test/fuzz/fuzz-dhcp6-client/crash-buf-size
index 44883be9f0..44883be9f0 100644
--- a/test/fuzz/fuzz-dhcp6-client/crash-6e88fcb6b85c9436bcbe05219aa8e550194645ef
+++ b/test/fuzz/fuzz-dhcp6-client/crash-buf-size
Binary files differ
diff --git a/test/fuzz/fuzz-dhcp6-client/crash-4003c06fce43a11fbd22f02584df2807ac333eae b/test/fuzz/fuzz-dhcp6-client/crash-domainname
index 630ee6632c..630ee6632c 100644
--- a/test/fuzz/fuzz-dhcp6-client/crash-4003c06fce43a11fbd22f02584df2807ac333eae
+++ b/test/fuzz/fuzz-dhcp6-client/crash-domainname
Binary files differ
diff --git a/test/fuzz/fuzz-dhcp6-client/f202c4dff34d15e41c032a66ed25d89154be1f6d b/test/fuzz/fuzz-dhcp6-client/crash-initial1
index 9d8994dec4..9d8994dec4 100644
--- a/test/fuzz/fuzz-dhcp6-client/f202c4dff34d15e41c032a66ed25d89154be1f6d
+++ b/test/fuzz/fuzz-dhcp6-client/crash-initial1
Binary files differ
diff --git a/test/fuzz/fuzz-dhcp6-client/12ad30d317800d7f731c1c8bc0854e531d5ef928 b/test/fuzz/fuzz-dhcp6-client/crash-initial2
index c140fc0212..c140fc0212 100644
--- a/test/fuzz/fuzz-dhcp6-client/12ad30d317800d7f731c1c8bc0854e531d5ef928
+++ b/test/fuzz/fuzz-dhcp6-client/crash-initial2
Binary files differ
diff --git a/test/fuzz/fuzz-dhcp6-client/crash-a93b8ba024ada36014c29c25cc90c668fd91ce7f b/test/fuzz/fuzz-dhcp6-client/crash-initial3
index 2bf4027c0c..2bf4027c0c 100644
--- a/test/fuzz/fuzz-dhcp6-client/crash-a93b8ba024ada36014c29c25cc90c668fd91ce7f
+++ b/test/fuzz/fuzz-dhcp6-client/crash-initial3
Binary files differ
diff --git a/test/fuzz/fuzz-journal-remote/crash-96dee870ea66d03e89ac321eee28ea63a9b9aa45 b/test/fuzz/fuzz-journal-remote/crash-nul-in-field-name
index 535d49ea7a..535d49ea7a 100644
--- a/test/fuzz/fuzz-journal-remote/crash-96dee870ea66d03e89ac321eee28ea63a9b9aa45
+++ b/test/fuzz/fuzz-journal-remote/crash-nul-in-field-name
Binary files differ
diff --git a/test/fuzz/fuzz-journal-remote/crash-5a8f03d4c3a46fcded39527084f437e8e4b54b76 b/test/fuzz/fuzz-journal-remote/crash-source-realtime-ts
index e6a7316805..e6a7316805 100644
--- a/test/fuzz/fuzz-journal-remote/crash-5a8f03d4c3a46fcded39527084f437e8e4b54b76
+++ b/test/fuzz/fuzz-journal-remote/crash-source-realtime-ts
Binary files differ
diff --git a/test/fuzz/fuzz-journald-kmsg/crash-c6c04d83e73f3d1417bc0afce8fa81b99f955963 b/test/fuzz/fuzz-journald-kmsg/crash-ident-with-spaces
index 19887a1fec..19887a1fec 100644
--- a/test/fuzz/fuzz-journald-kmsg/crash-c6c04d83e73f3d1417bc0afce8fa81b99f955963
+++ b/test/fuzz/fuzz-journald-kmsg/crash-ident-with-spaces
Binary files differ
diff --git a/test/fuzz/fuzz-journald-kmsg/leak-ab161e601e82f1ec31d11e2cbae2747834ce9e43 b/test/fuzz/fuzz-journald-kmsg/leak-missing-cleanup
index 424ae5cb01..424ae5cb01 100644
--- a/test/fuzz/fuzz-journald-kmsg/leak-ab161e601e82f1ec31d11e2cbae2747834ce9e43
+++ b/test/fuzz/fuzz-journald-kmsg/leak-missing-cleanup
Binary files differ
diff --git a/test/fuzz/fuzz-netdev-parser/clusterfuzz-testcase-minimized-fuzz-netdev-parser-4697395387039744 b/test/fuzz/fuzz-netdev-parser/crash-null-address
index d2de7fb187..d2de7fb187 100644
--- a/test/fuzz/fuzz-netdev-parser/clusterfuzz-testcase-minimized-fuzz-netdev-parser-4697395387039744
+++ b/test/fuzz/fuzz-netdev-parser/crash-null-address
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/21-vlan.network b/test/fuzz/fuzz-network-parser/21-vlan
index a4fa1decde..a4fa1decde 100644
--- a/test/fuzz/fuzz-network-parser/21-vlan.network
+++ b/test/fuzz/fuzz-network-parser/21-vlan
diff --git a/test/fuzz/fuzz-network-parser/23-active-slave.network b/test/fuzz/fuzz-network-parser/23-active-slave
index 59a65960e9..59a65960e9 100644
--- a/test/fuzz/fuzz-network-parser/23-active-slave.network
+++ b/test/fuzz/fuzz-network-parser/23-active-slave
diff --git a/test/fuzz/fuzz-network-parser/23-bond199.network b/test/fuzz/fuzz-network-parser/23-bond199
index 31e5d12f75..31e5d12f75 100644
--- a/test/fuzz/fuzz-network-parser/23-bond199.network
+++ b/test/fuzz/fuzz-network-parser/23-bond199
diff --git a/test/fuzz/fuzz-network-parser/23-emit-lldp.network b/test/fuzz/fuzz-network-parser/23-emit-lldp
index de35045388..de35045388 100644
--- a/test/fuzz/fuzz-network-parser/23-emit-lldp.network
+++ b/test/fuzz/fuzz-network-parser/23-emit-lldp
diff --git a/test/fuzz/fuzz-network-parser/23-primary-slave.network b/test/fuzz/fuzz-network-parser/23-primary-slave
index 380ae267a2..380ae267a2 100644
--- a/test/fuzz/fuzz-network-parser/23-primary-slave.network
+++ b/test/fuzz/fuzz-network-parser/23-primary-slave
diff --git a/test/fuzz/fuzz-network-parser/23-test1-bond199.network b/test/fuzz/fuzz-network-parser/23-test1-bond199
index 6e7c28dfe7..6e7c28dfe7 100644
--- a/test/fuzz/fuzz-network-parser/23-test1-bond199.network
+++ b/test/fuzz/fuzz-network-parser/23-test1-bond199
diff --git a/test/fuzz/fuzz-network-parser/24-lldp.network b/test/fuzz/fuzz-network-parser/24-lldp
index fbdfb1b672..fbdfb1b672 100644
--- a/test/fuzz/fuzz-network-parser/24-lldp.network
+++ b/test/fuzz/fuzz-network-parser/24-lldp
diff --git a/test/fuzz/fuzz-network-parser/24-search-domain.network b/test/fuzz/fuzz-network-parser/24-search-domain
index 970b130ab0..970b130ab0 100644
--- a/test/fuzz/fuzz-network-parser/24-search-domain.network
+++ b/test/fuzz/fuzz-network-parser/24-search-domain
diff --git a/test/fuzz/fuzz-network-parser/25-address-link-section.network b/test/fuzz/fuzz-network-parser/25-address-link-section
index 759e83c325..759e83c325 100644
--- a/test/fuzz/fuzz-network-parser/25-address-link-section.network
+++ b/test/fuzz/fuzz-network-parser/25-address-link-section
diff --git a/test/fuzz/fuzz-network-parser/25-address-section.network b/test/fuzz/fuzz-network-parser/25-address-section
index d0fae69361..d0fae69361 100644
--- a/test/fuzz/fuzz-network-parser/25-address-section.network
+++ b/test/fuzz/fuzz-network-parser/25-address-section
diff --git a/test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network b/test/fuzz/fuzz-network-parser/25-address-section-misc
index 3a37d036ce..3a37d036ce 100644
--- a/test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network
+++ b/test/fuzz/fuzz-network-parser/25-address-section-misc
diff --git a/test/fuzz/fuzz-network-parser/25-fibrule-port-range.network b/test/fuzz/fuzz-network-parser/25-fibrule-port-range
index 36646ec0ff..36646ec0ff 100644
--- a/test/fuzz/fuzz-network-parser/25-fibrule-port-range.network
+++ b/test/fuzz/fuzz-network-parser/25-fibrule-port-range
diff --git a/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network b/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section
index 945b7dcc45..945b7dcc45 100644
--- a/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network
+++ b/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section
diff --git a/test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network b/test/fuzz/fuzz-network-parser/25-link-section-unmanaged
index 4fe4916031..4fe4916031 100644
--- a/test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network
+++ b/test/fuzz/fuzz-network-parser/25-link-section-unmanaged
diff --git a/test/fuzz/fuzz-network-parser/25-neighbor-section.network b/test/fuzz/fuzz-network-parser/25-neighbor-section
index dd750dd566..dd750dd566 100644
--- a/test/fuzz/fuzz-network-parser/25-neighbor-section.network
+++ b/test/fuzz/fuzz-network-parser/25-neighbor-section
diff --git a/test/fuzz/fuzz-network-parser/25-route-section.network b/test/fuzz/fuzz-network-parser/25-route-section
index c9c7a722c5..c9c7a722c5 100644
--- a/test/fuzz/fuzz-network-parser/25-route-section.network
+++ b/test/fuzz/fuzz-network-parser/25-route-section
diff --git a/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network b/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings
index e77a721740..e77a721740 100644
--- a/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network
+++ b/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings
diff --git a/test/fuzz/fuzz-network-parser/25-route-type.network b/test/fuzz/fuzz-network-parser/25-route-type
index 9a104137de..9a104137de 100644
--- a/test/fuzz/fuzz-network-parser/25-route-type.network
+++ b/test/fuzz/fuzz-network-parser/25-route-type
diff --git a/test/fuzz/fuzz-network-parser/25-sysctl.network b/test/fuzz/fuzz-network-parser/25-sysctl
index 2452fb7e85..2452fb7e85 100644
--- a/test/fuzz/fuzz-network-parser/25-sysctl.network
+++ b/test/fuzz/fuzz-network-parser/25-sysctl
diff --git a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1
index 854ac5f44c..854ac5f44c 100644
--- a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network
+++ b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1
diff --git a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2
index 45ec2de999..45ec2de999 100644
--- a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network
+++ b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2
diff --git a/test/fuzz/fuzz-network-parser/27-xfrm.network b/test/fuzz/fuzz-network-parser/27-xfrm
index fa26c84e53..fa26c84e53 100644
--- a/test/fuzz/fuzz-network-parser/27-xfrm.network
+++ b/test/fuzz/fuzz-network-parser/27-xfrm
diff --git a/test/fuzz/fuzz-network-parser/bridge99.network b/test/fuzz/fuzz-network-parser/bridge99
index 39e48ce2e1..39e48ce2e1 100644
--- a/test/fuzz/fuzz-network-parser/bridge99.network
+++ b/test/fuzz/fuzz-network-parser/bridge99
diff --git a/test/fuzz/fuzz-network-parser/configure-without-carrier.network b/test/fuzz/fuzz-network-parser/configure-without-carrier
index 5bd9d7e84a..5bd9d7e84a 100644
--- a/test/fuzz/fuzz-network-parser/configure-without-carrier.network
+++ b/test/fuzz/fuzz-network-parser/configure-without-carrier
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client.network b/test/fuzz/fuzz-network-parser/dhcp-client
index 5629bc48e4..5629bc48e4 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network b/test/fuzz/fuzz-network-parser/dhcp-client-anonymize
index a910cba0f7..a910cba0f7 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-anonymize
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network b/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection
index 0e65dec0ae..0e65dec0ae 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings
index 5c4ca22ab7..5c4ca22ab7 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-no-ipv6
index c980bf9fca..c980bf9fca 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-no-ipv6
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only
index 9bc019a674..9bc019a674 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only
index 1f70c3b86d..1f70c3b86d 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit
index 52fa58729e..52fa58729e 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network b/test/fuzz/fuzz-network-parser/dhcp-client-listen-port
index 73ac364630..73ac364630 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-listen-port
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network b/test/fuzz/fuzz-network-parser/dhcp-client-route-metric
index aa04aaef33..aa04aaef33 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-route-metric
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-route-table.network b/test/fuzz/fuzz-network-parser/dhcp-client-route-table
index 75f16aa22d..75f16aa22d 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-route-table.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-route-table
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network b/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router
index 6316f9cf59..6316f9cf59 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server.network b/test/fuzz/fuzz-network-parser/dhcp-server
index 9e49691a9b..9e49691a9b 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-server.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-server
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server-static-lease.network b/test/fuzz/fuzz-network-parser/dhcp-server-static-lease
index e14e7c01f8..e14e7c01f8 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-server-static-lease.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-static-lease
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network b/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router
index 3ebbf05d3e..3ebbf05d3e 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network b/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer
index 7b38e72b7e..7b38e72b7e 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer
diff --git a/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network b/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer
index 5c91d65432..5c91d65432 100644
--- a/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network
+++ b/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer
diff --git a/test/fuzz/fuzz-network-parser/directives.network b/test/fuzz/fuzz-network-parser/directives
index 276f3c9307..276f3c9307 100644
--- a/test/fuzz/fuzz-network-parser/directives.network
+++ b/test/fuzz/fuzz-network-parser/directives
diff --git a/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network b/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate
index ed7bdabfd1..ed7bdabfd1 100644
--- a/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network
+++ b/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate
diff --git a/test/fuzz/fuzz-network-parser/gretap.network b/test/fuzz/fuzz-network-parser/gretap
index 88b9250349..88b9250349 100644
--- a/test/fuzz/fuzz-network-parser/gretap.network
+++ b/test/fuzz/fuzz-network-parser/gretap
diff --git a/test/fuzz/fuzz-network-parser/gretun.network b/test/fuzz/fuzz-network-parser/gretun
index 376074cb1b..376074cb1b 100644
--- a/test/fuzz/fuzz-network-parser/gretun.network
+++ b/test/fuzz/fuzz-network-parser/gretun
diff --git a/test/fuzz/fuzz-network-parser/ip6gretap.network b/test/fuzz/fuzz-network-parser/ip6gretap
index cad0bae04a..cad0bae04a 100644
--- a/test/fuzz/fuzz-network-parser/ip6gretap.network
+++ b/test/fuzz/fuzz-network-parser/ip6gretap
diff --git a/test/fuzz/fuzz-network-parser/ip6tnl.network b/test/fuzz/fuzz-network-parser/ip6tnl
index 41e3448495..41e3448495 100644
--- a/test/fuzz/fuzz-network-parser/ip6tnl.network
+++ b/test/fuzz/fuzz-network-parser/ip6tnl
diff --git a/test/fuzz/fuzz-network-parser/ipip.network b/test/fuzz/fuzz-network-parser/ipip
index 4ce6714904..4ce6714904 100644
--- a/test/fuzz/fuzz-network-parser/ipip.network
+++ b/test/fuzz/fuzz-network-parser/ipip
diff --git a/test/fuzz/fuzz-network-parser/ipv6-prefix.network b/test/fuzz/fuzz-network-parser/ipv6-prefix
index c1932a84d3..c1932a84d3 100644
--- a/test/fuzz/fuzz-network-parser/ipv6-prefix.network
+++ b/test/fuzz/fuzz-network-parser/ipv6-prefix
diff --git a/test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network b/test/fuzz/fuzz-network-parser/ipv6-prefix-veth
index 3d2acecde2..3d2acecde2 100644
--- a/test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network
+++ b/test/fuzz/fuzz-network-parser/ipv6-prefix-veth
diff --git a/test/fuzz/fuzz-network-parser/ipvlan.network b/test/fuzz/fuzz-network-parser/ipvlan
index d053220550..d053220550 100644
--- a/test/fuzz/fuzz-network-parser/ipvlan.network
+++ b/test/fuzz/fuzz-network-parser/ipvlan
diff --git a/test/fuzz/fuzz-network-parser/macvlan.network b/test/fuzz/fuzz-network-parser/macvlan
index a41c1f916c..a41c1f916c 100644
--- a/test/fuzz/fuzz-network-parser/macvlan.network
+++ b/test/fuzz/fuzz-network-parser/macvlan
diff --git a/test/fuzz/fuzz-network-parser/macvtap.network b/test/fuzz/fuzz-network-parser/macvtap
index 6ee99ab9ce..6ee99ab9ce 100644
--- a/test/fuzz/fuzz-network-parser/macvtap.network
+++ b/test/fuzz/fuzz-network-parser/macvtap
diff --git a/test/fuzz/fuzz-network-parser/routing-policy-rule.network b/test/fuzz/fuzz-network-parser/routing-policy-rule
index 46b87c5a9a..46b87c5a9a 100644
--- a/test/fuzz/fuzz-network-parser/routing-policy-rule.network
+++ b/test/fuzz/fuzz-network-parser/routing-policy-rule
diff --git a/test/fuzz/fuzz-network-parser/sit.network b/test/fuzz/fuzz-network-parser/sit
index 84e5af0ff0..84e5af0ff0 100644
--- a/test/fuzz/fuzz-network-parser/sit.network
+++ b/test/fuzz/fuzz-network-parser/sit
diff --git a/test/fuzz/fuzz-network-parser/test-static.network b/test/fuzz/fuzz-network-parser/test-static
index 636c55c8e3..636c55c8e3 100644
--- a/test/fuzz/fuzz-network-parser/test-static.network
+++ b/test/fuzz/fuzz-network-parser/test-static
diff --git a/test/fuzz/fuzz-network-parser/vti.network b/test/fuzz/fuzz-network-parser/vti
index 7fbad6a82d..7fbad6a82d 100644
--- a/test/fuzz/fuzz-network-parser/vti.network
+++ b/test/fuzz/fuzz-network-parser/vti
diff --git a/test/fuzz/fuzz-network-parser/vti6.network b/test/fuzz/fuzz-network-parser/vti6
index 49a9d11fff..49a9d11fff 100644
--- a/test/fuzz/fuzz-network-parser/vti6.network
+++ b/test/fuzz/fuzz-network-parser/vti6
diff --git a/test/fuzz/fuzz-network-parser/vxlan.network b/test/fuzz/fuzz-network-parser/vxlan
index 80b405574c..80b405574c 100644
--- a/test/fuzz/fuzz-network-parser/vxlan.network
+++ b/test/fuzz/fuzz-network-parser/vxlan
diff --git a/test/fuzz/fuzz-nspawn-settings/leak-4ff0e2498f596a77ea68d185c61e9e9ff9bb657f b/test/fuzz/fuzz-nspawn-settings/leak-bind-mount
index 7be2d2c9da..7be2d2c9da 100644
--- a/test/fuzz/fuzz-nspawn-settings/leak-4ff0e2498f596a77ea68d185c61e9e9ff9bb657f
+++ b/test/fuzz/fuzz-nspawn-settings/leak-bind-mount
Binary files differ
diff --git a/test/networkd-test.py b/test/networkd-test.py
index 1001cd7cc8..4b5ba622fa 100755
--- a/test/networkd-test.py
+++ b/test/networkd-test.py
@@ -7,7 +7,7 @@
# but it assumes (and checks at the beginning) that networkd is not currently
# running.
#
-# This can be run on a normal installation, in QEMU, nspawn (with
+# This can be run on a normal installation, in qemu, systemd-nspawn (with
# --private-network), LXD (with "--config raw.lxc=lxc.aa_profile=unconfined"),
# or LXC system containers. You need at least the "ip" tool from the iproute
# package; it is recommended to install dnsmasq too to get full test coverage.
diff --git a/test/test-functions b/test/test-functions
index 365f535bf0..90c8f79468 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -60,7 +60,7 @@ get_bool() {
fi
}
-# Decide if we can (and want to) run QEMU with KVM acceleration.
+# Decide if we can (and want to) run qemu with KVM acceleration.
# Check if nested KVM is explicitly enabled (TEST_NESTED_KVM). If not,
# check if it's not explicitly disabled (TEST_NO_KVM) and we're not already
# running under KVM. If these conditions are met, enable KVM (and possibly
@@ -310,7 +310,7 @@ find_qemu_bin() {
esac
if [[ ! -e "$QEMU_BIN" ]]; then
- echo "Could not find a suitable QEMU binary" >&2
+ echo "Could not find a suitable qemu binary" >&2
return 1
fi
}
@@ -334,8 +334,8 @@ qemu_min_version() {
printf "%s\n%s\n" "$1" "$qemu_ver" | sort -V -C
}
-# Return 0 if QEMU did run (then you must check the result state/logs for actual
-# success), or 1 if QEMU is not available.
+# Return 0 if qemu did run (then you must check the result state/logs for actual
+# success), or 1 if qemu is not available.
run_qemu() {
if [ -f /etc/machine-id ]; then
read -r MACHINE_ID </etc/machine-id
@@ -480,7 +480,7 @@ run_qemu() {
derror "Test timed out after ${QEMU_TIMEOUT}s"
TIMED_OUT=1
else
- [ "$rc" != 0 ] && derror "QEMU failed with exit code $rc"
+ [ "$rc" != 0 ] && derror "qemu failed with exit code $rc"
fi
return 0
}
@@ -2877,9 +2877,9 @@ test_run() {
if ! get_bool "${TEST_NO_QEMU:=}"; then
if run_qemu "$test_id"; then
- check_result_qemu || { echo "QEMU test failed"; return 1; }
+ check_result_qemu || { echo "qemu test failed"; return 1; }
else
- dwarn "can't run QEMU, skipping"
+ dwarn "can't run qemu, skipping"
fi
fi
if ! get_bool "${TEST_NO_NSPAWN:=}"; then
@@ -2909,12 +2909,12 @@ do_test() {
fi
if get_bool "${TEST_NO_QEMU:=}" && get_bool "${TEST_NO_NSPAWN:=}"; then
- echo "TEST: $TEST_DESCRIPTION [SKIPPED]: both QEMU and nspawn disabled" >&2
+ echo "TEST: $TEST_DESCRIPTION [SKIPPED]: both qemu and nspawn disabled" >&2
exit 0
fi
if get_bool "${TEST_QEMU_ONLY:=}" && ! get_bool "$TEST_NO_NSPAWN"; then
- echo "TEST: $TEST_DESCRIPTION [SKIPPED]: QEMU-only tests requested" >&2
+ echo "TEST: $TEST_DESCRIPTION [SKIPPED]: qemu-only tests requested" >&2
exit 0
fi
diff --git a/tools/check-directives.sh b/tools/check-directives.sh
index af846c4d73..767833285b 100755
--- a/tools/check-directives.sh
+++ b/tools/check-directives.sh
@@ -34,8 +34,8 @@ function generate_directives() {
ret=0
if ! diff \
<(generate_directives "$SOURCE_ROOT"/src/network/networkd-network-gperf.gperf | sort) \
- <(sort "$SOURCE_ROOT"/test/fuzz/fuzz-network-parser/directives.network); then
- echo "Looks like test/fuzz/fuzz-network-parser/directives.network hasn't been updated"
+ <(sort "$SOURCE_ROOT"/test/fuzz/fuzz-network-parser/directives); then
+ echo "Looks like test/fuzz/fuzz-network-parser/directives hasn't been updated"
ret=1
fi