1
0
mirror of https://github.com/systemd/systemd synced 2026-04-22 23:15:20 +02:00

Compare commits

..

7 Commits

Author SHA1 Message Date
Alfonso Sánchez-Beato
178d598b5f sd-stub: do not print warning if filesystem is not supported
Do not print a warning in case we try to load the file system protocol for an
unsupported file system, just return EFI_SUCCESS instead.
2022-03-03 23:14:45 +00:00
Zbigniew Jędrzejewski-Szmek
f05a288135
Merge pull request #22644 from keszybz/meson-no-split
Use normal lists in meson instead of splitting on whitespace
2022-03-03 23:10:14 +01:00
Tobias Stoeckmann
1a823cdeb9 core: check size before mmap
The data type off_t can be 64 on 32 bit systems if they have large
file support. Since mmap expects a size_t with 32 bits as second
argument truncation could occur. At worst these huge files could
lead to mmaps smaller than the previous check for small files.

This in turn shouldn't have a lot of impact because mmap allocates
at page size boundaries. This also made the PAGE_ALIGN call in
open_mmap unneeded. In fact it was neither in sync with other mmap
calls nor with its own munmap counterpart in error path.

If such large files are encountered, which is very unlikely in these
code paths, treat them with the same error as if they are too small.
2022-03-03 22:48:43 +01:00
Lennart Poettering
94ce42bcb6 killall: show PID of processes killed in final killing spree
Let's show the PID of killed processes in all cases, to make debugging
easier.

See: https://lists.freedesktop.org/archives/systemd-devel/2022-March/047504.html
2022-03-03 22:45:47 +01:00
Zbigniew Jędrzejewski-Szmek
2f492a739c meson: move files' closing brace to separate line 2022-03-03 12:14:13 +01:00
Zbigniew Jędrzejewski-Szmek
b9acb5074e meson: use files() for libudevd_core_sources too
I'm not sure why a plain-text list was used in this case.
2022-03-02 14:52:50 +01:00
Zbigniew Jędrzejewski-Szmek
f1b98127ff meson: do not use split() in file lists
The approach to use '''…'''.split() instead of a list of strings was initially
used when converting from automake because it allowed identical blocks of lines
to be used for both, making the conversion easier.

But over the years we have been using normal lists more and more, especially
when there were just a few filenames listed. This converts the rest.

No functional change.
2022-03-02 14:49:32 +01:00
35 changed files with 1529 additions and 1513 deletions

View File

@ -1,19 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
in_files = ''' in_files = [
systemd.bg.catalog 'systemd.bg.catalog',
systemd.be.catalog 'systemd.be.catalog',
systemd.be@latin.catalog 'systemd.be@latin.catalog',
systemd.de.catalog 'systemd.de.catalog',
systemd.fr.catalog 'systemd.fr.catalog',
systemd.it.catalog 'systemd.it.catalog',
systemd.pl.catalog 'systemd.pl.catalog',
systemd.pt_BR.catalog 'systemd.pt_BR.catalog',
systemd.ru.catalog 'systemd.ru.catalog',
systemd.zh_CN.catalog 'systemd.zh_CN.catalog',
systemd.zh_TW.catalog 'systemd.zh_TW.catalog',
systemd.catalog 'systemd.catalog']
'''.split()
support_url = get_option('support-url') support_url = get_option('support-url')
support_sed = 's~%SUPPORT_URL%~@0@~'.format(support_url) support_sed = 's~%SUPPORT_URL%~@0@~'.format(support_url)

View File

