diff --git a/TODO b/TODO
index a28c82ed66..ae6791df7f 100644
--- a/TODO
+++ b/TODO
@@ -24,6 +24,8 @@ Janitorial Clean-ups:
Features:
+* rework pid watching logic, allow any number of units watch the same pid
+
* be stricter with fds we receive for the fdstore: close them asynchronously
* be stricter with pid file and notify pids: don't allow them to be outside of cgroup, except if sender is privileged
diff --git a/UIDS-GIDS.md b/UIDS-GIDS.md
index d44d93d144..71e91faa6a 100644
--- a/UIDS-GIDS.md
+++ b/UIDS-GIDS.md
@@ -26,13 +26,13 @@ i.e. 0…4294967295. However, four UIDs are special on Linux:
call the `nobody` group `nogroup`. I wish they didn't.)
3. 4294967295, aka "32bit `(uid_t) -1`" → This UID is not a valid user ID, as
- setresuid(), chown() and friends treat -1 as a special request to not change
- the UID of the process/file. This UID is hence not available for assignment
- to users in the user database.
+ `setresuid()`, `chown()` and friends treat -1 as a special request to not
+ change the UID of the process/file. This UID is hence not available for
+ assignment to users in the user database.
-4. 65535, aka "16bit `(uid_t) -1`" → Once upon a time `uid_t` used to be 16bit, and
- programs compiled for that would hence assume that `(uid_t) -1` is 65535. This
- UID is hence not usable either.
+4. 65535, aka "16bit `(uid_t) -1`" → Before Linux kernel 2.4 `uid_t` used to be
+ 16bit, and programs compiled for that would hence assume that `(uid_t) -1`
+ is 65535. This UID is hence not usable either.
The `nss-systemd` glibc NSS module will synthesize user database records for
the UIDs 0 and 65534 if the system user database doesn't list them. This means
diff --git a/src/basic/af-list.h b/src/basic/af-list.h
index 65656022cc..1684bc6a0f 100644
--- a/src/basic/af-list.h
+++ b/src/basic/af-list.h
@@ -20,6 +20,8 @@
along with systemd; If not, see .
***/
+#include
+
#include "string-util.h"
const char *af_to_name(int id);
diff --git a/src/basic/calendarspec.c b/src/basic/calendarspec.c
index d1ba1681fb..fd78022773 100644
--- a/src/basic/calendarspec.c
+++ b/src/basic/calendarspec.c
@@ -35,6 +35,7 @@
#include "fileio.h"
#include "macro.h"
#include "parse-util.h"
+#include "process-util.h"
#include "string-util.h"
#include "time-util.h"
diff --git a/src/basic/errno-list.c b/src/basic/errno-list.c
index d8eedfc0ad..7eb28b8fd1 100644
--- a/src/basic/errno-list.c
+++ b/src/basic/errno-list.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include "errno-list.h"
diff --git a/src/basic/ether-addr-util.c b/src/basic/ether-addr-util.c
index bbe8bf0006..bfbd1a4931 100644
--- a/src/basic/ether-addr-util.c
+++ b/src/basic/ether-addr-util.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
#include
diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c
index 16f97893c9..57d22b8abb 100644
--- a/src/basic/fs-util.c
+++ b/src/basic/fs-util.c
@@ -39,6 +39,7 @@
#include "mkdir.h"
#include "parse-util.h"
#include "path-util.h"
+#include "process-util.h"
#include "stat-util.h"
#include "stdio-util.h"
#include "string-util.h"
diff --git a/src/basic/gunicode.c b/src/basic/gunicode.c
index e6ac0545a4..8aff4a0fc5 100644
--- a/src/basic/gunicode.c
+++ b/src/basic/gunicode.c
@@ -4,8 +4,6 @@
* Copyright 2000, 2005 Red Hat, Inc.
*/
-#include
-
#include "gunicode.h"
#define unichar uint32_t
diff --git a/src/basic/hash-funcs.c b/src/basic/hash-funcs.c
index e69f81558d..5267758769 100644
--- a/src/basic/hash-funcs.c
+++ b/src/basic/hash-funcs.c
@@ -19,6 +19,8 @@
along with systemd; If not, see .
***/
+#include
+
#include "hash-funcs.h"
void string_hash_func(const void *p, struct siphash *state) {
diff --git a/src/basic/hostname-util.h b/src/basic/hostname-util.h
index d837d6f28c..edae52e3db 100644
--- a/src/basic/hostname-util.h
+++ b/src/basic/hostname-util.h
@@ -21,6 +21,7 @@
***/
#include
+#include
#include "macro.h"
diff --git a/src/basic/journal-importer.c b/src/basic/journal-importer.c
index 6942c370cb..11054589e3 100644
--- a/src/basic/journal-importer.c
+++ b/src/basic/journal-importer.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include "alloc-util.h"
diff --git a/src/basic/log.c b/src/basic/log.c
index 20d9588e2f..9169474289 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -54,6 +54,7 @@
#include "syslog-util.h"
#include "terminal-util.h"
#include "time-util.h"
+#include "utf8.h"
#include "util.h"
#define SNDBUF_SIZE (8*1024*1024)
@@ -1226,10 +1227,12 @@ static const char *const log_target_table[_LOG_TARGET_MAX] = {
DEFINE_STRING_TABLE_LOOKUP(log_target, LogTarget);
void log_received_signal(int level, const struct signalfd_siginfo *si) {
- if (si->ssi_pid > 0) {
+ assert(si);
+
+ if (pid_is_valid(si->ssi_pid)) {
_cleanup_free_ char *p = NULL;
- get_process_comm(si->ssi_pid, &p);
+ (void) get_process_comm(si->ssi_pid, &p);
log_full(level,
"Received SIG%s from PID %"PRIu32" (%s).",
@@ -1239,7 +1242,6 @@ void log_received_signal(int level, const struct signalfd_siginfo *si) {
log_full(level,
"Received SIG%s.",
signal_to_string(si->ssi_signo));
-
}
int log_syntax_internal(
@@ -1289,6 +1291,27 @@ int log_syntax_internal(
NULL);
}
+int log_syntax_invalid_utf8_internal(
+ const char *unit,
+ int level,
+ const char *config_file,
+ unsigned config_line,
+ const char *file,
+ int line,
+ const char *func,
+ const char *rvalue) {
+
+ _cleanup_free_ char *p = NULL;
+
+ if (rvalue)
+ p = utf8_escape_invalid(rvalue);
+
+ log_syntax_internal(unit, level, config_file, config_line, 0, file, line, func,
+ "String is not UTF-8 clean, ignoring assignment: %s", strna(p));
+
+ return -EINVAL;
+}
+
void log_set_upgrade_syslog_to_journal(bool b) {
upgrade_syslog_to_journal = b;
}
@@ -1300,3 +1323,10 @@ void log_set_always_reopen_console(bool b) {
void log_set_open_when_needed(bool b) {
open_when_needed = b;
}
+
+int log_emergency_level(void) {
+ /* Returns the log level to use for log_emergency() logging. We use LOG_EMERG only when we are PID 1, as only
+ * then the system of the whole system is obviously affected. */
+
+ return getpid_cached() == 1 ? LOG_EMERG : LOG_ERR;
+}
diff --git a/src/basic/log.h b/src/basic/log.h
index 28300312f6..b97cdcd703 100644
--- a/src/basic/log.h
+++ b/src/basic/log.h
@@ -20,18 +20,16 @@
along with systemd; If not, see .
***/
-#include
#include
#include
#include
-#include
-#include
#include
-#include "sd-id128.h"
-
#include "macro.h"
-#include "process-util.h"
+
+/* Some structures we reference but don't want to pull in headers for */
+struct iovec;
+struct signalfd_siginfo;
typedef enum LogRealm {
LOG_REALM_SYSTEMD,
@@ -194,7 +192,7 @@ int log_struct_iovec_internal(
const char *file,
int line,
const char *func,
- const struct iovec input_iovec[],
+ const struct iovec *input_iovec,
size_t n_input_iovec);
/* This modifies the buffer passed! */
@@ -240,9 +238,9 @@ void log_assert_failed_return_realm(
/* Logging with level */
#define log_full_errno_realm(realm, level, error, ...) \
({ \
- int _level = (level), _e = (error); \
- (log_get_max_level_realm((realm)) >= LOG_PRI(_level)) \
- ? log_internal_realm(LOG_REALM_PLUS_LEVEL((realm), _level), _e, \
+ int _level = (level), _e = (error), _realm = (realm); \
+ (log_get_max_level_realm(_realm) >= LOG_PRI(_level)) \
+ ? log_internal_realm(LOG_REALM_PLUS_LEVEL(_realm, _level), _e, \
__FILE__, __LINE__, __func__, __VA_ARGS__) \
: -abs(_e); \
})
@@ -252,13 +250,15 @@ void log_assert_failed_return_realm(
#define log_full(level, ...) log_full_errno((level), 0, __VA_ARGS__)
+int log_emergency_level(void);
+
/* Normal logging */
#define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__)
#define log_info(...) log_full(LOG_INFO, __VA_ARGS__)
#define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__)
#define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__)
#define log_error(...) log_full(LOG_ERR, __VA_ARGS__)
-#define log_emergency(...) log_full(getpid_cached() == 1 ? LOG_EMERG : LOG_ERR, __VA_ARGS__)
+#define log_emergency(...) log_full(log_emergency_level(), __VA_ARGS__)
/* Logging triggered by an errno-like error */
#define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__)
@@ -266,7 +266,7 @@ void log_assert_failed_return_realm(
#define log_notice_errno(error, ...) log_full_errno(LOG_NOTICE, error, __VA_ARGS__)
#define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__)
#define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__)
-#define log_emergency_errno(error, ...) log_full_errno(getpid_cached() == 1 ? LOG_EMERG : LOG_ERR, error, __VA_ARGS__)
+#define log_emergency_errno(error, ...) log_full_errno(log_emergency_level(), error, __VA_ARGS__)
#ifdef LOG_TRACE
# define log_trace(...) log_debug(__VA_ARGS__)
@@ -317,6 +317,16 @@ int log_syntax_internal(
const char *func,
const char *format, ...) _printf_(9, 10);
+int log_syntax_invalid_utf8_internal(
+ const char *unit,
+ int level,
+ const char *config_file,
+ unsigned config_line,
+ const char *file,
+ int line,
+ const char *func,
+ const char *rvalue);
+
#define log_syntax(unit, level, config_file, config_line, error, ...) \
({ \
int _level = (level), _e = (error); \
@@ -328,12 +338,9 @@ int log_syntax_internal(
#define log_syntax_invalid_utf8(unit, level, config_file, config_line, rvalue) \
({ \
int _level = (level); \
- if (log_get_max_level() >= LOG_PRI(_level)) { \
- _cleanup_free_ char *_p = NULL; \
- _p = utf8_escape_invalid(rvalue); \
- log_syntax_internal(unit, _level, config_file, config_line, 0, __FILE__, __LINE__, __func__, \
- "String is not UTF-8 clean, ignoring assignment: %s", strna(_p)); \
- } \
+ (log_get_max_level() >= LOG_PRI(_level)) \
+ ? log_syntax_invalid_utf8_internal(unit, _level, config_file, config_line, __FILE__, __LINE__, __func__, rvalue) \
+ : -EINVAL; \
})
#define DEBUG_LOGGING _unlikely_(log_get_max_level() >= LOG_DEBUG)
diff --git a/src/basic/process-util.h b/src/basic/process-util.h
index fdb1790b2e..267888a625 100644
--- a/src/basic/process-util.h
+++ b/src/basic/process-util.h
@@ -21,6 +21,7 @@
***/
#include
+#include
#include
#include
#include
diff --git a/src/basic/random-util.c b/src/basic/random-util.c
index 1bc8000896..7457815fa2 100644
--- a/src/basic/random-util.c
+++ b/src/basic/random-util.c
@@ -21,11 +21,12 @@
#include
#include
#include
-#include
-#include
-#include
#include
+#include
#include
+#include
+#include
+#include
#if HAVE_SYS_AUXV_H
# include
diff --git a/src/basic/securebits-util.c b/src/basic/securebits-util.c
index b5f6418a6c..441d386f9e 100644
--- a/src/basic/securebits-util.c
+++ b/src/basic/securebits-util.c
@@ -19,6 +19,7 @@
***/
#include
+#include
#include "alloc-util.h"
#include "extract-word.h"
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
index d6371f833d..2c70cade14 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
@@ -41,6 +41,7 @@
#include "missing.h"
#include "parse-util.h"
#include "path-util.h"
+#include "process-util.h"
#include "socket-util.h"
#include "string-table.h"
#include "string-util.h"
diff --git a/src/basic/stat-util.c b/src/basic/stat-util.c
index 96fc8b3787..3a54103f1b 100644
--- a/src/basic/stat-util.c
+++ b/src/basic/stat-util.c
@@ -21,10 +21,11 @@
#include
#include
#include
-#include
-#include
#include
+#include
+#include
#include
+#include
#include
#include "dirent-util.h"
diff --git a/src/basic/time-util.c b/src/basic/time-util.c
index cbb5285018..4a341e208f 100644
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
@@ -38,6 +38,7 @@
#include "macro.h"
#include "parse-util.h"
#include "path-util.h"
+#include "process-util.h"
#include "string-util.h"
#include "strv.h"
#include "time-util.h"
diff --git a/src/basic/verbs.c b/src/basic/verbs.c
index 556acdcaa3..47644670da 100644
--- a/src/basic/verbs.c
+++ b/src/basic/verbs.c
@@ -22,10 +22,12 @@
#include
#include
#include
+#include
#include "env-util.h"
#include "log.h"
#include "macro.h"
+#include "process-util.h"
#include "string-util.h"
#include "verbs.h"
#include "virt.h"
diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
index cd95f0e426..0c2a39d34b 100644
--- a/src/boot/bootctl.c
+++ b/src/boot/bootctl.c
@@ -36,6 +36,8 @@
#include
#include
+#include "sd-id128.h"
+
#include "alloc-util.h"
#include "blkid-util.h"
#include "bootspec.h"
diff --git a/src/core/dbus.c b/src/core/dbus.c
index e49c71eca1..1c3fca353a 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -41,6 +41,7 @@
#include "log.h"
#include "missing.h"
#include "mkdir.h"
+#include "process-util.h"
#include "selinux-access.h"
#include "special.h"
#include "string-util.h"
diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c
index 6240a83197..0c43cf2418 100644
--- a/src/core/locale-setup.c
+++ b/src/core/locale-setup.c
@@ -20,6 +20,7 @@
#include
#include
+#include
#include "env-util.h"
#include "fileio.h"
diff --git a/src/core/service.c b/src/core/service.c
index c6835a4d6c..14763a83b0 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -2588,7 +2588,9 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value,
log_unit_debug(u, "Failed to parse main-pid value: %s", value);
else {
service_set_main_pid(s, pid);
- unit_watch_pid(UNIT(s), pid);
+ r = unit_watch_pid(UNIT(s), pid);
+ if (r < 0)
+ log_unit_debug_errno(u, r, "Failed to watch main PID, ignoring: %m");
}
} else if (streq(key, "main-pid-known")) {
int b;
diff --git a/src/core/umount.c b/src/core/umount.c
index 6b0100fb44..731436af27 100644
--- a/src/core/umount.c
+++ b/src/core/umount.c
@@ -38,6 +38,7 @@
#include "mount-setup.h"
#include "mount-util.h"
#include "path-util.h"
+#include "process-util.h"
#include "signal-util.h"
#include "string-util.h"
#include "udev-util.h"
diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c
index 207ddeb70f..1dbceb8803 100644
--- a/src/firstboot/firstboot.c
+++ b/src/firstboot/firstboot.c
@@ -23,6 +23,8 @@
#include
#include
+#include "sd-id128.h"
+
#include "alloc-util.h"
#include "ask-password-api.h"
#include "copy.h"
diff --git a/src/import/export.c b/src/import/export.c
index 753d1399f5..0f32b90051 100644
--- a/src/import/export.c
+++ b/src/import/export.c
@@ -21,6 +21,7 @@
#include
#include "sd-event.h"
+#include "sd-id128.h"
#include "alloc-util.h"
#include "export-raw.h"
diff --git a/src/import/import-common.c b/src/import/import-common.c
index aa7ab974d2..c24a0b0c86 100644
--- a/src/import/import-common.c
+++ b/src/import/import-common.c
@@ -27,6 +27,7 @@
#include "capability-util.h"
#include "fd-util.h"
#include "import-common.h"
+#include "process-util.h"
#include "signal-util.h"
#include "util.h"
diff --git a/src/import/import.c b/src/import/import.c
index cc454ee15b..454e64e3cb 100644
--- a/src/import/import.c
+++ b/src/import/import.c
@@ -21,6 +21,7 @@
#include
#include "sd-event.h"
+#include "sd-id128.h"
#include "alloc-util.h"
#include "fd-util.h"
diff --git a/src/import/pull.c b/src/import/pull.c
index 46e0fd5acb..325f7e3d50 100644
--- a/src/import/pull.c
+++ b/src/import/pull.c
@@ -21,6 +21,7 @@
#include
#include "sd-event.h"
+#include "sd-id128.h"
#include "alloc-util.h"
#include "hostname-util.h"
diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c
index 5488999727..c1af13d15b 100644
--- a/src/initctl/initctl.c
+++ b/src/initctl/initctl.c
@@ -38,6 +38,7 @@
#include "log.h"
#include "special.h"
#include "util.h"
+#include "process-util.h"
#define SERVER_FD_MAX 16
#define TIMEOUT_MSEC ((int) (DEFAULT_EXIT_USEC/USEC_PER_MSEC))
diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
index a8755751ee..66d5369a54 100644
--- a/src/journal-remote/journal-remote.c
+++ b/src/journal-remote/journal-remote.c
@@ -43,6 +43,7 @@
#include "journald-native.h"
#include "macro.h"
#include "parse-util.h"
+#include "process-util.h"
#include "signal-util.h"
#include "socket-util.h"
#include "stat-util.h"
diff --git a/src/journal-remote/journal-upload.c b/src/journal-remote/journal-upload.c
index 7566543c1a..0b74ca98a7 100644
--- a/src/journal-remote/journal-upload.c
+++ b/src/journal-remote/journal-upload.c
@@ -37,6 +37,7 @@
#include "log.h"
#include "mkdir.h"
#include "parse-util.h"
+#include "process-util.h"
#include "sigbus.h"
#include "signal-util.h"
#include "string-util.h"
diff --git a/src/journal/journald.c b/src/journal/journald.c
index 6d670e2f4f..2724a2df95 100644
--- a/src/journal/journald.c
+++ b/src/journal/journald.c
@@ -28,6 +28,7 @@
#include "journald-kmsg.h"
#include "journald-server.h"
#include "journald-syslog.h"
+#include "process-util.h"
#include "sigbus.h"
int main(int argc, char *argv[]) {
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 8a1b161d8f..6da7bf8e81 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -48,6 +48,7 @@
#include "lookup3.h"
#include "missing.h"
#include "path-util.h"
+#include "process-util.h"
#include "replace-var.h"
#include "stat-util.h"
#include "stdio-util.h"
diff --git a/src/journal/test-compress-benchmark.c b/src/journal/test-compress-benchmark.c
index 409a876054..1f77197549 100644
--- a/src/journal/test-compress-benchmark.c
+++ b/src/journal/test-compress-benchmark.c
@@ -23,6 +23,7 @@
#include "env-util.h"
#include "macro.h"
#include "parse-util.h"
+#include "process-util.h"
#include "random-util.h"
#include "string-util.h"
#include "util.h"
diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c
index c20e9fca35..94386e4860 100644
--- a/src/libsystemd-network/network-internal.c
+++ b/src/libsystemd-network/network-internal.c
@@ -22,6 +22,7 @@
#include
#include
+#include "sd-id128.h"
#include "sd-ndisc.h"
#include "alloc-util.h"
diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c
index 63fb355e85..907b72391b 100644
--- a/src/libsystemd-network/sd-dhcp-server.c
+++ b/src/libsystemd-network/sd-dhcp-server.c
@@ -28,6 +28,7 @@
#include "dhcp-server-internal.h"
#include "fd-util.h"
#include "in-addr-util.h"
+#include "sd-id128.h"
#include "siphash24.h"
#include "string-util.h"
#include "unaligned.h"
diff --git a/src/libsystemd-network/sd-ipv4ll.c b/src/libsystemd-network/sd-ipv4ll.c
index 23e2f5211d..f3d09eb30a 100644
--- a/src/libsystemd-network/sd-ipv4ll.c
+++ b/src/libsystemd-network/sd-ipv4ll.c
@@ -25,6 +25,7 @@
#include
#include
+#include "sd-id128.h"
#include "sd-ipv4acd.h"
#include "sd-ipv4ll.h"
diff --git a/src/libsystemd-network/test-lldp.c b/src/libsystemd-network/test-lldp.c
index c62689373f..b91797cb66 100644
--- a/src/libsystemd-network/test-lldp.c
+++ b/src/libsystemd-network/test-lldp.c
@@ -20,6 +20,7 @@
***/
#include
+#include
#include
#include
#include
diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build
index 1602bad9a0..706e090762 100644
--- a/src/libsystemd/meson.build
+++ b/src/libsystemd/meson.build
@@ -18,8 +18,6 @@
sd_login_c = files('sd-login/sd-login.c')
libsystemd_sources = files('''
- sd-bus/bus-bloom.c
- sd-bus/bus-bloom.h
sd-bus/bus-common-errors.c
sd-bus/bus-common-errors.h
sd-bus/bus-container.c
diff --git a/src/libsystemd/sd-bus/bus-bloom.c b/src/libsystemd/sd-bus/bus-bloom.c
deleted file mode 100644
index ebda6516e2..0000000000
--- a/src/libsystemd/sd-bus/bus-bloom.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1+ */
-/***
- This file is part of systemd.
-
- Copyright 2013 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see .
-***/
-
-#include "bus-bloom.h"
-#include "siphash24.h"
-#include "util.h"
-
-static inline void set_bit(uint64_t filter[], unsigned long b) {
- filter[b >> 6] |= 1ULL << (b & 63);
-}
-
-static const sd_id128_t hash_keys[] = {
- SD_ID128_ARRAY(b9,66,0b,f0,46,70,47,c1,88,75,c4,9c,54,b9,bd,15),
- SD_ID128_ARRAY(aa,a1,54,a2,e0,71,4b,39,bf,e1,dd,2e,9f,c5,4a,3b),
- SD_ID128_ARRAY(63,fd,ae,be,cd,82,48,12,a1,6e,41,26,cb,fa,a0,c8),
- SD_ID128_ARRAY(23,be,45,29,32,d2,46,2d,82,03,52,28,fe,37,17,f5),
- SD_ID128_ARRAY(56,3b,bf,ee,5a,4f,43,39,af,aa,94,08,df,f0,fc,10),
- SD_ID128_ARRAY(31,80,c8,73,c7,ea,46,d3,aa,25,75,0f,9e,4c,09,29),
- SD_ID128_ARRAY(7d,f7,18,4b,7b,a4,44,d5,85,3c,06,e0,65,53,96,6d),
- SD_ID128_ARRAY(f2,77,e9,6f,93,b5,4e,71,9a,0c,34,88,39,25,bf,35),
-};
-
-static void bloom_add_data(
- uint64_t filter[], /* The filter bits */
- size_t size, /* Size of the filter in bytes */
- unsigned k, /* Number of hash functions */
- const void *data, /* Data to hash */
- size_t n) { /* Size of data to hash in bytes */
-
- uint64_t h;
- uint64_t m;
- unsigned w, i, c = 0;
- unsigned hash_index;
-
- assert(size > 0);
- assert(k > 0);
-
- /* Determine bits in filter */
- m = size * 8;
-
- /* Determine how many bytes we need to generate a bit index 0..m for this filter */
- w = (u64log2(m) + 7) / 8;
-
- assert(w <= sizeof(uint64_t));
-
- /* Make sure we have enough hash keys to generate m * k bits
- * of hash value. Note that SipHash24 generates 64 bits of
- * hash value for each 128 bits of hash key. */
- assert(k * w <= ELEMENTSOF(hash_keys) * 8);
-
- for (i = 0, hash_index = 0; i < k; i++) {
- uint64_t p = 0;
- unsigned d;
-
- for (d = 0; d < w; d++) {
- if (c <= 0) {
- h = siphash24(data, n, hash_keys[hash_index++].bytes);
- c += 8;
- }
-
- p = (p << 8ULL) | (uint64_t) ((uint8_t *)&h)[8 - c];
- c--;
- }
-
- p &= m - 1;
- set_bit(filter, p);
- }
-
- /* log_debug("bloom: adding <%.*s>", (int) n, (char*) data); */
-}
-
-void bloom_add_pair(uint64_t filter[], size_t size, unsigned k, const char *a, const char *b) {
- size_t n;
- char *c;
-
- assert(filter);
- assert(a);
- assert(b);
-
- n = strlen(a) + 1 + strlen(b);
- c = alloca(n + 1);
- strcpy(stpcpy(stpcpy(c, a), ":"), b);
-
- bloom_add_data(filter, size, k, c, n);
-}
-
-void bloom_add_prefixes(uint64_t filter[], size_t size, unsigned k, const char *a, const char *b, char sep) {
- size_t n;
- char *c, *p;
-
- assert(filter);
- assert(a);
- assert(b);
-
- n = strlen(a) + 1 + strlen(b);
- c = alloca(n + 1);
-
- p = stpcpy(stpcpy(c, a), ":");
- strcpy(p, b);
-
- bloom_add_data(filter, size, k, c, n);
-
- for (;;) {
- char *e;
-
- e = strrchr(p, sep);
- if (!e)
- break;
-
- *(e + 1) = 0;
- bloom_add_data(filter, size, k, c, e - c + 1);
-
- if (e == p)
- break;
-
- *e = 0;
- bloom_add_data(filter, size, k, c, e - c);
- }
-}
-
-bool bloom_validate_parameters(size_t size, unsigned k) {
- uint64_t m;
- unsigned w;
-
- if (size <= 0)
- return false;
-
- if (k <= 0)
- return false;
-
- m = size * 8;
- w = (u64log2(m) + 7) / 8;
- if (w > sizeof(uint64_t))
- return false;
-
- if (k * w > ELEMENTSOF(hash_keys) * 8)
- return false;
-
- return true;
-}
diff --git a/src/libsystemd/sd-bus/bus-bloom.h b/src/libsystemd/sd-bus/bus-bloom.h
deleted file mode 100644
index 2650762145..0000000000
--- a/src/libsystemd/sd-bus/bus-bloom.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1+ */
-#pragma once
-
-/***
- This file is part of systemd.
-
- Copyright 2013 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see .
-***/
-
-#include
-#include
-#include
-
-/*
- * Our default bloom filter has the following parameters:
- *
- * m=512 (bits in the filter)
- * k=8 (hash functions)
- *
- * We use SipHash24 as hash function with a number of (originally
- * randomized) but fixed hash keys.
- *
- */
-
-#define DEFAULT_BLOOM_SIZE (512/8) /* m: filter size */
-#define DEFAULT_BLOOM_N_HASH 8 /* k: number of hash functions */
-
-void bloom_add_pair(uint64_t filter[], size_t size, unsigned n_hash, const char *a, const char *b);
-void bloom_add_prefixes(uint64_t filter[], size_t size, unsigned n_hash, const char *a, const char *b, char sep);
-
-bool bloom_validate_parameters(size_t size, unsigned n_hash);
diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
index 4adc996a86..da4ed7b127 100644
--- a/src/libsystemd/sd-bus/bus-control.c
+++ b/src/libsystemd/sd-bus/bus-control.c
@@ -28,12 +28,12 @@
#include "sd-bus.h"
#include "alloc-util.h"
-#include "bus-bloom.h"
#include "bus-control.h"
#include "bus-internal.h"
#include "bus-message.h"
#include "bus-util.h"
#include "capability-util.h"
+#include "process-util.h"
#include "stdio-util.h"
#include "string-util.h"
#include "strv.h"
diff --git a/src/libsystemd/sd-bus/bus-gvariant.c b/src/libsystemd/sd-bus/bus-gvariant.c
index 6a990a02c0..e6ab984d1f 100644
--- a/src/libsystemd/sd-bus/bus-gvariant.c
+++ b/src/libsystemd/sd-bus/bus-gvariant.c
@@ -18,6 +18,11 @@
along with systemd; If not, see .
***/
+#include
+#include
+
+#include "sd-bus.h"
+
#include "bus-gvariant.h"
#include "bus-signature.h"
#include "bus-type.h"
diff --git a/src/libsystemd/sd-bus/bus-signature.c b/src/libsystemd/sd-bus/bus-signature.c
index d16461f4ae..f3cd9bd0fa 100644
--- a/src/libsystemd/sd-bus/bus-signature.c
+++ b/src/libsystemd/sd-bus/bus-signature.c
@@ -20,6 +20,8 @@
#include
+#include "sd-bus.h"
+
#include "bus-signature.h"
#include "bus-type.h"
diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
index 4eaecffa85..2fe86b61c4 100644
--- a/src/libsystemd/sd-bus/bus-socket.c
+++ b/src/libsystemd/sd-bus/bus-socket.c
@@ -38,6 +38,7 @@
#include "macro.h"
#include "missing.h"
#include "path-util.h"
+#include "process-util.h"
#include "selinux-util.h"
#include "signal-util.h"
#include "stdio-util.h"
diff --git a/src/libsystemd/sd-bus/bus-type.c b/src/libsystemd/sd-bus/bus-type.c
index fe486f441d..980b35d8ea 100644
--- a/src/libsystemd/sd-bus/bus-type.c
+++ b/src/libsystemd/sd-bus/bus-type.c
@@ -18,6 +18,10 @@
along with systemd; If not, see .
***/
+#include
+
+#include "sd-bus.h"
+
#include "bus-type.h"
bool bus_type_is_valid(char c) {
diff --git a/src/libsystemd/sd-bus/bus-type.h b/src/libsystemd/sd-bus/bus-type.h
index ae272b1e6a..834f09777a 100644
--- a/src/libsystemd/sd-bus/bus-type.h
+++ b/src/libsystemd/sd-bus/bus-type.h
@@ -22,8 +22,6 @@
#include
-#include "sd-bus.h"
-
#include "macro.h"
bool bus_type_is_valid(char c) _const_;
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
index 8c8853c7ee..e723960e9f 100644
--- a/src/libsystemd/sd-bus/sd-bus.c
+++ b/src/libsystemd/sd-bus/sd-bus.c
@@ -50,6 +50,7 @@
#include "macro.h"
#include "missing.h"
#include "parse-util.h"
+#include "process-util.h"
#include "string-util.h"
#include "strv.h"
#include "util.h"
diff --git a/src/libsystemd/sd-bus/test-bus-track.c b/src/libsystemd/sd-bus/test-bus-track.c
index 320e8347f4..94c9d09de3 100644
--- a/src/libsystemd/sd-bus/test-bus-track.c
+++ b/src/libsystemd/sd-bus/test-bus-track.c
@@ -18,6 +18,9 @@
along with systemd; If not, see .
***/
+#include
+#include
+
#include "sd-bus.h"
#include "macro.h"
diff --git a/src/libsystemd/sd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c
index ba383e0b3b..93721a5cf4 100644
--- a/src/libsystemd/sd-daemon/sd-daemon.c
+++ b/src/libsystemd/sd-daemon/sd-daemon.c
@@ -39,6 +39,7 @@
#include "fs-util.h"
#include "parse-util.h"
#include "path-util.h"
+#include "process-util.h"
#include "socket-util.h"
#include "strv.h"
#include "util.h"
diff --git a/src/libsystemd/sd-event/test-event.c b/src/libsystemd/sd-event/test-event.c
index 87a0c8522d..9873ae4a58 100644
--- a/src/libsystemd/sd-event/test-event.c
+++ b/src/libsystemd/sd-event/test-event.c
@@ -27,6 +27,7 @@
#include "macro.h"
#include "signal-util.h"
#include "util.h"
+#include "process-util.h"
static int prepare_handler(sd_event_source *s, void *userdata) {
log_info("preparing %c", PTR_TO_INT(userdata));
diff --git a/src/libsystemd/sd-id128/id128-util.c b/src/libsystemd/sd-id128/id128-util.c
index 5541e8d47e..a6e38578b1 100644
--- a/src/libsystemd/sd-id128/id128-util.c
+++ b/src/libsystemd/sd-id128/id128-util.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
diff --git a/src/libsystemd/sd-netlink/sd-netlink.c b/src/libsystemd/sd-netlink/sd-netlink.c
index d3c4e7130a..116e287bb6 100644
--- a/src/libsystemd/sd-netlink/sd-netlink.c
+++ b/src/libsystemd/sd-netlink/sd-netlink.c
@@ -30,6 +30,7 @@
#include "missing.h"
#include "netlink-internal.h"
#include "netlink-util.h"
+#include "process-util.h"
#include "socket-util.h"
#include "util.h"
diff --git a/src/libsystemd/sd-resolve/sd-resolve.c b/src/libsystemd/sd-resolve/sd-resolve.c
index 6ed50b4e4a..787642a7fb 100644
--- a/src/libsystemd/sd-resolve/sd-resolve.c
+++ b/src/libsystemd/sd-resolve/sd-resolve.c
@@ -40,6 +40,7 @@
#include "missing.h"
#include "socket-util.h"
#include "util.h"
+#include "process-util.h"
#define WORKERS_MIN 1U
#define WORKERS_MAX 16U
diff --git a/src/login/logind-core.c b/src/login/logind-core.c
index adeba746f5..e338682f41 100644
--- a/src/login/logind-core.c
+++ b/src/login/logind-core.c
@@ -31,6 +31,7 @@
#include "fd-util.h"
#include "logind.h"
#include "parse-util.h"
+#include "process-util.h"
#include "strv.h"
#include "terminal-util.h"
#include "udev-util.h"
diff --git a/src/login/logind.c b/src/login/logind.c
index cbaaa48e5a..d15d4cec5b 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -29,17 +29,18 @@
#include "alloc-util.h"
#include "bus-error.h"
#include "bus-util.h"
+#include "cgroup-util.h"
#include "conf-parser.h"
#include "def.h"
#include "dirent-util.h"
#include "fd-util.h"
#include "format-util.h"
#include "logind.h"
+#include "process-util.h"
#include "selinux-util.h"
#include "signal-util.h"
#include "strv.h"
#include "udev-util.h"
-#include "cgroup-util.h"
static void manager_free(Manager *m);
diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
index 4597a7feeb..4fc9b610af 100644
--- a/src/network/netdev/tuntap.c
+++ b/src/network/netdev/tuntap.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
#include
diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c
index 9220b3200f..2a2f50e345 100644
--- a/src/network/netdev/veth.c
+++ b/src/network/netdev/veth.c
@@ -18,8 +18,9 @@
along with systemd; If not, see .
***/
-#include
+#include
#include
+#include
#include "sd-netlink.h"
diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c
index 3a0100d7e6..e7c0e7602a 100644
--- a/src/network/netdev/vlan.c
+++ b/src/network/netdev/vlan.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
diff --git a/src/nspawn/nspawn-settings.h b/src/nspawn/nspawn-settings.h
index c0c5a153b0..10b8a63052 100644
--- a/src/nspawn/nspawn-settings.h
+++ b/src/nspawn/nspawn-settings.h
@@ -22,6 +22,8 @@
#include
+#include "sd-id128.h"
+
#include "macro.h"
#include "nspawn-expose-ports.h"
#include "nspawn-mount.h"
diff --git a/src/nspawn/nspawn-setuid.c b/src/nspawn/nspawn-setuid.c
index cb1be273f4..b08bcd988a 100644
--- a/src/nspawn/nspawn-setuid.c
+++ b/src/nspawn/nspawn-setuid.c
@@ -23,6 +23,7 @@
#include
#include "alloc-util.h"
+#include "errno.h"
#include "fd-util.h"
#include "mkdir.h"
#include "nspawn-setuid.h"
diff --git a/src/partition/makefs.c b/src/partition/makefs.c
index 2ed31ac7ab..a957967dfe 100644
--- a/src/partition/makefs.c
+++ b/src/partition/makefs.c
@@ -28,6 +28,7 @@
#include "alloc-util.h"
#include "dissect-image.h"
+#include "process-util.h"
#include "signal-util.h"
#include "string-util.h"
diff --git a/src/resolve/dns-type.c b/src/resolve/dns-type.c
index 347252a90f..0c366b5e8e 100644
--- a/src/resolve/dns-type.c
+++ b/src/resolve/dns-type.c
@@ -19,6 +19,7 @@
***/
#include
+#include
#include "dns-type.h"
#include "parse-util.h"
diff --git a/src/resolve/test-dns-packet.c b/src/resolve/test-dns-packet.c
index 458c908fad..c1f118fecc 100644
--- a/src/resolve/test-dns-packet.c
+++ b/src/resolve/test-dns-packet.c
@@ -21,6 +21,8 @@
#include
#include
+#include "sd-id128.h"
+
#include "alloc-util.h"
#include "fileio.h"
#include "glob-util.h"
diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c
index 4f255f620b..9c3bdd47de 100644
--- a/src/shared/bootspec.c
+++ b/src/shared/bootspec.c
@@ -20,6 +20,8 @@
#include
#include
+#include "sd-id128.h"
+
#include "alloc-util.h"
#include "blkid-util.h"
#include "bootspec.h"
diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c
index 35b2c56555..1f0579f548 100644
--- a/src/shared/dissect-image.c
+++ b/src/shared/dissect-image.c
@@ -22,6 +22,8 @@
#include
#include
+#include "sd-id128.h"
+
#include "architecture.h"
#include "ask-password-api.h"
#include "blkid-util.h"
diff --git a/src/shared/dissect-image.h b/src/shared/dissect-image.h
index 53a1554a28..10e251ff09 100644
--- a/src/shared/dissect-image.h
+++ b/src/shared/dissect-image.h
@@ -22,6 +22,8 @@
#include
+#include "sd-id128.h"
+
#include "macro.h"
typedef struct DissectedImage DissectedImage;
diff --git a/src/shared/loop-util.c b/src/shared/loop-util.c
index 097de690e5..37b8479f88 100644
--- a/src/shared/loop-util.c
+++ b/src/shared/loop-util.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
#include
diff --git a/src/shared/test-tables.h b/src/shared/test-tables.h
index 6b223b1ee5..dd8bf0b582 100644
--- a/src/shared/test-tables.h
+++ b/src/shared/test-tables.h
@@ -20,6 +20,7 @@
#include
#include
+#include
typedef const char* (*lookup_t)(int);
typedef int (*reverse_t)(const char*);
diff --git a/src/shared/volatile-util.c b/src/shared/volatile-util.c
index 85512d00af..c92ad0adc0 100644
--- a/src/shared/volatile-util.c
+++ b/src/shared/volatile-util.c
@@ -18,6 +18,8 @@
along with systemd; If not, see .
***/
+#include
+
#include "alloc-util.h"
#include "macro.h"
#include "parse-util.h"
diff --git a/src/test/test-cgroup.c b/src/test/test-cgroup.c
index 2ae95db162..b2440fc3a9 100644
--- a/src/test/test-cgroup.c
+++ b/src/test/test-cgroup.c
@@ -23,6 +23,7 @@
#include "cgroup-util.h"
#include "path-util.h"
+#include "process-util.h"
#include "string-util.h"
#include "util.h"
diff --git a/src/test/test-extract-word.c b/src/test/test-extract-word.c
index 84ab083e87..3e7c197cfe 100644
--- a/src/test/test-extract-word.c
+++ b/src/test/test-extract-word.c
@@ -19,6 +19,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
diff --git a/src/test/test-hash.c b/src/test/test-hash.c
index f3b4258d6b..0366727476 100644
--- a/src/test/test-hash.c
+++ b/src/test/test-hash.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include "alloc-util.h"
diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
index 4f19cb406f..3e25a0bac8 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -18,6 +18,8 @@
along with systemd; If not, see .
***/
+#include
+
#include "alloc-util.h"
#include "hexdecoct.h"
#include "macro.h"
diff --git a/src/test/test-log.c b/src/test/test-log.c
index 9468349cba..fd19899480 100644
--- a/src/test/test-log.c
+++ b/src/test/test-log.c
@@ -23,6 +23,7 @@
#include "format-util.h"
#include "log.h"
+#include "process-util.h"
#include "util.h"
assert_cc(LOG_REALM_REMOVE_LEVEL(LOG_REALM_PLUS_LEVEL(LOG_REALM_SYSTEMD, LOG_FTP | LOG_DEBUG))
diff --git a/src/test/test-ns.c b/src/test/test-ns.c
index 76e2b38b17..87b4facb85 100644
--- a/src/test/test-ns.c
+++ b/src/test/test-ns.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
diff --git a/src/test/test-parse-util.c b/src/test/test-parse-util.c
index 8259e133c3..9375002133 100644
--- a/src/test/test-parse-util.c
+++ b/src/test/test-parse-util.c
@@ -19,6 +19,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
diff --git a/src/test/test-signal-util.c b/src/test/test-signal-util.c
index 13a1d2ba1f..f4b19ed69d 100644
--- a/src/test/test-signal-util.c
+++ b/src/test/test-signal-util.c
@@ -23,6 +23,7 @@
#include "macro.h"
#include "signal-util.h"
+#include "process-util.h"
static void test_block_signals(void) {
sigset_t ss;
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
index cc07dc3634..aed6db8423 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
@@ -19,6 +19,7 @@
***/
#include
+#include
#include "time-util.h"
diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c
index 5b1574e8ea..d1ab7486ed 100644
--- a/src/test/test-socket-util.c
+++ b/src/test/test-socket-util.c
@@ -28,6 +28,7 @@
#include "in-addr-util.h"
#include "log.h"
#include "macro.h"
+#include "process-util.h"
#include "socket-util.h"
#include "string-util.h"
#include "util.h"
diff --git a/src/test/test-tmpfiles.c b/src/test/test-tmpfiles.c
index c479eccb8b..8e57fe0461 100644
--- a/src/test/test-tmpfiles.c
+++ b/src/test/test-tmpfiles.c
@@ -29,6 +29,7 @@
#include "format-util.h"
#include "fs-util.h"
#include "log.h"
+#include "process-util.h"
#include "string-util.h"
#include "util.h"
diff --git a/src/test/test-util.c b/src/test/test-util.c
index 2124511bf0..21d90f0888 100644
--- a/src/test/test-util.c
+++ b/src/test/test-util.c
@@ -28,6 +28,7 @@
#include "fileio.h"
#include "fs-util.h"
#include "parse-util.h"
+#include "process-util.h"
#include "raw-clone.h"
#include "rm-rf.h"
#include "string-util.h"
diff --git a/src/test/test-watchdog.c b/src/test/test-watchdog.c
index e068d1ddd4..ffcf408f57 100644
--- a/src/test/test-watchdog.c
+++ b/src/test/test-watchdog.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include "env-util.h"
diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
index d2648ead93..9dfb0d80de 100644
--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
@@ -417,8 +417,8 @@ static int wall_tty_block(void) {
if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
return log_oom();
- mkdir_parents_label(p, 0700);
- mkfifo(p, 0600);
+ (void) mkdir_parents_label(p, 0700);
+ (void) mkfifo(p, 0600);
fd = open(p, O_RDONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
if (fd < 0)
diff --git a/src/udev/udevadm-control.c b/src/udev/udevadm-control.c
index d80d61583d..9546a6ebaf 100644
--- a/src/udev/udevadm-control.c
+++ b/src/udev/udevadm-control.c
@@ -21,6 +21,7 @@
#include
#include
+#include "process-util.h"
#include "time-util.h"
#include "udev-util.h"
#include "udev.h"
diff --git a/src/veritysetup/veritysetup-generator.c b/src/veritysetup/veritysetup-generator.c
index c29c6f0bb3..24bee41243 100644
--- a/src/veritysetup/veritysetup-generator.c
+++ b/src/veritysetup/veritysetup-generator.c
@@ -18,6 +18,7 @@
along with systemd; If not, see .
***/
+#include
#include
#include
#include
diff --git a/src/veritysetup/veritysetup.c b/src/veritysetup/veritysetup.c
index d3066ca429..3b4e72bf9e 100644
--- a/src/veritysetup/veritysetup.c
+++ b/src/veritysetup/veritysetup.c
@@ -18,14 +18,15 @@
along with systemd; If not, see .
***/
+#include
#include
#include
-#include "crypt-util.h"
-#include "log.h"
-#include "hexdecoct.h"
-#include "string-util.h"
#include "alloc-util.h"
+#include "crypt-util.h"
+#include "hexdecoct.h"
+#include "log.h"
+#include "string-util.h"
static char *arg_root_hash = NULL;
static char *arg_data_what = NULL;