@ -3,39 +3,37 @@
# Those files right now are not supported by the grammar. Also, # Those files right now are not supported by the grammar. Also,
# they are very long but quite repetitive and the parser is not very fast. # they are very long but quite repetitive and the parser is not very fast.
# So we don't "test" them. # So we don't "test" them.
hwdb_files_notest = files(''' hwdb_files_notest = files(
README 'README',
20-dmi-id.hwdb '20-dmi-id.hwdb',
20-pci-vendor-model.hwdb '20-pci-vendor-model.hwdb',
20-pci-classes.hwdb '20-pci-classes.hwdb',
20-usb-vendor-model.hwdb '20-usb-vendor-model.hwdb',
20-usb-classes.hwdb '20-usb-classes.hwdb',
20-sdio-vendor-model.hwdb '20-sdio-vendor-model.hwdb',
20-sdio-classes.hwdb '20-sdio-classes.hwdb',
20-bluetooth-vendor-product.hwdb '20-bluetooth-vendor-product.hwdb',
20-acpi-vendor.hwdb '20-acpi-vendor.hwdb',
20-OUI.hwdb '20-OUI.hwdb',
20-net-ifname.hwdb '20-net-ifname.hwdb',
20-vmbus-class.hwdb '20-vmbus-class.hwdb')
'''.split())
hwdb_files_test = files(''' hwdb_files_test = files(
60-autosuspend.hwdb '60-autosuspend.hwdb',
60-autosuspend-fingerprint-reader.hwdb '60-autosuspend-fingerprint-reader.hwdb',
60-evdev.hwdb '60-evdev.hwdb',
60-input-id.hwdb '60-input-id.hwdb',
60-keyboard.hwdb '60-keyboard.hwdb',
60-seat.hwdb '60-seat.hwdb',
60-sensor.hwdb '60-sensor.hwdb',
70-analyzers.hwdb '70-analyzers.hwdb',
70-cameras.hwdb '70-cameras.hwdb',
70-joystick.hwdb '70-joystick.hwdb',
70-mouse.hwdb '70-mouse.hwdb',
70-pda.hwdb '70-pda.hwdb',
70-pointingstick.hwdb '70-pointingstick.hwdb',
70-touchpad.hwdb '70-touchpad.hwdb',
80-ieee1394-unit-function.hwdb '80-ieee1394-unit-function.hwdb')
'''.split())
if conf.get('ENABLE_HWDB') == 1 if conf.get('ENABLE_HWDB') == 1
auto_suspend_rules = custom_target( auto_suspend_rules = custom_target(

View File

@ -4,31 +4,30 @@ install_data(
'README', 'README',
install_dir : udevrulesdir) install_dir : udevrulesdir)
rules = files(''' rules = files(
60-autosuspend.rules '60-autosuspend.rules',
60-block.rules '60-block.rules',
60-cdrom_id.rules '60-cdrom_id.rules',
60-drm.rules '60-drm.rules',
60-evdev.rules '60-evdev.rules',
60-fido-id.rules '60-fido-id.rules',
60-input-id.rules '60-input-id.rules',
60-persistent-alsa.rules '60-persistent-alsa.rules',
60-persistent-input.rules '60-persistent-input.rules',
60-persistent-storage.rules '60-persistent-storage.rules',
60-persistent-storage-tape.rules '60-persistent-storage-tape.rules',
60-persistent-v4l.rules '60-persistent-v4l.rules',
60-sensor.rules '60-sensor.rules',
60-serial.rules '60-serial.rules',
70-camera.rules '70-camera.rules',
70-joystick.rules '70-joystick.rules',
70-mouse.rules '70-mouse.rules',
70-touchpad.rules '70-touchpad.rules',
75-net-description.rules '75-net-description.rules',
75-probe_mtd.rules '75-probe_mtd.rules',
78-sound-card.rules '78-sound-card.rules',
80-net-setup-link.rules '80-net-setup-link.rules',
81-net-dhcp.rules '81-net-dhcp.rules')
'''.split())
if conf.get('HAVE_KMOD') == 1 if conf.get('HAVE_KMOD') == 1
rules += files('80-drivers.rules') rules += files('80-drivers.rules')

View File

@ -1,56 +1,55 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_analyze_sources = files(''' systemd_analyze_sources = files(
analyze-blame.c 'analyze-blame.c',
analyze-blame.h 'analyze-blame.h',
analyze-calendar.c 'analyze-calendar.c',
analyze-calendar.h 'analyze-calendar.h',
analyze-capability.c 'analyze-capability.c',
analyze-capability.h 'analyze-capability.h',
analyze-cat-config.c 'analyze-cat-config.c',
analyze-cat-config.h 'analyze-cat-config.h',
analyze-condition.c 'analyze-condition.c',
analyze-condition.h 'analyze-condition.h',
analyze-critical-chain.c 'analyze-critical-chain.c',
analyze-critical-chain.h 'analyze-critical-chain.h',
analyze-dot.c 'analyze-dot.c',
analyze-dot.h 'analyze-dot.h',
analyze-dump.c 'analyze-dump.c',
analyze-dump.h 'analyze-dump.h',
analyze-exit-status.c 'analyze-exit-status.c',
analyze-exit-status.h 'analyze-exit-status.h',
analyze-filesystems.c 'analyze-filesystems.c',
analyze-filesystems.h 'analyze-filesystems.h',
analyze-inspect-elf.c 'analyze-inspect-elf.c',
analyze-inspect-elf.h 'analyze-inspect-elf.h',
analyze-log-control.c 'analyze-log-control.c',
analyze-log-control.h 'analyze-log-control.h',
analyze-plot.c 'analyze-plot.c',
analyze-plot.h 'analyze-plot.h',
analyze-security.c 'analyze-security.c',
analyze-security.h 'analyze-security.h',
analyze-service-watchdogs.c 'analyze-service-watchdogs.c',
analyze-service-watchdogs.h 'analyze-service-watchdogs.h',
analyze-syscall-filter.c 'analyze-syscall-filter.c',
analyze-syscall-filter.h 'analyze-syscall-filter.h',
analyze-time.c 'analyze-time.c',
analyze-time.h 'analyze-time.h',
analyze-time-data.c 'analyze-time-data.c',
analyze-time-data.h 'analyze-time-data.h',
analyze-timespan.c 'analyze-timespan.c',
analyze-timespan.h 'analyze-timespan.h',
analyze-timestamp.c 'analyze-timestamp.c',
analyze-timestamp.h 'analyze-timestamp.h',
analyze-unit-files.c 'analyze-unit-files.c',
analyze-unit-files.h 'analyze-unit-files.h',
analyze-unit-paths.c 'analyze-unit-paths.c',
analyze-unit-paths.h 'analyze-unit-paths.h',
analyze-verify.c 'analyze-verify.c',
analyze-verify.h 'analyze-verify.h',
analyze-verify-util.c 'analyze-verify-util.c',
analyze-verify-util.h 'analyze-verify-util.h',
analyze.c 'analyze.c')
'''.split())
tests += [ tests += [
[files('test-verify.c', [files('test-verify.c',

View File

@ -110,6 +110,12 @@ typedef enum ReadLineFlags {
int read_line_full(FILE *f, size_t limit, ReadLineFlags flags, char **ret); int read_line_full(FILE *f, size_t limit, ReadLineFlags flags, char **ret);
static inline bool file_offset_beyond_memory_size(off_t x) {
if (x < 0) /* off_t is signed, filter that out */
return false;
return (uint64_t) x > (uint64_t) SIZE_MAX;
}
static inline int read_line(FILE *f, size_t limit, char **ret) { static inline int read_line(FILE *f, size_t limit, char **ret) {
return read_line_full(f, limit, 0, ret); return read_line_full(f, limit, 0, ret);
} }

View File

@ -14,6 +14,7 @@
#include "dirent-util.h" #include "dirent-util.h"
#include "env-util.h" #include "env-util.h"
#include "fd-util.h" #include "fd-util.h"
#include "fileio.h"
#include "hashmap.h" #include "hashmap.h"
#include "locale-util.h" #include "locale-util.h"
#include "path-util.h" #include "path-util.h"
@ -112,6 +113,9 @@ static int add_locales_from_archive(Set *locales) {
if (st.st_size < (off_t) sizeof(struct locarhead)) if (st.st_size < (off_t) sizeof(struct locarhead))
return -EBADMSG; return -EBADMSG;
if (file_offset_beyond_memory_size(st.st_size))
return -EFBIG;
p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (p == MAP_FAILED) if (p == MAP_FAILED)
return -errno; return -errno;

View File

@ -1,263 +1,262 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
basic_sources = files(''' basic_sources = files(
MurmurHash2.c 'MurmurHash2.c',
MurmurHash2.h 'MurmurHash2.h',
af-list.c 'af-list.c',
af-list.h 'af-list.h',
alloc-util.c 'alloc-util.c',
alloc-util.h 'alloc-util.h',
architecture.c 'architecture.c',
architecture.h 'architecture.h',
arphrd-util.c 'arphrd-util.c',
arphrd-util.h 'arphrd-util.h',
async.c 'async.c',
async.h 'async.h',
audit-util.c 'audit-util.c',
audit-util.h 'audit-util.h',
build.c 'build.c',
build.h 'build.h',
bus-label.c 'bus-label.c',
bus-label.h 'bus-label.h',
cap-list.c 'cap-list.c',
cap-list.h 'cap-list.h',
capability-util.c 'capability-util.c',
capability-util.h 'capability-util.h',
cgroup-util.c 'cgroup-util.c',
cgroup-util.h 'cgroup-util.h',
chase-symlinks.c 'chase-symlinks.c',
chase-symlinks.h 'chase-symlinks.h',
chattr-util.c 'chattr-util.c',
chattr-util.h 'chattr-util.h',
conf-files.c 'conf-files.c',
conf-files.h 'conf-files.h',
def.h 'def.h',
dirent-util.c 'dirent-util.c',
dirent-util.h 'dirent-util.h',
dns-def.h 'dns-def.h',
efivars.c 'efivars.c',
efivars.h 'efivars.h',
env-file.c 'env-file.c',
env-file.h 'env-file.h',
env-util.c 'env-util.c',
env-util.h 'env-util.h',
errno-list.c 'errno-list.c',
errno-list.h 'errno-list.h',
errno-util.h 'errno-util.h',
escape.c 'escape.c',
escape.h 'escape.h',
ether-addr-util.c 'ether-addr-util.c',
ether-addr-util.h 'ether-addr-util.h',
extract-word.c 'extract-word.c',
extract-word.h 'extract-word.h',
fd-util.c 'fd-util.c',
fd-util.h 'fd-util.h',
fileio.c 'fileio.c',
fileio.h 'fileio.h',
filesystems.c 'filesystems.c',
filesystems.h 'filesystems.h',
format-util.c 'format-util.c',
format-util.h 'format-util.h',
fs-util.c 'fs-util.c',
fs-util.h 'fs-util.h',
glob-util.c 'glob-util.c',
glob-util.h 'glob-util.h',
glyph-util.c 'glyph-util.c',
glyph-util.h 'glyph-util.h',
gunicode.c 'gunicode.c',
gunicode.h 'gunicode.h',
hash-funcs.c 'hash-funcs.c',
hash-funcs.h 'hash-funcs.h',
hashmap.c 'hashmap.c',
hashmap.h 'hashmap.h',
hexdecoct.c 'hexdecoct.c',
hexdecoct.h 'hexdecoct.h',
hmac.c 'hmac.c',
hmac.h 'hmac.h',
hostname-util.c 'hostname-util.c',
hostname-util.h 'hostname-util.h',
in-addr-util.c 'in-addr-util.c',
in-addr-util.h 'in-addr-util.h',
inotify-util.c 'inotify-util.c',
inotify-util.h 'inotify-util.h',
io-util.c 'io-util.c',
io-util.h 'io-util.h',
ioprio-util.c 'ioprio-util.c',
ioprio-util.h 'ioprio-util.h',
limits-util.c 'limits-util.c',
limits-util.h 'limits-util.h',
linux/btrfs.h 'linux/btrfs.h',
linux/btrfs_tree.h 'linux/btrfs_tree.h',
linux/can/netlink.h 'linux/can/netlink.h',
linux/can/vxcan.h 'linux/can/vxcan.h',
linux/cfm_bridge.h 'linux/cfm_bridge.h',
linux/fib_rules.h 'linux/fib_rules.h',
linux/fou.h 'linux/fou.h',
linux/genetlink.h 'linux/genetlink.h',
linux/hdlc/ioctl.h 'linux/hdlc/ioctl.h',
linux/if.h 'linux/if.h',
linux/if_addr.h 'linux/if_addr.h',
linux/if_bonding.h 'linux/if_bonding.h',
linux/if_bridge.h 'linux/if_bridge.h',
linux/if_ether.h 'linux/if_ether.h',
linux/if_link.h 'linux/if_link.h',
linux/if_macsec.h 'linux/if_macsec.h',
linux/if_tun.h 'linux/if_tun.h',
linux/if_tunnel.h 'linux/if_tunnel.h',
linux/in.h 'linux/in.h',
linux/in6.h 'linux/in6.h',
linux/ipv6_route.h 'linux/ipv6_route.h',
linux/l2tp.h 'linux/l2tp.h',
linux/libc-compat.h 'linux/libc-compat.h',
linux/mrp_bridge.h 'linux/mrp_bridge.h',
linux/netdevice.h 'linux/netdevice.h',
linux/netfilter/nf_tables.h 'linux/netfilter/nf_tables.h',
linux/netfilter/nfnetlink.h 'linux/netfilter/nfnetlink.h',
linux/netlink.h 'linux/netlink.h',
linux/nexthop.h 'linux/nexthop.h',
linux/nl80211.h 'linux/nl80211.h',
linux/pkt_sched.h 'linux/pkt_sched.h',
linux/rtnetlink.h 'linux/rtnetlink.h',
linux/wireguard.h 'linux/wireguard.h',
list.h 'list.h',
locale-util.c 'locale-util.c',
locale-util.h 'locale-util.h',
log.c 'log.c',
log.h 'log.h',
login-util.c 'login-util.c',
login-util.h 'login-util.h',
macro.h 'macro.h',
memfd-util.c 'memfd-util.c',
memfd-util.h 'memfd-util.h',
memory-util.c 'memory-util.c',
memory-util.h 'memory-util.h',
mempool.c 'mempool.c',
mempool.h 'mempool.h',
missing_audit.h 'missing_audit.h',
missing_capability.h 'missing_capability.h',
missing_drm.h 'missing_drm.h',
missing_fcntl.h 'missing_fcntl.h',
missing_fs.h 'missing_fs.h',
missing_input.h 'missing_input.h',
missing_ioprio.h 'missing_ioprio.h',
missing_keyctl.h 'missing_keyctl.h',
missing_magic.h 'missing_magic.h',
missing_mman.h 'missing_mman.h',
missing_mount.h 'missing_mount.h',
missing_network.h 'missing_network.h',
missing_prctl.h 'missing_prctl.h',
missing_random.h 'missing_random.h',
missing_resource.h 'missing_resource.h',
missing_sched.h 'missing_sched.h',
missing_securebits.h 'missing_securebits.h',
missing_socket.h 'missing_socket.h',
missing_stat.h 'missing_stat.h',
missing_stdlib.h 'missing_stdlib.h',
missing_syscall.h 'missing_syscall.h',
missing_timerfd.h 'missing_timerfd.h',
missing_type.h 'missing_type.h',
mkdir.c 'mkdir.c',
mkdir.h 'mkdir.h',
mountpoint-util.c 'mountpoint-util.c',
mountpoint-util.h 'mountpoint-util.h',
namespace-util.c 'namespace-util.c',
namespace-util.h 'namespace-util.h',
nss-util.h 'nss-util.h',
nulstr-util.c 'nulstr-util.c',
nulstr-util.h 'nulstr-util.h',
ordered-set.c 'ordered-set.c',
ordered-set.h 'ordered-set.h',
os-util.c 'os-util.c',
os-util.h 'os-util.h',
parse-util.c 'parse-util.c',
parse-util.h 'parse-util.h',
path-lookup.c 'path-lookup.c',
path-lookup.h 'path-lookup.h',
path-util.c 'path-util.c',
path-util.h 'path-util.h',
percent-util.c 'percent-util.c',
percent-util.h 'percent-util.h',
prioq.c 'prioq.c',
prioq.h 'prioq.h',
proc-cmdline.c 'proc-cmdline.c',
proc-cmdline.h 'proc-cmdline.h',
process-util.c 'process-util.c',
process-util.h 'process-util.h',
procfs-util.c 'procfs-util.c',
procfs-util.h 'procfs-util.h',
pthread-util.h 'pthread-util.h',
random-util.c 'random-util.c',
random-util.h 'random-util.h',
ratelimit.c 'ratelimit.c',
ratelimit.h 'ratelimit.h',
raw-clone.h 'raw-clone.h',
raw-reboot.h 'raw-reboot.h',
recovery-key.c 'recovery-key.c',
recovery-key.h 'recovery-key.h',
recurse-dir.c 'recurse-dir.c',
recurse-dir.h 'recurse-dir.h',
replace-var.c 'replace-var.c',
replace-var.h 'replace-var.h',
rlimit-util.c 'rlimit-util.c',
rlimit-util.h 'rlimit-util.h',
set.h 'set.h',
sigbus.c 'sigbus.c',
sigbus.h 'sigbus.h',
signal-util.c 'signal-util.c',
signal-util.h 'signal-util.h',
siphash24.c 'siphash24.c',
siphash24.h 'siphash24.h',
socket-util.c 'socket-util.c',
socket-util.h 'socket-util.h',
sort-util.c 'sort-util.c',
sort-util.h 'sort-util.h',
sparse-endian.h 'sparse-endian.h',
special.h 'special.h',
stat-util.c 'stat-util.c',
stat-util.h 'stat-util.h',
static-destruct.h 'static-destruct.h',
stdio-util.h 'stdio-util.h',
strbuf.c 'strbuf.c',
strbuf.h 'strbuf.h',
string-table.c 'string-table.c',
string-table.h 'string-table.h',
string-util.c 'string-util.c',
string-util.h 'string-util.h',
strv.c 'strv.c',
strv.h 'strv.h',
strxcpyx.c 'strxcpyx.c',
strxcpyx.h 'strxcpyx.h',
sync-util.c 'sync-util.c',
sync-util.h 'sync-util.h',
sysctl-util.c 'sysctl-util.c',
sysctl-util.h 'sysctl-util.h',
syslog-util.c 'syslog-util.c',
syslog-util.h 'syslog-util.h',
terminal-util.c 'terminal-util.c',
terminal-util.h 'terminal-util.h',
time-util.c 'time-util.c',
time-util.h 'time-util.h',
tmpfile-util.c 'tmpfile-util.c',
tmpfile-util.h 'tmpfile-util.h',
umask-util.h 'umask-util.h',
unaligned.h 'unaligned.h',
unit-def.c 'unit-def.c',
unit-def.h 'unit-def.h',
unit-file.c 'unit-file.c',
unit-file.h 'unit-file.h',
unit-name.c 'unit-name.c',
unit-name.h 'unit-name.h',
user-util.c 'user-util.c',
user-util.h 'user-util.h',
utf8.c 'utf8.c',
utf8.h 'utf8.h',
util.c 'util.c',
util.h 'util.h',
virt.c 'virt.c',
virt.h 'virt.h',
xattr-util.c 'xattr-util.c',
xattr-util.h 'xattr-util.h')
'''.split())
missing_audit_h = files('missing_audit.h') missing_audit_h = files('missing_audit.h')
missing_capability_h = files('missing_capability.h') missing_capability_h = files('missing_capability.h')

View File

@ -219,7 +219,7 @@ static int get_file_version(int fd, char **v) {
if (r < 0) if (r < 0)
return log_error_errno(r, "EFI binary is not a regular file: %m"); return log_error_errno(r, "EFI binary is not a regular file: %m");
if (st.st_size < 27) { if (st.st_size < 27 || file_offset_beyond_memory_size(st.st_size)) {
*v = NULL; *v = NULL;
return 0; return 0;
} }

View File

@ -324,6 +324,7 @@ EFI_STATUS pack_cpio(
_cleanup_freepool_ void *buffer = NULL; _cleanup_freepool_ void *buffer = NULL;
UINT32 inode = 1; /* inode counter, so that each item gets a new inode */ UINT32 inode = 1; /* inode counter, so that each item gets a new inode */
EFI_STATUS err; EFI_STATUS err;
EFI_FILE_IO_INTERFACE *volume;
assert(loaded_image); assert(loaded_image);
assert(target_dir_prefix); assert(target_dir_prefix);
@ -336,9 +337,24 @@ EFI_STATUS pack_cpio(
return EFI_SUCCESS; return EFI_SUCCESS;
} }
root = LibOpenRoot(loaded_image->DeviceHandle); err = BS->HandleProtocol(loaded_image->DeviceHandle,
if (!root) &FileSystemProtocol, (void*)&volume);
return log_error_status_stall(EFI_LOAD_ERROR, L"Unable to open root directory."); /* Error will be unsupported if the bootloader doesn't implement the
* file system protocol on its file handles.
*/
if (err == EFI_UNSUPPORTED) {
*ret_buffer = NULL;
*ret_buffer_size = 0;
return EFI_SUCCESS;
}
if (EFI_ERROR(err))
return log_error_status_stall(
err, L"Unable to load file system protocol: %r", err);
err = volume->OpenVolume(volume, &root);
if (EFI_ERROR(err))
return log_error_status_stall(
err, L"Unable to open root directory: %r", err);
if (!dropin_dir) if (!dropin_dir)
dropin_dir = rel_dropin_dir = xpool_print(L"%D.extra.d", loaded_image->FilePath); dropin_dir = rel_dropin_dir = xpool_print(L"%D.extra.d", loaded_image->FilePath);

View File

@ -1,10 +1,9 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_coredump_sources = files(''' systemd_coredump_sources = files(
coredump.c 'coredump.c',
coredump-vacuum.c 'coredump-vacuum.c',
coredump-vacuum.h 'coredump-vacuum.h')
'''.split())
coredumpctl_sources = files('coredumpctl.c') coredumpctl_sources = files('coredumpctl.c')

View File

@ -2,30 +2,30 @@
home_includes = [includes, include_directories('.')] home_includes = [includes, include_directories('.')]
systemd_homework_sources = files(''' systemd_homework_sources = files(
home-util.c 'home-util.c',
home-util.h 'home-util.h',
homework-cifs.c 'homework-cifs.c',
homework-cifs.h 'homework-cifs.h',
homework-directory.c 'homework-directory.c',
homework-directory.h 'homework-directory.h',
homework-fido2.h 'homework-fido2.h',
homework-fscrypt.c 'homework-fscrypt.c',
homework-fscrypt.h 'homework-fscrypt.h',
homework-luks.c 'homework-luks.c',
homework-luks.h 'homework-luks.h',
homework-mount.c 'homework-mount.c',
homework-mount.h 'homework-mount.h',
homework-password-cache.c 'homework-password-cache.c',
homework-password-cache.h 'homework-password-cache.h',
homework-pkcs11.h 'homework-pkcs11.h',
homework-quota.c 'homework-quota.c',
homework-quota.h 'homework-quota.h',
homework.c 'homework.c',
homework.h 'homework.h',
user-record-util.c 'user-record-util.c',
user-record-util.h 'user-record-util.h',
'''.split()) )
if conf.get('HAVE_P11KIT') == 1 if conf.get('HAVE_P11KIT') == 1
systemd_homework_sources += files('homework-pkcs11.c') systemd_homework_sources += files('homework-pkcs11.c')
@ -34,33 +34,33 @@ if conf.get('HAVE_LIBFIDO2') == 1
systemd_homework_sources += files('homework-fido2.c') systemd_homework_sources += files('homework-fido2.c')
endif endif
systemd_homed_sources = files(''' systemd_homed_sources = files(
home-util.c 'home-util.c',
home-util.h 'home-util.h',
homed-bus.c 'homed-bus.c',
homed-bus.h 'homed-bus.h',
homed-conf.c 'homed-conf.c',
homed-conf.h 'homed-conf.h',
homed-home-bus.c 'homed-home-bus.c',
homed-home-bus.h 'homed-home-bus.h',
homed-home.c 'homed-home.c',
homed-home.h 'homed-home.h',
homed-manager-bus.c 'homed-manager-bus.c',
homed-manager-bus.h 'homed-manager-bus.h',
homed-manager.c 'homed-manager.c',
homed-manager.h 'homed-manager.h',
homed-operation.c 'homed-operation.c',
homed-operation.h 'homed-operation.h',
homed-varlink.c 'homed-varlink.c',
homed-varlink.h 'homed-varlink.h',
homed.c 'homed.c',
user-record-pwquality.c 'user-record-pwquality.c',
user-record-pwquality.h 'user-record-pwquality.h',
user-record-sign.c 'user-record-sign.c',
user-record-sign.h 'user-record-sign.h',
user-record-util.c 'user-record-util.c',
user-record-util.h 'user-record-util.h',
'''.split()) )
homed_gperf_c = custom_target( homed_gperf_c = custom_target(
'homed_gperf.c', 'homed_gperf.c',
@ -70,30 +70,30 @@ homed_gperf_c = custom_target(
systemd_homed_sources += [homed_gperf_c] systemd_homed_sources += [homed_gperf_c]
homectl_sources = files(''' homectl_sources = files(
home-util.c 'home-util.c',
home-util.h 'home-util.h',
homectl-fido2.c 'homectl-fido2.c',
homectl-fido2.h 'homectl-fido2.h',
homectl-pkcs11.c 'homectl-pkcs11.c',
homectl-pkcs11.h 'homectl-pkcs11.h',
homectl-recovery-key.c 'homectl-recovery-key.c',
homectl-recovery-key.h 'homectl-recovery-key.h',
homectl.c 'homectl.c',
user-record-pwquality.c 'user-record-pwquality.c',
user-record-pwquality.h 'user-record-pwquality.h',
user-record-util.c 'user-record-util.c',
user-record-util.h 'user-record-util.h',
'''.split()) )
pam_systemd_home_sym = 'src/home/pam_systemd_home.sym' pam_systemd_home_sym = 'src/home/pam_systemd_home.sym'
pam_systemd_home_c = files(''' pam_systemd_home_c = files(
home-util.c 'home-util.c',
home-util.h 'home-util.h',
pam_systemd_home.c 'pam_systemd_home.c',
user-record-util.c 'user-record-util.c',
user-record-util.h 'user-record-util.h',
'''.split()) )
if conf.get('ENABLE_HOMED') == 1 if conf.get('ENABLE_HOMED') == 1
install_data('org.freedesktop.home1.conf', install_data('org.freedesktop.home1.conf',

View File

@ -1,24 +1,25 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_journal_upload_sources = files(''' systemd_journal_upload_sources = files(
journal-upload.h 'journal-upload.h',
journal-upload.c 'journal-upload.c',
journal-upload-journal.c 'journal-upload-journal.c',
'''.split()) )
libsystemd_journal_remote_sources = files(''' libsystemd_journal_remote_sources = files(
journal-remote-parse.h 'journal-remote-parse.h',
journal-remote-parse.c 'journal-remote-parse.c',
journal-remote-write.h 'journal-remote-write.h',
journal-remote-write.c 'journal-remote-write.c',
journal-remote.h 'journal-remote.h',
journal-remote.c 'journal-remote.c',
'''.split()) )
if conf.get('HAVE_MICROHTTPD') == 1 if conf.get('HAVE_MICROHTTPD') == 1
libsystemd_journal_remote_sources += files( libsystemd_journal_remote_sources += files(
'microhttpd-util.h', 'microhttpd-util.h',
'microhttpd-util.c') 'microhttpd-util.c',
)
endif endif
libsystemd_journal_remote = static_library( libsystemd_journal_remote = static_library(
@ -33,15 +34,13 @@ libsystemd_journal_remote = static_library(
liblz4], liblz4],
build_by_default : false) build_by_default : false)
systemd_journal_remote_sources = files(''' systemd_journal_remote_sources = files('journal-remote-main.c')
journal-remote-main.c
'''.split())
systemd_journal_gatewayd_sources = files(''' systemd_journal_gatewayd_sources = files(
journal-gatewayd.c 'journal-gatewayd.c',
microhttpd-util.h 'microhttpd-util.h',
microhttpd-util.c 'microhttpd-util.c',
'''.split()) )
in_files = [ in_files = [
['journal-upload.conf', ['journal-upload.conf',

View File

@ -1,29 +1,29 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
sources = files(''' sources = files(
journald-audit.c 'journald-audit.c',
journald-audit.h 'journald-audit.h',
journald-console.c 'journald-console.c',
journald-console.h 'journald-console.h',
journald-context.c 'journald-context.c',
journald-context.h 'journald-context.h',
journald-kmsg.c 'journald-kmsg.c',
journald-kmsg.h 'journald-kmsg.h',
journald-native.c 'journald-native.c',
journald-native.h 'journald-native.h',
journald-rate-limit.c 'journald-rate-limit.c',
journald-rate-limit.h 'journald-rate-limit.h',
journald-server.c 'journald-server.c',
journald-server.h 'journald-server.h',
journald-stream.c 'journald-stream.c',
journald-stream.h 'journald-stream.h',
journald-syslog.c 'journald-syslog.c',
journald-syslog.h 'journald-syslog.h',
journald-wall.c 'journald-wall.c',
journald-wall.h 'journald-wall.h',
managed-journal-file.c 'managed-journal-file.c',
managed-journal-file.h 'managed-journal-file.h',
'''.split()) )
sources += custom_target( sources += custom_target(
'journald-gperf.c', 'journald-gperf.c',
@ -40,16 +40,14 @@ libjournal_core = static_library(
journal_includes = [includes, include_directories('.')] journal_includes = [includes, include_directories('.')]
systemd_journald_sources = files(''' systemd_journald_sources = files(
journald.c 'journald.c',
journald-server.h 'journald-server.h',
'''.split()) )
systemd_cat_sources = files('cat.c') systemd_cat_sources = files('cat.c')
journalctl_sources = files(''' journalctl_sources = files('journalctl.c')
journalctl.c
'''.split())
if install_sysconfdir_samples if install_sysconfdir_samples
install_data('journald.conf', install_data('journald.conf',

View File

@ -1,52 +1,52 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
sources = files(''' sources = files(
arp-util.c 'arp-util.c',
arp-util.h 'arp-util.h',
dhcp-client-internal.h 'dhcp-client-internal.h',
dhcp-identifier.c 'dhcp-identifier.c',
dhcp-identifier.h 'dhcp-identifier.h',
dhcp-internal.h 'dhcp-internal.h',
dhcp-lease-internal.h 'dhcp-lease-internal.h',
dhcp-network.c 'dhcp-network.c',
dhcp-option.c 'dhcp-option.c',
dhcp-packet.c 'dhcp-packet.c',
dhcp-protocol.h 'dhcp-protocol.h',
dhcp-server-internal.h 'dhcp-server-internal.h',
dhcp6-internal.h 'dhcp6-internal.h',
dhcp6-lease-internal.h 'dhcp6-lease-internal.h',
dhcp6-network.c 'dhcp6-network.c',
dhcp6-option.c 'dhcp6-option.c',
dhcp6-option.h 'dhcp6-option.h',
dhcp6-protocol.c 'dhcp6-protocol.c',
dhcp6-protocol.h 'dhcp6-protocol.h',
icmp6-util.c 'icmp6-util.c',
icmp6-util.h 'icmp6-util.h',
lldp-neighbor.c 'lldp-neighbor.c',
lldp-neighbor.h 'lldp-neighbor.h',
lldp-network.c 'lldp-network.c',
lldp-network.h 'lldp-network.h',
lldp-rx-internal.h 'lldp-rx-internal.h',
ndisc-internal.h 'ndisc-internal.h',
ndisc-router.c 'ndisc-router.c',
ndisc-router.h 'ndisc-router.h',
network-common.c 'network-common.c',
network-common.h 'network-common.h',
network-internal.c 'network-internal.c',
network-internal.h 'network-internal.h',
radv-internal.h 'radv-internal.h',
sd-dhcp-client.c 'sd-dhcp-client.c',
sd-dhcp-lease.c 'sd-dhcp-lease.c',
sd-dhcp-server.c 'sd-dhcp-server.c',
sd-dhcp6-client.c 'sd-dhcp6-client.c',
sd-dhcp6-lease.c 'sd-dhcp6-lease.c',
sd-ipv4acd.c 'sd-ipv4acd.c',
sd-ipv4ll.c 'sd-ipv4ll.c',
sd-lldp-rx.c 'sd-lldp-rx.c',
sd-lldp-tx.c 'sd-lldp-tx.c',
sd-ndisc.c 'sd-ndisc.c',
sd-radv.c 'sd-radv.c',
'''.split()) )
libsystemd_network = static_library( libsystemd_network = static_library(
'systemd-network', 'systemd-network',

View File

@ -21,14 +21,16 @@ sd_journal_sources = files(
'sd-journal/lookup3.h', 'sd-journal/lookup3.h',
'sd-journal/mmap-cache.c', 'sd-journal/mmap-cache.c',
'sd-journal/mmap-cache.h', 'sd-journal/mmap-cache.h',
'sd-journal/sd-journal.c') 'sd-journal/sd-journal.c',
)
if conf.get('HAVE_GCRYPT') == 1 if conf.get('HAVE_GCRYPT') == 1
sd_journal_sources += files( sd_journal_sources += files(
'sd-journal/fsprg.c', 'sd-journal/fsprg.c',
'sd-journal/fsprg.h', 'sd-journal/fsprg.h',
'sd-journal/journal-authenticate.c', 'sd-journal/journal-authenticate.c',
'sd-journal/journal-authenticate.h') 'sd-journal/journal-authenticate.h',
)
endif endif
audit_type_includes = [config_h, audit_type_includes = [config_h,
@ -56,11 +58,11 @@ sd_journal_sources += [audit_type_to_name]
############################################################ ############################################################
id128_sources = files(''' id128_sources = files(
sd-id128/id128-util.c 'sd-id128/id128-util.c',
sd-id128/id128-util.h 'sd-id128/id128-util.h',
sd-id128/sd-id128.c 'sd-id128/sd-id128.c',
'''.split()) )
############################################################ ############################################################
@ -68,12 +70,12 @@ sd_daemon_sources = files('sd-daemon/sd-daemon.c')
############################################################ ############################################################
sd_event_sources = files(''' sd_event_sources = files(
sd-event/event-source.h 'sd-event/event-source.h',
sd-event/event-util.c 'sd-event/event-util.c',
sd-event/event-util.h 'sd-event/event-util.h',
sd-event/sd-event.c 'sd-event/sd-event.c',
'''.split()) )
############################################################ ############################################################
@ -81,84 +83,84 @@ sd_login_sources = files('sd-login/sd-login.c')
############################################################ ############################################################
libsystemd_sources = files(''' libsystemd_sources = files(
sd-bus/bus-common-errors.c 'sd-bus/bus-common-errors.c',
sd-bus/bus-common-errors.h 'sd-bus/bus-common-errors.h',
sd-bus/bus-container.c 'sd-bus/bus-container.c',
sd-bus/bus-container.h 'sd-bus/bus-container.h',
sd-bus/bus-control.c 'sd-bus/bus-control.c',
sd-bus/bus-control.h 'sd-bus/bus-control.h',
sd-bus/bus-convenience.c 'sd-bus/bus-convenience.c',
sd-bus/bus-creds.c 'sd-bus/bus-creds.c',
sd-bus/bus-creds.h 'sd-bus/bus-creds.h',
sd-bus/bus-dump.c 'sd-bus/bus-dump.c',
sd-bus/bus-dump.h 'sd-bus/bus-dump.h',
sd-bus/bus-error.c 'sd-bus/bus-error.c',
sd-bus/bus-error.h 'sd-bus/bus-error.h',
sd-bus/bus-gvariant.c 'sd-bus/bus-gvariant.c',
sd-bus/bus-gvariant.h 'sd-bus/bus-gvariant.h',
sd-bus/bus-internal.c 'sd-bus/bus-internal.c',
sd-bus/bus-internal.h 'sd-bus/bus-internal.h',
sd-bus/bus-introspect.c 'sd-bus/bus-introspect.c',
sd-bus/bus-introspect.h 'sd-bus/bus-introspect.h',
sd-bus/bus-kernel.c 'sd-bus/bus-kernel.c',
sd-bus/bus-kernel.h 'sd-bus/bus-kernel.h',
sd-bus/bus-match.c 'sd-bus/bus-match.c',
sd-bus/bus-match.h 'sd-bus/bus-match.h',
sd-bus/bus-message.c 'sd-bus/bus-message.c',
sd-bus/bus-message.h 'sd-bus/bus-message.h',
sd-bus/bus-objects.c 'sd-bus/bus-objects.c',
sd-bus/bus-objects.h 'sd-bus/bus-objects.h',
sd-bus/bus-protocol.h 'sd-bus/bus-protocol.h',
sd-bus/bus-signature.c 'sd-bus/bus-signature.c',
sd-bus/bus-signature.h 'sd-bus/bus-signature.h',
sd-bus/bus-slot.c 'sd-bus/bus-slot.c',
sd-bus/bus-slot.h 'sd-bus/bus-slot.h',
sd-bus/bus-socket.c 'sd-bus/bus-socket.c',
sd-bus/bus-socket.h 'sd-bus/bus-socket.h',
sd-bus/bus-track.c 'sd-bus/bus-track.c',
sd-bus/bus-track.h 'sd-bus/bus-track.h',
sd-bus/bus-type.c 'sd-bus/bus-type.c',
sd-bus/bus-type.h 'sd-bus/bus-type.h',
sd-bus/sd-bus.c 'sd-bus/sd-bus.c',
sd-device/device-enumerator-private.h 'sd-device/device-enumerator-private.h',
sd-device/device-enumerator.c 'sd-device/device-enumerator.c',
sd-device/device-internal.h 'sd-device/device-internal.h',
sd-device/device-monitor-private.h 'sd-device/device-monitor-private.h',
sd-device/device-monitor.c 'sd-device/device-monitor.c',
sd-device/device-private.c 'sd-device/device-private.c',
sd-device/device-private.h 'sd-device/device-private.h',
sd-device/device-util.c 'sd-device/device-util.c',
sd-device/device-util.h 'sd-device/device-util.h',
sd-device/sd-device.c 'sd-device/sd-device.c',
sd-hwdb/hwdb-internal.h 'sd-hwdb/hwdb-internal.h',
sd-hwdb/sd-hwdb.c 'sd-hwdb/sd-hwdb.c',
sd-netlink/netlink-genl.c 'sd-netlink/netlink-genl.c',
sd-netlink/netlink-genl.h 'sd-netlink/netlink-genl.h',
sd-netlink/netlink-internal.h 'sd-netlink/netlink-internal.h',
sd-netlink/netlink-message-nfnl.c 'sd-netlink/netlink-message-nfnl.c',
sd-netlink/netlink-message-rtnl.c 'sd-netlink/netlink-message-rtnl.c',
sd-netlink/netlink-message.c 'sd-netlink/netlink-message.c',
sd-netlink/netlink-slot.c 'sd-netlink/netlink-slot.c',
sd-netlink/netlink-slot.h 'sd-netlink/netlink-slot.h',
sd-netlink/netlink-socket.c 'sd-netlink/netlink-socket.c',
sd-netlink/netlink-types-genl.c 'sd-netlink/netlink-types-genl.c',
sd-netlink/netlink-types-internal.h 'sd-netlink/netlink-types-internal.h',
sd-netlink/netlink-types-nfnl.c 'sd-netlink/netlink-types-nfnl.c',
sd-netlink/netlink-types-rtnl.c 'sd-netlink/netlink-types-rtnl.c',
sd-netlink/netlink-types.c 'sd-netlink/netlink-types.c',
sd-netlink/netlink-types.h 'sd-netlink/netlink-types.h',
sd-netlink/netlink-util.c 'sd-netlink/netlink-util.c',
sd-netlink/netlink-util.h 'sd-netlink/netlink-util.h',
sd-netlink/sd-netlink.c 'sd-netlink/sd-netlink.c',
sd-network/network-util.c 'sd-network/network-util.c',
sd-network/network-util.h 'sd-network/network-util.h',
sd-network/sd-network.c 'sd-network/sd-network.c',
sd-path/sd-path.c 'sd-path/sd-path.c',
sd-resolve/resolve-private.h 'sd-resolve/resolve-private.h',
sd-resolve/sd-resolve.c 'sd-resolve/sd-resolve.c',
sd-utf8/sd-utf8.c 'sd-utf8/sd-utf8.c',
'''.split()) + sd_journal_sources + id128_sources + sd_daemon_sources + sd_event_sources + sd_login_sources ) + sd_journal_sources + id128_sources + sd_daemon_sources + sd_event_sources + sd_login_sources
disable_mempool_c = files('disable-mempool.c') disable_mempool_c = files('disable-mempool.c')

View File

@ -15,6 +15,7 @@
#include "alloc-util.h" #include "alloc-util.h"
#include "fd-util.h" #include "fd-util.h"
#include "fileio.h"
#include "hashmap.h" #include "hashmap.h"
#include "hwdb-internal.h" #include "hwdb-internal.h"
#include "nulstr-util.h" #include "nulstr-util.h"
@ -312,6 +313,9 @@ _public_ int sd_hwdb_new(sd_hwdb **ret) {
if (hwdb->st.st_size < (off_t) offsetof(struct trie_header_f, strings_len) + 8) if (hwdb->st.st_size < (off_t) offsetof(struct trie_header_f, strings_len) + 8)
return log_debug_errno(SYNTHETIC_ERRNO(EIO), return log_debug_errno(SYNTHETIC_ERRNO(EIO),
"File %s is too short: %m", hwdb_bin_path); "File %s is too short: %m", hwdb_bin_path);
if (file_offset_beyond_memory_size(hwdb->st.st_size))
return log_debug_errno(SYNTHETIC_ERRNO(EFBIG),
"File %s is too long: %m", hwdb_bin_path);
hwdb->map = mmap(0, hwdb->st.st_size, PROT_READ, MAP_SHARED, fileno(hwdb->f), 0); hwdb->map = mmap(0, hwdb->st.st_size, PROT_READ, MAP_SHARED, fileno(hwdb->f), 0);
if (hwdb->map == MAP_FAILED) if (hwdb->map == MAP_FAILED)

View File

@ -521,10 +521,10 @@ static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p
if (fstat(fd, &st) < 0) if (fstat(fd, &st) < 0)
return -errno; return -errno;
if (st.st_size < (off_t) sizeof(CatalogHeader)) if (st.st_size < (off_t) sizeof(CatalogHeader) || file_offset_beyond_memory_size(st.st_size))
return -EINVAL; return -EINVAL;
p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0); p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (p == MAP_FAILED) if (p == MAP_FAILED)
return -errno; return -errno;

View File

@ -25,6 +25,7 @@
#include "alloc-util.h" #include "alloc-util.h"
#include "compress.h" #include "compress.h"
#include "fd-util.h" #include "fd-util.h"
#include "fileio.h"
#include "io-util.h" #include "io-util.h"
#include "journal-def.h" #include "journal-def.h"
#include "macro.h" #include "macro.h"
@ -807,6 +808,9 @@ int decompress_stream_lz4(int in, int out, uint64_t max_bytes) {
if (fstat(in, &st) < 0) if (fstat(in, &st) < 0)
return log_debug_errno(errno, "fstat() failed: %m"); return log_debug_errno(errno, "fstat() failed: %m");
if (file_offset_beyond_memory_size(st.st_size))
return -EFBIG;
buf = malloc(LZ4_BUFSIZE); buf = malloc(LZ4_BUFSIZE);
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;

View File

@ -1,10 +1,10 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_localed_sources = files(''' systemd_localed_sources = files(
localed.c 'localed.c',
keymap-util.c 'keymap-util.c',
keymap-util.h 'keymap-util.h',
'''.split()) )
localectl_sources = files('localectl.c') localectl_sources = files('localectl.c')

View File

@ -1,9 +1,9 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_logind_sources = files(''' systemd_logind_sources = files(
logind.c 'logind.c',
logind.h 'logind.h',
'''.split()) )
logind_gperf_c = custom_target( logind_gperf_c = custom_target(
'logind_gperf.c', 'logind_gperf.c',
@ -11,38 +11,38 @@ logind_gperf_c = custom_target(
output : 'logind-gperf.c', output : 'logind-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
liblogind_core_sources = files(''' liblogind_core_sources = files(
logind-action.c 'logind-action.c',
logind-action.h 'logind-action.h',
logind-brightness.c 'logind-brightness.c',
logind-brightness.h 'logind-brightness.h',
logind-button.c 'logind-button.c',
logind-button.h 'logind-button.h',
logind-core.c 'logind-core.c',
logind-dbus.c 'logind-dbus.c',
logind-dbus.h 'logind-dbus.h',
logind-device.c 'logind-device.c',
logind-device.h 'logind-device.h',
logind-inhibit.c 'logind-inhibit.c',
logind-inhibit.h 'logind-inhibit.h',
logind-polkit.c 'logind-polkit.c',
logind-polkit.h 'logind-polkit.h',
logind-seat-dbus.c 'logind-seat-dbus.c',
logind-seat-dbus.h 'logind-seat-dbus.h',
logind-seat.c 'logind-seat.c',
logind-seat.h 'logind-seat.h',
logind-session-dbus.c 'logind-session-dbus.c',
logind-session-dbus.h 'logind-session-dbus.h',
logind-session-device.c 'logind-session-device.c',
logind-session-device.h 'logind-session-device.h',
logind-session.c 'logind-session.c',
logind-session.h 'logind-session.h',
logind-user-dbus.c 'logind-user-dbus.c',
logind-user-dbus.h 'logind-user-dbus.h',
logind-user.c 'logind-user.c',
logind-user.h 'logind-user.h',
logind-utmp.c 'logind-utmp.c',
'''.split()) )
liblogind_core_sources += [logind_gperf_c] liblogind_core_sources += [logind_gperf_c]
@ -53,15 +53,13 @@ liblogind_core = static_library(
dependencies : libacl, dependencies : libacl,
build_by_default : false) build_by_default : false)
loginctl_sources = files(''' loginctl_sources = files(
loginctl.c 'loginctl.c',
sysfs-show.h 'sysfs-show.h',
sysfs-show.c 'sysfs-show.c',
'''.split()) )
user_runtime_dir_sources = files(''' user_runtime_dir_sources = files('user-runtime-dir.c')
user-runtime-dir.c
'''.split())
pam_systemd_sym = 'src/login/pam_systemd.sym' pam_systemd_sym = 'src/login/pam_systemd.sym'
pam_systemd_c = files('pam_systemd.c') pam_systemd_c = files('pam_systemd.c')

View File

@ -1,24 +1,24 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_machined_sources = files(''' systemd_machined_sources = files(
machined.c 'machined.c',
machined.h 'machined.h',
'''.split()) )
libmachine_core_sources = files(''' libmachine_core_sources = files(
image-dbus.c 'image-dbus.c',
image-dbus.h 'image-dbus.h',
machine-dbus.c 'machine-dbus.c',
machine-dbus.h 'machine-dbus.h',
machine.c 'machine.c',
machine.h 'machine.h',
machined-core.c 'machined-core.c',
machined-dbus.c 'machined-dbus.c',
machined-varlink.c 'machined-varlink.c',
machined-varlink.h 'machined-varlink.h',
operation.c 'operation.c',
operation.h 'operation.h',
'''.split()) )
libmachine_core = static_library( libmachine_core = static_library(
'machine-core', 'machine-core',

View File

@ -1,215 +1,215 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
sources = files(''' sources = files(
netdev/bareudp.c 'netdev/bareudp.c',
netdev/bareudp.h 'netdev/bareudp.h',
netdev/batadv.c 'netdev/batadv.c',
netdev/batadv.h 'netdev/batadv.h',
netdev/bond.c 'netdev/bond.c',
netdev/bond.h 'netdev/bond.h',
netdev/bridge.c 'netdev/bridge.c',
netdev/bridge.h 'netdev/bridge.h',
netdev/dummy.c 'netdev/dummy.c',
netdev/dummy.h 'netdev/dummy.h',
netdev/fou-tunnel.c 'netdev/fou-tunnel.c',
netdev/fou-tunnel.h 'netdev/fou-tunnel.h',
netdev/ifb.c 'netdev/ifb.c',
netdev/ifb.h 'netdev/ifb.h',
netdev/ipoib.c 'netdev/ipoib.c',
netdev/ipoib.h 'netdev/ipoib.h',
netdev/ipvlan.c 'netdev/ipvlan.c',
netdev/ipvlan.h 'netdev/ipvlan.h',
netdev/l2tp-tunnel.c 'netdev/l2tp-tunnel.c',
netdev/l2tp-tunnel.h 'netdev/l2tp-tunnel.h',
netdev/macsec.c 'netdev/macsec.c',
netdev/macsec.h 'netdev/macsec.h',
netdev/macvlan.c 'netdev/macvlan.c',
netdev/macvlan.h 'netdev/macvlan.h',
netdev/netdev-util.c 'netdev/netdev-util.c',
netdev/netdev-util.h 'netdev/netdev-util.h',
netdev/netdev.c 'netdev/netdev.c',
netdev/netdev.h 'netdev/netdev.h',
netdev/netdevsim.c 'netdev/netdevsim.c',
netdev/netdevsim.h 'netdev/netdevsim.h',
netdev/nlmon.c 'netdev/nlmon.c',
netdev/nlmon.h 'netdev/nlmon.h',
netdev/tunnel.c 'netdev/tunnel.c',
netdev/tunnel.h 'netdev/tunnel.h',
netdev/tuntap.c 'netdev/tuntap.c',
netdev/tuntap.h 'netdev/tuntap.h',
netdev/vcan.c 'netdev/vcan.c',
netdev/vcan.h 'netdev/vcan.h',
netdev/veth.c 'netdev/veth.c',
netdev/veth.h 'netdev/veth.h',
netdev/vlan.c 'netdev/vlan.c',
netdev/vlan.h 'netdev/vlan.h',
netdev/vrf.c 'netdev/vrf.c',
netdev/vrf.h 'netdev/vrf.h',
netdev/vxlan.c 'netdev/vxlan.c',
netdev/vxlan.h 'netdev/vxlan.h',
netdev/geneve.c 'netdev/geneve.c',
netdev/geneve.h 'netdev/geneve.h',
netdev/vxcan.c 'netdev/vxcan.c',
netdev/vxcan.h 'netdev/vxcan.h',
netdev/wireguard.c 'netdev/wireguard.c',
netdev/wireguard.h 'netdev/wireguard.h',
netdev/wlan.c 'netdev/wlan.c',
netdev/wlan.h 'netdev/wlan.h',
netdev/xfrm.c 'netdev/xfrm.c',
netdev/xfrm.h 'netdev/xfrm.h',
networkd-address-generation.c 'networkd-address-generation.c',
networkd-address-generation.h 'networkd-address-generation.h',
networkd-address-label.c 'networkd-address-label.c',
networkd-address-label.h 'networkd-address-label.h',
networkd-address-pool.c 'networkd-address-pool.c',
networkd-address-pool.h 'networkd-address-pool.h',
networkd-address.c 'networkd-address.c',
networkd-address.h 'networkd-address.h',
networkd-bridge-fdb.c 'networkd-bridge-fdb.c',
networkd-bridge-fdb.h 'networkd-bridge-fdb.h',
networkd-bridge-mdb.c 'networkd-bridge-mdb.c',
networkd-bridge-mdb.h 'networkd-bridge-mdb.h',
networkd-bridge-vlan.c 'networkd-bridge-vlan.c',
networkd-bridge-vlan.h 'networkd-bridge-vlan.h',
networkd-can.c 'networkd-can.c',
networkd-can.h 'networkd-can.h',
networkd-conf.c 'networkd-conf.c',
networkd-conf.h 'networkd-conf.h',
networkd-dhcp-common.c 'networkd-dhcp-common.c',
networkd-dhcp-common.h 'networkd-dhcp-common.h',
networkd-dhcp-prefix-delegation.c 'networkd-dhcp-prefix-delegation.c',
networkd-dhcp-prefix-delegation.h 'networkd-dhcp-prefix-delegation.h',
networkd-dhcp-server-bus.c 'networkd-dhcp-server-bus.c',
networkd-dhcp-server-bus.h 'networkd-dhcp-server-bus.h',
networkd-dhcp-server-static-lease.c 'networkd-dhcp-server-static-lease.c',
networkd-dhcp-server-static-lease.h 'networkd-dhcp-server-static-lease.h',
networkd-dhcp-server.c 'networkd-dhcp-server.c',
networkd-dhcp-server.h 'networkd-dhcp-server.h',
networkd-dhcp4.c 'networkd-dhcp4.c',
networkd-dhcp4.h 'networkd-dhcp4.h',
networkd-dhcp6.c 'networkd-dhcp6.c',
networkd-dhcp6.h 'networkd-dhcp6.h',
networkd-ipv4acd.c 'networkd-ipv4acd.c',
networkd-ipv4acd.h 'networkd-ipv4acd.h',
networkd-ipv4ll.c 'networkd-ipv4ll.c',
networkd-ipv4ll.h 'networkd-ipv4ll.h',
networkd-ipv6-proxy-ndp.c 'networkd-ipv6-proxy-ndp.c',
networkd-ipv6-proxy-ndp.h 'networkd-ipv6-proxy-ndp.h',
networkd-ipv6ll.c 'networkd-ipv6ll.c',
networkd-ipv6ll.h 'networkd-ipv6ll.h',
networkd-json.c 'networkd-json.c',
networkd-json.h 'networkd-json.h',
networkd-link-bus.c 'networkd-link-bus.c',
networkd-link-bus.h 'networkd-link-bus.h',
networkd-link.c 'networkd-link.c',
networkd-link.h 'networkd-link.h',
networkd-lldp-rx.c 'networkd-lldp-rx.c',
networkd-lldp-rx.h 'networkd-lldp-rx.h',
networkd-lldp-tx.c 'networkd-lldp-tx.c',
networkd-lldp-tx.h 'networkd-lldp-tx.h',
networkd-manager-bus.c 'networkd-manager-bus.c',
networkd-manager-bus.h 'networkd-manager-bus.h',
networkd-manager.c 'networkd-manager.c',
networkd-manager.h 'networkd-manager.h',
networkd-ndisc.c 'networkd-ndisc.c',
networkd-ndisc.h 'networkd-ndisc.h',
networkd-neighbor.c 'networkd-neighbor.c',
networkd-neighbor.h 'networkd-neighbor.h',
networkd-radv.c 'networkd-radv.c',
networkd-radv.h 'networkd-radv.h',
networkd-network-bus.c 'networkd-network-bus.c',
networkd-network-bus.h 'networkd-network-bus.h',
networkd-network.c 'networkd-network.c',
networkd-network.h 'networkd-network.h',
networkd-nexthop.c 'networkd-nexthop.c',
networkd-nexthop.h 'networkd-nexthop.h',
networkd-queue.c 'networkd-queue.c',
networkd-queue.h 'networkd-queue.h',
networkd-route-util.c 'networkd-route-util.c',
networkd-route-util.h 'networkd-route-util.h',
networkd-route.c 'networkd-route.c',
networkd-route.h 'networkd-route.h',
networkd-routing-policy-rule.c 'networkd-routing-policy-rule.c',
networkd-routing-policy-rule.h 'networkd-routing-policy-rule.h',
networkd-setlink.c 'networkd-setlink.c',
networkd-setlink.h 'networkd-setlink.h',
networkd-speed-meter.c 'networkd-speed-meter.c',
networkd-speed-meter.h 'networkd-speed-meter.h',
networkd-sriov.c 'networkd-sriov.c',
networkd-sriov.h 'networkd-sriov.h',
networkd-state-file.c 'networkd-state-file.c',
networkd-state-file.h 'networkd-state-file.h',
networkd-sysctl.c 'networkd-sysctl.c',
networkd-sysctl.h 'networkd-sysctl.h',
networkd-util.c 'networkd-util.c',
networkd-util.h 'networkd-util.h',
networkd-wifi.c 'networkd-wifi.c',
networkd-wifi.h 'networkd-wifi.h',
networkd-wiphy.c 'networkd-wiphy.c',
networkd-wiphy.h 'networkd-wiphy.h',
tc/cake.c 'tc/cake.c',
tc/cake.h 'tc/cake.h',
tc/codel.c 'tc/codel.c',
tc/codel.h 'tc/codel.h',
tc/drr.c 'tc/drr.c',
tc/drr.h 'tc/drr.h',
tc/ets.c 'tc/ets.c',
tc/ets.h 'tc/ets.h',
tc/fifo.c 'tc/fifo.c',
tc/fifo.h 'tc/fifo.h',
tc/fq.c 'tc/fq.c',
tc/fq.h 'tc/fq.h',
tc/fq-codel.c 'tc/fq-codel.c',
tc/fq-codel.h 'tc/fq-codel.h',
tc/fq-pie.c 'tc/fq-pie.c',
tc/fq-pie.h 'tc/fq-pie.h',
tc/gred.c 'tc/gred.c',
tc/gred.h 'tc/gred.h',
tc/hhf.c 'tc/hhf.c',
tc/hhf.h 'tc/hhf.h',
tc/htb.c 'tc/htb.c',
tc/htb.h 'tc/htb.h',
tc/netem.c 'tc/netem.c',
tc/netem.h 'tc/netem.h',
tc/pie.c 'tc/pie.c',
tc/pie.h 'tc/pie.h',
tc/qdisc.c 'tc/qdisc.c',
tc/qdisc.h 'tc/qdisc.h',
tc/qfq.c 'tc/qfq.c',
tc/qfq.h 'tc/qfq.h',
tc/sfb.c 'tc/sfb.c',
tc/sfb.h 'tc/sfb.h',
tc/sfq.c 'tc/sfq.c',
tc/sfq.h 'tc/sfq.h',
tc/tbf.c 'tc/tbf.c',
tc/tbf.h 'tc/tbf.h',
tc/tc-util.c 'tc/tc-util.c',
tc/tc-util.h 'tc/tc-util.h',
tc/tc.c 'tc/tc.c',
tc/tc.h 'tc/tc.h',
tc/tclass.c 'tc/tclass.c',
tc/tclass.h 'tc/tclass.h',
tc/teql.c 'tc/teql.c',
tc/teql.h 'tc/teql.h',
'''.split()) )
systemd_networkd_sources = files('networkd.c') systemd_networkd_sources = files('networkd.c')
systemd_networkd_wait_online_sources = files(''' systemd_networkd_wait_online_sources = files(
wait-online/link.c 'wait-online/link.c',
wait-online/link.h 'wait-online/link.h',
wait-online/manager.c 'wait-online/manager.c',
wait-online/manager.h 'wait-online/manager.h',
wait-online/wait-online.c 'wait-online/wait-online.c',
'''.split()) )
networkctl_sources = files('networkctl.c') networkctl_sources = files('networkctl.c')
network_generator_sources = files(''' network_generator_sources = files(
generator/main.c 'generator/main.c',
generator/network-generator.c 'generator/network-generator.c',
generator/network-generator.h 'generator/network-generator.h',
'''.split()) )
sources += custom_target( sources += custom_target(
'networkd-gperf.c', 'networkd-gperf.c',

View File

@ -1,35 +1,35 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
libnspawn_core_sources = files(''' libnspawn_core_sources = files(
nspawn-bind-user.c 'nspawn-bind-user.c',
nspawn-bind-user.h 'nspawn-bind-user.h',
nspawn-cgroup.c 'nspawn-cgroup.c',
nspawn-cgroup.h 'nspawn-cgroup.h',
nspawn-creds.c 'nspawn-creds.c',
nspawn-creds.h 'nspawn-creds.h',
nspawn-def.h 'nspawn-def.h',
nspawn-expose-ports.c 'nspawn-expose-ports.c',
nspawn-expose-ports.h 'nspawn-expose-ports.h',
nspawn-mount.c 'nspawn-mount.c',
nspawn-mount.h 'nspawn-mount.h',
nspawn-network.c 'nspawn-network.c',
nspawn-network.h 'nspawn-network.h',
nspawn-oci.c 'nspawn-oci.c',
nspawn-oci.h 'nspawn-oci.h',
nspawn-patch-uid.c 'nspawn-patch-uid.c',
nspawn-patch-uid.h 'nspawn-patch-uid.h',
nspawn-register.c 'nspawn-register.c',
nspawn-register.h 'nspawn-register.h',
nspawn-seccomp.c 'nspawn-seccomp.c',
nspawn-seccomp.h 'nspawn-seccomp.h',
nspawn-settings.c 'nspawn-settings.c',
nspawn-settings.h 'nspawn-settings.h',
nspawn-setuid.c 'nspawn-setuid.c',
nspawn-setuid.h 'nspawn-setuid.h',
nspawn-stub-pid1.c 'nspawn-stub-pid1.c',
nspawn-stub-pid1.h 'nspawn-stub-pid1.h',
nspawn.h 'nspawn.h',
'''.split()) )
nspawn_gperf_c = custom_target( nspawn_gperf_c = custom_target(
'nspawn-gperf.c', 'nspawn-gperf.c',

View File

@ -1,18 +1,16 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_oomd_sources = files(''' systemd_oomd_sources = files(
oomd-manager-bus.c 'oomd-manager-bus.c',
oomd-manager-bus.h 'oomd-manager-bus.h',
oomd-manager.c 'oomd-manager.c',
oomd-manager.h 'oomd-manager.h',
oomd-util.c 'oomd-util.c',
oomd-util.h 'oomd-util.h',
oomd.c 'oomd.c',
'''.split()) )
oomctl_sources = files(''' oomctl_sources = files('oomctl.c')
oomctl.c
'''.split())
if conf.get('ENABLE_OOMD') == 1 if conf.get('ENABLE_OOMD') == 1
install_data('org.freedesktop.oom1.conf', install_data('org.freedesktop.oom1.conf',

View File

@ -1,7 +1,5 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_repart_sources = files(''' systemd_repart_sources = files('repart.c')
repart.c
'''.split())
test_repart_sh = find_program('test-repart.sh') test_repart_sh = find_program('test-repart.sh')

View File

@ -1,18 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_portabled_sources = files(''' systemd_portabled_sources = files(
portable.c 'portable.c',
portable.h 'portable.h',
portabled-bus.c 'portabled-bus.c',
portabled-image-bus.c 'portabled-image-bus.c',
portabled-image-bus.h 'portabled-image-bus.h',
portabled-image.c 'portabled-image.c',
portabled-image.h 'portabled-image.h',
portabled-operation.c 'portabled-operation.c',
portabled-operation.h 'portabled-operation.h',
portabled.c 'portabled.c',
portabled.h 'portabled.h',
'''.split()) )
if conf.get('ENABLE_PORTABLED') == 1 if conf.get('ENABLE_PORTABLED') == 1
install_data('org.freedesktop.portable1.conf', install_data('org.freedesktop.portable1.conf',

View File

@ -1,8 +1,6 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_pstore_sources = files(''' systemd_pstore_sources = files('pstore.c')
pstore.c
'''.split())
if conf.get('ENABLE_PSTORE') == 1 and install_sysconfdir_samples if conf.get('ENABLE_PSTORE') == 1 and install_sysconfdir_samples
install_data('pstore.conf', install_data('pstore.conf',

View File

@ -2,82 +2,82 @@
resolve_includes = [includes, include_directories('.')] resolve_includes = [includes, include_directories('.')]
basic_dns_sources = files(''' basic_dns_sources = files(
resolved-dns-dnssec.c 'resolved-dns-dnssec.c',
resolved-dns-dnssec.h 'resolved-dns-dnssec.h',
resolved-dns-packet.c 'resolved-dns-packet.c',
resolved-dns-packet.h 'resolved-dns-packet.h',
resolved-dns-rr.c 'resolved-dns-rr.c',
resolved-dns-rr.h 'resolved-dns-rr.h',
resolved-dns-answer.c 'resolved-dns-answer.c',
resolved-dns-answer.h 'resolved-dns-answer.h',
resolved-dns-question.c 'resolved-dns-question.c',
resolved-dns-question.h 'resolved-dns-question.h',
resolved-util.c 'resolved-util.c',
resolved-util.h 'resolved-util.h',
dns-type.c 'dns-type.c',
dns-type.h 'dns-type.h',
'''.split()) )
systemd_resolved_sources = files(''' systemd_resolved_sources = files(
resolved-bus.c 'resolved-bus.c',
resolved-bus.h 'resolved-bus.h',
resolved-conf.c 'resolved-conf.c',
resolved-conf.h 'resolved-conf.h',
resolved-def.h 'resolved-def.h',
resolved-dns-cache.c 'resolved-dns-cache.c',
resolved-dns-cache.h 'resolved-dns-cache.h',
resolved-dns-query.c 'resolved-dns-query.c',
resolved-dns-query.h 'resolved-dns-query.h',
resolved-dns-scope.c 'resolved-dns-scope.c',
resolved-dns-scope.h 'resolved-dns-scope.h',
resolved-dns-search-domain.c 'resolved-dns-search-domain.c',
resolved-dns-search-domain.h 'resolved-dns-search-domain.h',
resolved-dns-server.c 'resolved-dns-server.c',
resolved-dns-server.h 'resolved-dns-server.h',
resolved-dns-stream.c 'resolved-dns-stream.c',
resolved-dns-stream.h 'resolved-dns-stream.h',
resolved-dns-stub.c 'resolved-dns-stub.c',
resolved-dns-stub.h 'resolved-dns-stub.h',
resolved-dns-synthesize.c 'resolved-dns-synthesize.c',
resolved-dns-synthesize.h 'resolved-dns-synthesize.h',
resolved-dns-transaction.c 'resolved-dns-transaction.c',
resolved-dns-transaction.h 'resolved-dns-transaction.h',
resolved-dns-trust-anchor.c 'resolved-dns-trust-anchor.c',
resolved-dns-trust-anchor.h 'resolved-dns-trust-anchor.h',
resolved-dns-zone.c 'resolved-dns-zone.c',
resolved-dns-zone.h 'resolved-dns-zone.h',
resolved-dnssd-bus.c 'resolved-dnssd-bus.c',
resolved-dnssd-bus.h 'resolved-dnssd-bus.h',
resolved-dnssd.c 'resolved-dnssd.c',
resolved-dnssd.h 'resolved-dnssd.h',
resolved-dnstls.h 'resolved-dnstls.h',
resolved-etc-hosts.c 'resolved-etc-hosts.c',
resolved-etc-hosts.h 'resolved-etc-hosts.h',
resolved-link-bus.c 'resolved-link-bus.c',
resolved-link-bus.h 'resolved-link-bus.h',
resolved-link.c 'resolved-link.c',
resolved-link.h 'resolved-link.h',
resolved-llmnr.c 'resolved-llmnr.c',
resolved-llmnr.h 'resolved-llmnr.h',
resolved-manager.c 'resolved-manager.c',
resolved-manager.h 'resolved-manager.h',
resolved-mdns.c 'resolved-mdns.c',
resolved-mdns.h 'resolved-mdns.h',
resolved-resolv-conf.c 'resolved-resolv-conf.c',
resolved-resolv-conf.h 'resolved-resolv-conf.h',
resolved-socket-graveyard.c 'resolved-socket-graveyard.c',
resolved-socket-graveyard.h 'resolved-socket-graveyard.h',
resolved-varlink.c 'resolved-varlink.c',
resolved-varlink.h 'resolved-varlink.h',
'''.split()) )
resolvectl_sources = files(''' resolvectl_sources = files(
resolvconf-compat.c 'resolvconf-compat.c',
resolvconf-compat.h 'resolvconf-compat.h',
resolvectl.c 'resolvectl.c',
resolvectl.h 'resolvectl.h',
'''.split()) )
############################################################ ############################################################
@ -139,12 +139,14 @@ if conf.get('ENABLE_DNS_OVER_TLS') == 1
if conf.get('DNS_OVER_TLS_USE_GNUTLS') == 1 if conf.get('DNS_OVER_TLS_USE_GNUTLS') == 1
systemd_resolved_sources += files( systemd_resolved_sources += files(
'resolved-dnstls-gnutls.c', 'resolved-dnstls-gnutls.c',
'resolved-dnstls-gnutls.h') 'resolved-dnstls-gnutls.h',
)
systemd_resolved_dependencies += libgnutls systemd_resolved_dependencies += libgnutls
elif conf.get('DNS_OVER_TLS_USE_OPENSSL') == 1 elif conf.get('DNS_OVER_TLS_USE_OPENSSL') == 1
systemd_resolved_sources += files( systemd_resolved_sources += files(
'resolved-dnstls-openssl.c', 'resolved-dnstls-openssl.c',
'resolved-dnstls-openssl.h') 'resolved-dnstls-openssl.h',
)
systemd_resolved_dependencies += libopenssl systemd_resolved_dependencies += libopenssl
else else
error('unknown dependency for supporting DNS-over-TLS') error('unknown dependency for supporting DNS-over-TLS')

View File

@ -81,15 +81,16 @@ static bool ignore_proc(pid_t pid, bool warn_rootfs) {
static void log_children_no_yet_killed(Set *pids) { static void log_children_no_yet_killed(Set *pids) {
_cleanup_free_ char *lst_child = NULL; _cleanup_free_ char *lst_child = NULL;
void *p; void *p;
int r;
SET_FOREACH(p, pids) { SET_FOREACH(p, pids) {
_cleanup_free_ char *s = NULL; _cleanup_free_ char *s = NULL;
char fallback[DECIMAL_STR_MAX(pid_t)];
if (get_process_comm(PTR_TO_PID(p), &s) < 0) if (get_process_comm(PTR_TO_PID(p), &s) >= 0)
xsprintf(fallback, PID_FMT, PTR_TO_PID(p)); r = strextendf(&lst_child, ", " PID_FMT " (%s)", PTR_TO_PID(p), s);
else
if (!strextend(&lst_child, ", ", s ?: fallback)) r = strextendf(&lst_child, ", " PID_FMT, PTR_TO_PID(p));
if (r < 0)
return (void) log_oom(); return (void) log_oom();
} }

View File

@ -1,346 +1,346 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
shared_sources = files(''' shared_sources = files(
acl-util.h 'acl-util.h',
acpi-fpdt.c 'acpi-fpdt.c',
acpi-fpdt.h 'acpi-fpdt.h',
apparmor-util.c 'apparmor-util.c',
apparmor-util.h 'apparmor-util.h',
ask-password-api.c 'ask-password-api.c',
ask-password-api.h 'ask-password-api.h',
barrier.c 'barrier.c',
barrier.h 'barrier.h',
base-filesystem.c 'base-filesystem.c',
base-filesystem.h 'base-filesystem.h',
binfmt-util.c 'binfmt-util.c',
binfmt-util.h 'binfmt-util.h',
bitmap.c 'bitmap.c',
bitmap.h 'bitmap.h',
blkid-util.h 'blkid-util.h',
blockdev-util.c 'blockdev-util.c',
blockdev-util.h 'blockdev-util.h',
bond-util.c 'bond-util.c',
bond-util.h 'bond-util.h',
boot-timestamps.c 'boot-timestamps.c',
boot-timestamps.h 'boot-timestamps.h',
bootspec.c 'bootspec.c',
bootspec.h 'bootspec.h',
bpf-dlopen.c 'bpf-dlopen.c',
bpf-dlopen.h 'bpf-dlopen.h',
bpf-program.c 'bpf-program.c',
bpf-program.h 'bpf-program.h',
bridge-util.c 'bridge-util.c',
bridge-util.h 'bridge-util.h',
btrfs-util.c 'btrfs-util.c',
btrfs-util.h 'btrfs-util.h',
bus-get-properties.c 'bus-get-properties.c',
bus-get-properties.h 'bus-get-properties.h',
bus-locator.c 'bus-locator.c',
bus-locator.h 'bus-locator.h',
bus-log-control-api.c 'bus-log-control-api.c',
bus-log-control-api.h 'bus-log-control-api.h',
bus-map-properties.c 'bus-map-properties.c',
bus-map-properties.h 'bus-map-properties.h',
bus-message-util.c 'bus-message-util.c',
bus-message-util.h 'bus-message-util.h',
bus-object.c 'bus-object.c',
bus-object.h 'bus-object.h',
bus-polkit.c 'bus-polkit.c',
bus-polkit.h 'bus-polkit.h',
bus-print-properties.c 'bus-print-properties.c',
bus-print-properties.h 'bus-print-properties.h',
bus-unit-procs.c 'bus-unit-procs.c',
bus-unit-procs.h 'bus-unit-procs.h',
bus-unit-util.c 'bus-unit-util.c',
bus-unit-util.h 'bus-unit-util.h',
bus-util.c 'bus-util.c',
bus-util.h 'bus-util.h',
bus-wait-for-jobs.c 'bus-wait-for-jobs.c',
bus-wait-for-jobs.h 'bus-wait-for-jobs.h',
bus-wait-for-units.c 'bus-wait-for-units.c',
bus-wait-for-units.h 'bus-wait-for-units.h',
calendarspec.c 'calendarspec.c',
calendarspec.h 'calendarspec.h',
cgroup-setup.c 'cgroup-setup.c',
cgroup-setup.h 'cgroup-setup.h',
cgroup-show.c 'cgroup-show.c',
cgroup-show.h 'cgroup-show.h',
chown-recursive.c 'chown-recursive.c',
chown-recursive.h 'chown-recursive.h',
clean-ipc.c 'clean-ipc.c',
clean-ipc.h 'clean-ipc.h',
clock-util.c 'clock-util.c',
clock-util.h 'clock-util.h',
condition.c 'condition.c',
condition.h 'condition.h',
conf-parser.c 'conf-parser.c',
conf-parser.h 'conf-parser.h',
copy.c 'copy.c',
copy.h 'copy.h',
coredump-util.c 'coredump-util.c',
coredump-util.h 'coredump-util.h',
cpu-set-util.c 'cpu-set-util.c',
cpu-set-util.h 'cpu-set-util.h',
creds-util.c 'creds-util.c',
creds-util.h 'creds-util.h',
cryptsetup-util.c 'cryptsetup-util.c',
cryptsetup-util.h 'cryptsetup-util.h',
daemon-util.h 'daemon-util.h',
data-fd-util.c 'data-fd-util.c',
data-fd-util.h 'data-fd-util.h',
dev-setup.c 'dev-setup.c',
dev-setup.h 'dev-setup.h',
device-nodes.c 'device-nodes.c',
device-nodes.h 'device-nodes.h',
devnode-acl.h 'devnode-acl.h',
discover-image.c 'discover-image.c',
discover-image.h 'discover-image.h',
dissect-image.c 'dissect-image.c',
dissect-image.h 'dissect-image.h',
dlfcn-util.c 'dlfcn-util.c',
dlfcn-util.h 'dlfcn-util.h',
dm-util.c 'dm-util.c',
dm-util.h 'dm-util.h',
dns-domain.c 'dns-domain.c',
dns-domain.h 'dns-domain.h',
dropin.c 'dropin.c',
dropin.h 'dropin.h',
efi-loader.c 'efi-loader.c',
efi-loader.h 'efi-loader.h',
elf-util.c 'elf-util.c',
elf-util.h 'elf-util.h',
enable-mempool.c 'enable-mempool.c',
env-file-label.c 'env-file-label.c',
env-file-label.h 'env-file-label.h',
ethtool-util.c 'ethtool-util.c',
ethtool-util.h 'ethtool-util.h',
exec-util.c 'exec-util.c',
exec-util.h 'exec-util.h',
exit-status.c 'exit-status.c',
exit-status.h 'exit-status.h',
extension-release.c 'extension-release.c',
extension-release.h 'extension-release.h',
fdisk-util.h 'fdisk-util.h',
fdset.c 'fdset.c',
fdset.h 'fdset.h',
fileio-label.c 'fileio-label.c',
fileio-label.h 'fileio-label.h',
firewall-util-nft.c 'firewall-util-nft.c',
firewall-util-private.h 'firewall-util-private.h',
firewall-util.c 'firewall-util.c',
firewall-util.h 'firewall-util.h',
format-table.c 'format-table.c',
format-table.h 'format-table.h',
fsck-util.h 'fsck-util.h',
fstab-util.c 'fstab-util.c',
fstab-util.h 'fstab-util.h',
generator.c 'generator.c',
generator.h 'generator.h',
geneve-util.c 'geneve-util.c',
geneve-util.h 'geneve-util.h',
gpt.c 'gpt.c',
gpt.h 'gpt.h',
group-record.c 'group-record.c',
group-record.h 'group-record.h',
hostname-setup.c 'hostname-setup.c',
hostname-setup.h 'hostname-setup.h',
hwdb-util.c 'hwdb-util.c',
hwdb-util.h 'hwdb-util.h',
id128-print.c 'id128-print.c',
id128-print.h 'id128-print.h',
idn-util.c 'idn-util.c',
idn-util.h 'idn-util.h',
ima-util.c 'ima-util.c',
ima-util.h 'ima-util.h',
import-util.c 'import-util.c',
import-util.h 'import-util.h',
in-addr-prefix-util.c 'in-addr-prefix-util.c',
in-addr-prefix-util.h 'in-addr-prefix-util.h',
initreq.h 'initreq.h',
install-file.c 'install-file.c',
install-file.h 'install-file.h',
install-printf.c 'install-printf.c',
install-printf.h 'install-printf.h',
install.c 'install.c',
install.h 'install.h',
ip-protocol-list.c 'ip-protocol-list.c',
ip-protocol-list.h 'ip-protocol-list.h',
ipvlan-util.c 'ipvlan-util.c',
ipvlan-util.h 'ipvlan-util.h',
journal-importer.c 'journal-importer.c',
journal-importer.h 'journal-importer.h',
journal-util.c 'journal-util.c',
journal-util.h 'journal-util.h',
json-internal.h 'json-internal.h',
json.c 'json.c',
json.h 'json.h',
kbd-util.c 'kbd-util.c',
kbd-util.h 'kbd-util.h',
keyring-util.h 'keyring-util.h',
keyring-util.c 'keyring-util.c',
killall.c 'killall.c',
killall.h 'killall.h',
label.c 'label.c',
label.h 'label.h',
libcrypt-util.c 'libcrypt-util.c',
libcrypt-util.h 'libcrypt-util.h',
libfido2-util.c 'libfido2-util.c',
libfido2-util.h 'libfido2-util.h',
libmount-util.h 'libmount-util.h',
linux/auto_dev-ioctl.h 'linux/auto_dev-ioctl.h',
linux/bpf.h 'linux/bpf.h',
linux/bpf_common.h 'linux/bpf_common.h',
linux/bpf_insn.h 'linux/bpf_insn.h',
linux/dm-ioctl.h 'linux/dm-ioctl.h',
linux/ethtool.h 'linux/ethtool.h',
local-addresses.c 'local-addresses.c',
local-addresses.h 'local-addresses.h',
lockfile-util.c 'lockfile-util.c',
lockfile-util.h 'lockfile-util.h',
log-link.h 'log-link.h',
logs-show.c 'logs-show.c',
logs-show.h 'logs-show.h',
loop-util.c 'loop-util.c',
loop-util.h 'loop-util.h',
loopback-setup.c 'loopback-setup.c',
loopback-setup.h 'loopback-setup.h',
machine-id-setup.c 'machine-id-setup.c',
machine-id-setup.h 'machine-id-setup.h',
machine-pool.c 'machine-pool.c',
machine-pool.h 'machine-pool.h',
macvlan-util.c 'macvlan-util.c',
macvlan-util.h 'macvlan-util.h',
main-func.h 'main-func.h',
mkdir-label.c 'mkdir-label.c',
mkdir-label.h 'mkdir-label.h',
mkfs-util.c 'mkfs-util.c',
mkfs-util.h 'mkfs-util.h',
module-util.h 'module-util.h',
mount-setup.c 'mount-setup.c',
mount-setup.h 'mount-setup.h',
mount-util.c 'mount-util.c',
mount-util.h 'mount-util.h',
net-condition.c 'net-condition.c',
net-condition.h 'net-condition.h',
netif-naming-scheme.c 'netif-naming-scheme.c',
netif-naming-scheme.h 'netif-naming-scheme.h',
netif-sriov.c 'netif-sriov.c',
netif-sriov.h 'netif-sriov.h',
netif-util.c 'netif-util.c',
netif-util.h 'netif-util.h',
nscd-flush.h 'nscd-flush.h',
nsflags.c 'nsflags.c',
nsflags.h 'nsflags.h',
numa-util.c 'numa-util.c',
numa-util.h 'numa-util.h',
openssl-util.c 'openssl-util.c',
openssl-util.h 'openssl-util.h',
output-mode.c 'output-mode.c',
output-mode.h 'output-mode.h',
pager.c 'pager.c',
pager.h 'pager.h',
parse-argument.c 'parse-argument.c',
parse-argument.h 'parse-argument.h',
parse-socket-bind-item.c 'parse-socket-bind-item.c',
parse-socket-bind-item.h 'parse-socket-bind-item.h',
pcre2-dlopen.c 'pcre2-dlopen.c',
pcre2-dlopen.h 'pcre2-dlopen.h',
pe-header.h 'pe-header.h',
pkcs11-util.c 'pkcs11-util.c',
pkcs11-util.h 'pkcs11-util.h',
pretty-print.c 'pretty-print.c',
pretty-print.h 'pretty-print.h',
psi-util.c 'psi-util.c',
psi-util.h 'psi-util.h',
ptyfwd.c 'ptyfwd.c',
ptyfwd.h 'ptyfwd.h',
pwquality-util.c 'pwquality-util.c',
pwquality-util.h 'pwquality-util.h',
qrcode-util.c 'qrcode-util.c',
qrcode-util.h 'qrcode-util.h',
quota-util.c 'quota-util.c',
quota-util.h 'quota-util.h',
reboot-util.c 'reboot-util.c',
reboot-util.h 'reboot-util.h',
resize-fs.c 'resize-fs.c',
resize-fs.h 'resize-fs.h',
resolve-util.c 'resolve-util.c',
resolve-util.h 'resolve-util.h',
rm-rf.c 'rm-rf.c',
rm-rf.h 'rm-rf.h',
seccomp-util.h 'seccomp-util.h',
securebits-util.c 'securebits-util.c',
securebits-util.h 'securebits-util.h',
selinux-util.c 'selinux-util.c',
selinux-util.h 'selinux-util.h',
serialize.c 'serialize.c',
serialize.h 'serialize.h',
service-util.c 'service-util.c',
service-util.h 'service-util.h',
sleep-config.c 'sleep-config.c',
sleep-config.h 'sleep-config.h',
smack-util.c 'smack-util.c',
smack-util.h 'smack-util.h',
socket-label.c 'socket-label.c',
socket-netlink.c 'socket-netlink.c',
socket-netlink.h 'socket-netlink.h',
spawn-ask-password-agent.c 'spawn-ask-password-agent.c',
spawn-ask-password-agent.h 'spawn-ask-password-agent.h',
spawn-polkit-agent.c 'spawn-polkit-agent.c',
spawn-polkit-agent.h 'spawn-polkit-agent.h',
specifier.c 'specifier.c',
specifier.h 'specifier.h',
switch-root.c 'switch-root.c',
switch-root.h 'switch-root.h',
tmpfile-util-label.c 'tmpfile-util-label.c',
tmpfile-util-label.h 'tmpfile-util-label.h',
tomoyo-util.c 'tomoyo-util.c',
tomoyo-util.h 'tomoyo-util.h',
tpm2-util.c 'tpm2-util.c',
tpm2-util.h 'tpm2-util.h',
udev-util.c 'udev-util.c',
udev-util.h 'udev-util.h',
uid-alloc-range.c 'uid-alloc-range.c',
uid-alloc-range.h 'uid-alloc-range.h',
uid-range.c 'uid-range.c',
uid-range.h 'uid-range.h',
user-record-nss.c 'user-record-nss.c',
user-record-nss.h 'user-record-nss.h',
user-record-show.c 'user-record-show.c',
user-record-show.h 'user-record-show.h',
user-record.c 'user-record.c',
user-record.h 'user-record.h',
userdb-dropin.c 'userdb-dropin.c',
userdb-dropin.h 'userdb-dropin.h',
userdb.c 'userdb.c',
userdb.h 'userdb.h',
utmp-wtmp.h 'utmp-wtmp.h',
varlink.c 'varlink.c',
varlink.h 'varlink.h',
verb-log-control.c 'verb-log-control.c',
verb-log-control.h 'verb-log-control.h',
verbs.c 'verbs.c',
verbs.h 'verbs.h',
vlan-util.c 'vlan-util.c',
vlan-util.h 'vlan-util.h',
volatile-util.c 'volatile-util.c',
volatile-util.h 'volatile-util.h',
watchdog.c 'watchdog.c',
watchdog.h 'watchdog.h',
web-util.c 'web-util.c',
web-util.h 'web-util.h',
wifi-util.c 'wifi-util.c',
wifi-util.h 'wifi-util.h',
xml.c 'xml.c',
xml.h 'xml.h',
'''.split()) )
if get_option('tests') != 'false' if get_option('tests') != 'false'
shared_sources += files(''' shared_sources += files(
test-tables.h 'test-tables.h',
tests.c 'tests.c',
tests.h 'tests.h',
'''.split()) )
endif endif
generate_syscall_list = find_program('generate-syscall-list.py') generate_syscall_list = find_program('generate-syscall-list.py')
@ -354,10 +354,10 @@ syscall_list_h = custom_target(
capture : true) capture : true)
if conf.get('HAVE_ACL') == 1 if conf.get('HAVE_ACL') == 1
shared_sources += files(''' shared_sources += files(
acl-util.c 'acl-util.c',
devnode-acl.c 'devnode-acl.c',
'''.split()) )
endif endif
if conf.get('ENABLE_UTMP') == 1 if conf.get('ENABLE_UTMP') == 1
@ -374,10 +374,10 @@ if conf.get('HAVE_LIBIPTC') == 1
endif endif
if conf.get('HAVE_LIBBPF') == 1 if conf.get('HAVE_LIBBPF') == 1
shared_sources += files(''' shared_sources += files(
bpf-link.c 'bpf-link.c',
bpf-link.h 'bpf-link.h',
'''.split()) )
endif endif
if conf.get('HAVE_KMOD') == 1 if conf.get('HAVE_KMOD') == 1
@ -387,7 +387,8 @@ endif
if conf.get('HAVE_PAM') == 1 if conf.get('HAVE_PAM') == 1
shared_sources += files( shared_sources += files(
'pam-util.c', 'pam-util.c',
'pam-util.h') 'pam-util.h',
)
endif endif
if conf.get('ENABLE_NSCD') == 1 if conf.get('ENABLE_NSCD') == 1

View File

@ -1,10 +1,10 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_shutdown_sources = files(''' systemd_shutdown_sources = files(
shutdown.c 'shutdown.c',
umount.c 'umount.c',
umount.h 'umount.h',
'''.split()) )
tests += [ tests += [
[files('test-umount.c', [files('test-umount.c',

View File

@ -1,5 +1,3 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_sysext_sources = files(''' systemd_sysext_sources = files('sysext.c')
sysext.c
'''.split())

View File

@ -1,43 +1,43 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
_systemd_headers = ''' _systemd_headers = [
sd-bus.h 'sd-bus.h',
sd-bus-protocol.h 'sd-bus-protocol.h',
sd-bus-vtable.h 'sd-bus-vtable.h',
sd-daemon.h 'sd-daemon.h',
sd-device.h 'sd-device.h',
sd-event.h 'sd-event.h',
sd-hwdb.h 'sd-hwdb.h',
sd-id128.h 'sd-id128.h',
sd-journal.h 'sd-journal.h',
sd-login.h 'sd-login.h',
sd-messages.h 'sd-messages.h',
sd-path.h 'sd-path.h',
'''.split() ]
# https://github.com/mesonbuild/meson/issues/1633 # https://github.com/mesonbuild/meson/issues/1633
systemd_headers = files(_systemd_headers) systemd_headers = files(_systemd_headers)
_not_installed_headers = ''' _not_installed_headers = [
sd-dhcp6-client.h 'sd-dhcp6-client.h',
sd-dhcp6-lease.h 'sd-dhcp6-lease.h',
sd-dhcp-client.h 'sd-dhcp-client.h',
sd-dhcp-lease.h 'sd-dhcp-lease.h',
sd-dhcp-option.h 'sd-dhcp-option.h',
sd-dhcp6-option.h 'sd-dhcp6-option.h',
sd-dhcp-server.h 'sd-dhcp-server.h',
sd-ipv4acd.h 'sd-ipv4acd.h',
sd-ipv4ll.h 'sd-ipv4ll.h',
sd-lldp-rx.h 'sd-lldp-rx.h',
sd-lldp-tx.h 'sd-lldp-tx.h',
sd-lldp.h 'sd-lldp.h',
sd-ndisc.h 'sd-ndisc.h',
sd-netlink.h 'sd-netlink.h',
sd-network.h 'sd-network.h',
sd-radv.h 'sd-radv.h',
sd-resolve.h 'sd-resolve.h',
sd-utf8.h 'sd-utf8.h',
'''.split() ]
install_headers( install_headers(
systemd_headers, systemd_headers,

View File

@ -1,58 +1,58 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
udevadm_sources = files(''' udevadm_sources = files(
udevadm.c 'udevadm.c',
udevadm.h 'udevadm.h',
udevadm-control.c 'udevadm-control.c',
udevadm-hwdb.c 'udevadm-hwdb.c',
udevadm-info.c 'udevadm-info.c',
udevadm-monitor.c 'udevadm-monitor.c',
udevadm-settle.c 'udevadm-settle.c',
udevadm-test.c 'udevadm-test.c',
udevadm-test-builtin.c 'udevadm-test-builtin.c',
udevadm-trigger.c 'udevadm-trigger.c',
udevadm-util.c 'udevadm-util.c',
udevadm-util.h 'udevadm-util.h',
udevd.c 'udevd.c',
'''.split()) )
libudevd_core_sources = ''' libudevd_core_sources = files(
udev-ctrl.c 'udev-ctrl.c',
udev-ctrl.h 'udev-ctrl.h',
udev-event.c 'udev-event.c',
udev-event.h 'udev-event.h',
udev-node.c 'udev-node.c',
udev-node.h 'udev-node.h',
udev-rules.c 'udev-rules.c',
udev-rules.h 'udev-rules.h',
udev-watch.c 'udev-watch.c',
udev-watch.h 'udev-watch.h',
udev-builtin.c 'udev-builtin.c',
udev-builtin.h 'udev-builtin.h',
udev-builtin-btrfs.c 'udev-builtin-btrfs.c',
udev-builtin-hwdb.c 'udev-builtin-hwdb.c',
udev-builtin-input_id.c 'udev-builtin-input_id.c',
udev-builtin-keyboard.c 'udev-builtin-keyboard.c',
udev-builtin-net_id.c 'udev-builtin-net_id.c',
udev-builtin-net_setup_link.c 'udev-builtin-net_setup_link.c',
udev-builtin-path_id.c 'udev-builtin-path_id.c',
udev-builtin-usb_id.c 'udev-builtin-usb_id.c',
udev-netlink.c 'udev-netlink.c',
udev-netlink.h 'udev-netlink.h',
net/link-config.c 'net/link-config.c',
net/link-config.h 'net/link-config.h',
'''.split() )
if conf.get('HAVE_KMOD') == 1 if conf.get('HAVE_KMOD') == 1
libudevd_core_sources += ['udev-builtin-kmod.c'] libudevd_core_sources += files('udev-builtin-kmod.c')
endif endif
if conf.get('HAVE_BLKID') == 1 if conf.get('HAVE_BLKID') == 1
libudevd_core_sources += ['udev-builtin-blkid.c'] libudevd_core_sources += files('udev-builtin-blkid.c')
endif endif
if conf.get('HAVE_ACL') == 1 if conf.get('HAVE_ACL') == 1
libudevd_core_sources += ['udev-builtin-uaccess.c'] libudevd_core_sources += files('udev-builtin-uaccess.c')
endif endif
############################################################ ############################################################

View File

@ -1,15 +1,11 @@
# SPDX-License-Identifier: LGPL-2.1-or-later # SPDX-License-Identifier: LGPL-2.1-or-later
systemd_userwork_sources = files(''' systemd_userwork_sources = files('userwork.c')
userwork.c
'''.split())
systemd_userdbd_sources = files(''' systemd_userdbd_sources = files(
userdbd-manager.c 'userdbd-manager.c',
userdbd-manager.h 'userdbd-manager.h',
userdbd.c 'userdbd.c',
'''.split()) )
userdbctl_sources = files(''' userdbctl_sources = files('userdbctl.c')
userdbctl.c
'''.split())