]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agoman: AllowedIPs= can be specified multiple times 27726/head
Yu Watanabe [Mon, 22 May 2023 05:18:40 +0000 (14:18 +0900)] 
man: AllowedIPs= can be specified multiple times

Closes #27507.

2 years agonetwork/wireguard: make AllowedIPs= cleared by specifying an empty string
Yu Watanabe [Mon, 22 May 2023 05:15:49 +0000 (14:15 +0900)] 
network/wireguard: make AllowedIPs= cleared by specifying an empty string

2 years agoudevadm-verify: introduce --no-summary option
Dmitry V. Levin [Tue, 16 May 2023 08:00:00 +0000 (08:00 +0000)] 
udevadm-verify: introduce --no-summary option

When udevadm verify is invoked by an analyzer tool like rpminspect
to verify individual udev rules files, the summary just clutters the
output, so provide an option to turn the summary off.

2 years agoMerge pull request #27157 from YHNdnzj/networkctl-edit
Yu Watanabe [Sun, 21 May 2023 12:36:56 +0000 (21:36 +0900)] 
Merge pull request #27157 from YHNdnzj/networkctl-edit

networkctl: add verb edit and cat to operate on network configs

2 years agotest: add tests for networkctl edit/cat 27157/head
Mike Yuan [Mon, 10 Apr 2023 10:45:00 +0000 (18:45 +0800)] 
test: add tests for networkctl edit/cat

2 years agonetworkctl: add verb edit and cat to operate on network configs
Mike Yuan [Sat, 1 Apr 2023 11:44:29 +0000 (19:44 +0800)] 
networkctl: add verb edit and cat to operate on network configs

This adds two verbs, edit and cat, to networkctl for
operating on network configs (namely .network, .netdev
and .link files). Specially, if the config name is
prefixed by @, it will be treated as network interface
name, and operations will be performed on config files
associated with the link.

Closes #26906

2 years agoconf-parser: move config_get_dropin_files to conf-files
Mike Yuan [Fri, 12 May 2023 18:38:41 +0000 (02:38 +0800)] 
conf-parser: move config_get_dropin_files to conf-files

2 years agonetworkctl: mark some verbs as online only
Mike Yuan [Sun, 9 Apr 2023 12:39:12 +0000 (20:39 +0800)] 
networkctl: mark some verbs as online only

2 years agonetworkctl: fix a typo in log message
Mike Yuan [Fri, 14 Apr 2023 18:04:34 +0000 (02:04 +0800)] 
networkctl: fix a typo in log message

2 years agonetworkctl: add missing asserts
Mike Yuan [Sun, 9 Apr 2023 23:31:24 +0000 (07:31 +0800)] 
networkctl: add missing asserts

2 years agonetworkctl: check netns only if networkd is running
Mike Yuan [Sun, 2 Apr 2023 18:20:32 +0000 (02:20 +0800)] 
networkctl: check netns only if networkd is running

2 years agoMerge pull request #27719 from mrc0mmand/fuzz-tweaks
Mike Yuan [Sun, 21 May 2023 07:41:15 +0000 (15:41 +0800)] 
Merge pull request #27719 from mrc0mmand/fuzz-tweaks

fuzz: a couple of fixes for issues found by Nallocfuzz

2 years agosd-event: check the allocation before calling expand_to_usable() 27719/head
Frantisek Sumsal [Sat, 20 May 2023 21:00:48 +0000 (23:00 +0200)] 
sd-event: check the allocation before calling expand_to_usable()

As it might hide a possible allocation error since it uses
the returns_nonnull attribute:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==8==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000004 (pc 0x7f317897db8d bp 0x7ffd436fe9a0 sp 0x7ffd436fe970 T0)
==8==The signal is caused by a WRITE memory access.
==8==Hint: address points to the zero page.
SCARINESS: 10 (null-deref)
    #0 0x7f317897db8d in source_new /work/build/../../src/systemd/src/libsystemd/sd-event/sd-event.c:1214:18
    #1 0x7f317897e68c in sd_event_add_time /work/build/../../src/systemd/src/libsystemd/sd-event/sd-event.c:1417:13
    #2 0x7f317897a0f6 in event_reset_time /work/build/../../src/systemd/src/libsystemd/sd-event/event-util.c:68:21
    #3 0x4e2c8e in client_initialize_time_events /work/build/../../src/systemd/src/libsystemd-network/sd-dhcp-client.c:1366:13
    #4 0x4eb0fd in client_initialize_events /work/build/../../src/systemd/src/libsystemd-network/sd-dhcp-client.c:1380:9
    #5 0x4eb0fd in client_start_delayed /work/build/../../src/systemd/src/libsystemd-network/sd-dhcp-client.c:1410:16
    #6 0x4e30aa in client_start /work/build/../../src/systemd/src/libsystemd-network/sd-dhcp-client.c:1415:16
    #7 0x4e30aa in sd_dhcp_client_start /work/build/../../src/systemd/src/libsystemd-network/sd-dhcp-client.c:2045:13
    #8 0x4e700e in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/libsystemd-network/fuzz-dhcp-client.c:73:15
    #9 0x5062f8 in NaloFuzzerTestOneInput (/build/fuzz-dhcp-client+0x5062f8)
    #10 0x525283 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #11 0x524a6a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #12 0x526139 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #13 0x526e05 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #14 0x51616f in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #15 0x516a38 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #16 0x506555 in main (/build/fuzz-dhcp-client+0x506555)
    #17 0x7f3177ce3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)
    #18 0x420c4d in _start (/build/fuzz-dhcp-client+0x420c4d)

Found by Nallocfuzz.

2 years agofuzz: avoid a couple of NULL pointer dereferences
Frantisek Sumsal [Sat, 20 May 2023 18:13:20 +0000 (20:13 +0200)] 
fuzz: avoid a couple of NULL pointer dereferences

In case one of the allocations fails.

For example:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==17==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fb352a476e5 bp 0x7ffe45154850 sp 0x7ffe45154008 T0)
==17==The signal is caused by a READ memory access.
==17==Hint: address points to the zero page.
SCARINESS: 10 (null-deref)
    #0 0x7fb352a476e5  (/lib/x86_64-linux-gnu/libc.so.6+0x1886e5) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)
    #1 0x435878 in __interceptor_strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc
    #2 0x4de1e4 in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-calendarspec.c:20:21
    #3 0x4deea8 in NaloFuzzerTestOneInput (/build/fuzz-calendarspec+0x4deea8)
    #4 0x4fde33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #5 0x4fd61a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #6 0x4fece9 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #7 0x4ff9b5 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #8 0x4eed1f in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #9 0x4ef5e8 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #10 0x4df105 in main (/build/fuzz-calendarspec+0x4df105)
    #11 0x7fb3528e3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)
    #12 0x41f80d in _start (/build/fuzz-calendarspec+0x41f80d)

Found by Nallocfuzz.

2 years agoREADME: drop the CentOS CI SELinux job
Frantisek Sumsal [Sat, 20 May 2023 15:12:01 +0000 (17:12 +0200)] 
README: drop the CentOS CI SELinux job

It has been failing for more than a year and I don't think that anyone
cares about the stuff it keeps finding.

2 years agoMerge pull request #27714 from yuwata/cryptenroll-password
Mike Yuan [Sat, 20 May 2023 08:33:16 +0000 (16:33 +0800)] 
Merge pull request #27714 from yuwata/cryptenroll-password

cryptenroll-password: tiny cleanups

2 years agocryptenroll: update log messages 27714/head
Yu Watanabe [Fri, 19 May 2023 20:30:33 +0000 (05:30 +0900)] 
cryptenroll: update log messages

2 years agocryptenroll: drop unmet condition
Yu Watanabe [Fri, 19 May 2023 20:30:01 +0000 (05:30 +0900)] 
cryptenroll: drop unmet condition

2 years agoMerge pull request #27707 from mrc0mmand/tests
Yu Watanabe [Fri, 19 May 2023 23:40:01 +0000 (08:40 +0900)] 
Merge pull request #27707 from mrc0mmand/tests

test: provide coverage for a couple of recent-ish issues

2 years agotest: replace Makefile for several tests with symlink to the one for TEST-01-BASIC
Yu Watanabe [Fri, 19 May 2023 19:19:19 +0000 (04:19 +0900)] 
test: replace Makefile for several tests with symlink to the one for TEST-01-BASIC

2 years agoMerge pull request #27676 from ldv-alt/udevadm-verify
Yu Watanabe [Fri, 19 May 2023 20:41:05 +0000 (05:41 +0900)] 
Merge pull request #27676 from ldv-alt/udevadm-verify

udevadm-verify: add support for directory arguments

2 years agoMerge pull request #27701 from poettering/switch-root-same-file
Yu Watanabe [Fri, 19 May 2023 20:39:28 +0000 (05:39 +0900)] 
Merge pull request #27701 from poettering/switch-root-same-file

switch-root: use same_files() logic when checking whether new and old root dir are actually the same

2 years agoMerge pull request #27438 from bluca/dump_ratelimit
Luca Boccassi [Fri, 19 May 2023 20:29:58 +0000 (21:29 +0100)] 
Merge pull request #27438 from bluca/dump_ratelimit

manager: restrict Dump*() to privileged callers or ratelimit

2 years agotest: check if we correctly handle locales with leading spaces 27707/head
Frantisek Sumsal [Fri, 19 May 2023 17:53:55 +0000 (19:53 +0200)] 
test: check if we correctly handle locales with leading spaces

Provides coverage for #27179.

2 years agotests: run all functions with testcase_ prefix automagically
Frantisek Sumsal [Fri, 19 May 2023 16:48:07 +0000 (18:48 +0200)] 
tests: run all functions with testcase_ prefix automagically

2 years agotest: check if we correctly handle invalid UTF-8 in mount stuff
Frantisek Sumsal [Fri, 19 May 2023 16:42:36 +0000 (18:42 +0200)] 
test: check if we correctly handle invalid UTF-8 in mount stuff

Provides coverage for #27611.

2 years agotest: assorted TEST-13-NSPAWN tweaks
Frantisek Sumsal [Fri, 19 May 2023 15:27:38 +0000 (17:27 +0200)] 
test: assorted TEST-13-NSPAWN tweaks

2 years agotest: check if we can use --merge with --follow
Frantisek Sumsal [Fri, 19 May 2023 15:37:17 +0000 (17:37 +0200)] 
test: check if we can use --merge with --follow

Provides coverage for #24565.

2 years agonamespace-util: use inode_same_at() instead of FORMAT_PROC_FD_PATH() 27701/head
Lennart Poettering [Fri, 19 May 2023 12:50:15 +0000 (14:50 +0200)] 
namespace-util: use inode_same_at() instead of FORMAT_PROC_FD_PATH()

Doesn't matter much, but this makes it leas magic and independent of
/proc/ mounts. (Well, it actually doesn't, since the right-hand path is
also in /proc/, but still...

2 years agostat-util: rename files_same() → inode_same()
Lennart Poettering [Fri, 19 May 2023 12:47:37 +0000 (14:47 +0200)] 
stat-util: rename files_same() → inode_same()

Let's be more accurate about what this function does: it checks whether
the underlying reported inode is the same. Internally, this already uses
a better named stat_inode_same() call, hence let's similarly name the
wrapping function following the same logic.

Similar for files_same_at() and path_equal_or_same_files().

No code changes, just some renaming.

2 years agoswitch-root: check if old and new root fs is same via files_same_at()
Lennart Poettering [Tue, 16 May 2023 12:57:20 +0000 (14:57 +0200)] 
switch-root: check if old and new root fs is same via files_same_at()

2 years agostat-util: add _at() variant for files_same()
Lennart Poettering [Mon, 15 May 2023 19:20:17 +0000 (21:20 +0200)] 
stat-util: add _at() variant for files_same()

2 years agojournalctl: make --follow work with --merge again
Frantisek Sumsal [Fri, 19 May 2023 07:17:29 +0000 (09:17 +0200)] 
journalctl: make --follow work with --merge again

Set --boot with --follow only if it's not already set and if --merge is
not used, since it's not compatible with --boot.

Follow-up to 2dd9285bac.
Resolves: #24565

2 years agoMerge pull request #27700 from poettering/switch-root-sync
Lennart Poettering [Fri, 19 May 2023 14:27:23 +0000 (07:27 -0700)] 
Merge pull request #27700 from poettering/switch-root-sync

switch-root: add sync() before getting rid of auxiliary mounts of old root

2 years agomanager: restrict Dump*() to privileged callers or ratelimit 27438/head
Luca Boccassi [Thu, 27 Apr 2023 22:23:30 +0000 (23:23 +0100)] 
manager: restrict Dump*() to privileged callers or ratelimit

Dump*() methods can take quite some time due to the amount of data to
serialize, so they can potentially stall the manager. Make them
privileged, as they are debugging tools anyway. Use a new 'dump'
capability for polkit, and the 'reload' capability for SELinux, as
that's also non-destructive but slow.

If the caller is not privileged, allow it but rate limited to 10 calls
every 10 minutes.

2 years agoratelimit: add ratelimit_left helper
Luca Boccassi [Fri, 28 Apr 2023 12:10:23 +0000 (13:10 +0100)] 
ratelimit: add ratelimit_left helper

2 years agoMerge pull request #27698 from mrc0mmand/test-tweaks
Frantisek Sumsal [Fri, 19 May 2023 13:29:35 +0000 (15:29 +0200)] 
Merge pull request #27698 from mrc0mmand/test-tweaks

test: a couple of performance-related tweaks

2 years agoswitch-root: sync() before MNT_DETACH unmounting all old mounts 27700/head
Lennart Poettering [Fri, 19 May 2023 12:22:14 +0000 (14:22 +0200)] 
switch-root: sync() before MNT_DETACH unmounting all old mounts

As discussed here:

https://github.com/systemd/systemd/pull/27670#discussion_r1196716794

2 years agotree-wide: remove (void) cast around sync()
Lennart Poettering [Fri, 19 May 2023 12:21:21 +0000 (14:21 +0200)] 
tree-wide: remove (void) cast around sync()

The call is void anyway, it doesn't return an failure indication. Hence,
no need to cast void to (void)...

(We got this right in most cases, but forgot some)

2 years agoupdate TODO
Lennart Poettering [Fri, 19 May 2023 11:37:22 +0000 (13:37 +0200)] 
update TODO

2 years agoMerge pull request #27670 from poettering/switch-root-umount-all
Lennart Poettering [Fri, 19 May 2023 12:03:23 +0000 (05:03 -0700)] 
Merge pull request #27670 from poettering/switch-root-umount-all

umount all mounts during MS_MOVE switch root

2 years agotest: build the SELinux test module on the host 27698/head
Frantisek Sumsal [Fri, 19 May 2023 09:45:11 +0000 (11:45 +0200)] 
test: build the SELinux test module on the host

Let's save some time and build the SELinux test module on the host
instead of a possibly unaccelerated VM. This brings the runtime of
TEST-06-SELINUX from ~12 minutes down to a ~1 minute.

2 years agotest: drop generated stuff from the final coverage report
Frantisek Sumsal [Fri, 19 May 2023 09:07:07 +0000 (11:07 +0200)] 
test: drop generated stuff from the final coverage report

Let's drop stuff from the current $BUILD_DIR from the final coverage
report, as it's all generated files (mostly gperf) which we don't
really care about and it makes the Coveralls report confusing, since it
reports "source not available" for all such files.

2 years agotest: make the stress test slightly less stressful on slower machines
Frantisek Sumsal [Fri, 19 May 2023 08:48:15 +0000 (10:48 +0200)] 
test: make the stress test slightly less stressful on slower machines

Without acceleration this part of the test takes over 10 minutes (!),
which feels quite unnecessary. Let's cut down the number of stuff we
dump to the journal in such case, but keep the original value if we run
with acceleration (since in that case it takes less than 10 seconds).

2 years agocore/device: downgrade error when units specified in SYSTEMD_WANTS= not found
Yu Watanabe [Thu, 18 May 2023 20:27:46 +0000 (05:27 +0900)] 
core/device: downgrade error when units specified in SYSTEMD_WANTS= not found

Closes #27693.

2 years agounit: add conditions and deps to make oomd.socket and .service consistent
Yu Watanabe [Thu, 18 May 2023 19:47:34 +0000 (04:47 +0900)] 
unit: add conditions and deps to make oomd.socket and .service consistent

Fixes #27690.

2 years agoMerge pull request #27686 from keszybz/make-boot-output-nicer
Yu Watanabe [Thu, 18 May 2023 18:50:45 +0000 (03:50 +0900)] 
Merge pull request #27686 from keszybz/make-boot-output-nicer

Make boot output nicer

2 years agohwdb: fix Positivo CG15D key toggle touchpad and programmable keys (#27689)
Edson Juliano Drosdeck [Thu, 18 May 2023 18:06:42 +0000 (14:06 -0400)] 
hwdb: fix Positivo CG15D key toggle touchpad and programmable keys (#27689)

2 years agoMerge pull request #27685 from keszybz/the-semiannual-excercise-in-output-narrowing
Yu Watanabe [Thu, 18 May 2023 18:04:47 +0000 (03:04 +0900)] 
Merge pull request #27685 from keszybz/the-semiannual-excercise-in-output-narrowing

The semiannual excercise in output narrowing

2 years agoMerge pull request #27684 from mrc0mmand/more-nspawn-tests
Yu Watanabe [Thu, 18 May 2023 18:00:54 +0000 (03:00 +0900)] 
Merge pull request #27684 from mrc0mmand/more-nspawn-tests

test: further extend systemd-nspawn coverage

2 years agoudevadm-verify: add support for directory arguments 27676/head
Dmitry V. Levin [Wed, 17 May 2023 14:00:00 +0000 (14:00 +0000)] 
udevadm-verify: add support for directory arguments

When an argument specified to udevadm verify is a directory,
verify all *.rules files in that directory.

Suggested-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
2 years agoudev-rules: avoid issuing redundant diagnostics in verify mode
Dmitry V. Levin [Thu, 18 May 2023 17:00:00 +0000 (17:00 +0000)] 
udev-rules: avoid issuing redundant diagnostics in verify mode

When udevadm verify is given an argument that doesn't point to an
existing file, there used to be two diagnostics messages, the first one
at a warning level, and the second one at an error level:

$ build/udevadm verify /no/such/directory
Failed to open /no/such/directory, ignoring: No such file or directory
Failed to parse rules file /no/such/directory: No such file or directory

Fix this by issuing just the error message.

2 years agointegration test: pass 'noresume' to qemu
Luca Boccassi [Thu, 18 May 2023 12:08:56 +0000 (13:08 +0100)] 
integration test: pass 'noresume' to qemu

When running on Debian/Ubuntu, I get a minute delay or so on every boot
because the local initramfs tries to resume from hibernation. This is
not really useful here, so always skip it

2 years agotestsuite-17.11.sh: fix assert_1()
Dmitry V. Levin [Thu, 18 May 2023 12:00:00 +0000 (12:00 +0000)] 
testsuite-17.11.sh: fix assert_1()

Fix assert_1() to exit with an error status in case of a failed assertion.

2 years agotest: wrap setfacl when running with ASan 27684/head
Frantisek Sumsal [Thu, 18 May 2023 15:30:36 +0000 (17:30 +0200)] 
test: wrap setfacl when running with ASan

2 years agooomd: shorten message 27686/head
Zbigniew Jędrzejewski-Szmek [Thu, 18 May 2023 14:29:20 +0000 (16:29 +0200)] 
oomd: shorten message

We can make the message shorter and more direct without changing
the meaning.

2 years agosd-bus,sd-event: allow querying of description even after fork
Zbigniew Jędrzejewski-Szmek [Thu, 18 May 2023 15:05:41 +0000 (17:05 +0200)] 
sd-bus,sd-event: allow querying of description even after fork

This in unnecessarilly unpleasant: the code might report about a bus
connection, e.g. in an error message or assert. Let's let it query
the name of the object.

This partially reverts f4b2933ee7890e5d414ab266d8586f19027a2bd9.

2 years agosd-bus: do not assert if bus description is not set
Zbigniew Jędrzejewski-Szmek [Thu, 18 May 2023 15:03:53 +0000 (17:03 +0200)] 
sd-bus: do not assert if bus description is not set

The code has an explicit fallback using runtime_scope_to_string(), which
is also documented in the man page. So -ENXIO should only be returned when
the fallback doesn't work, i.e. bus->runtime_scope == -EINVAL.

Fixup for f4b2933ee7890e5d414ab266d8586f19027a2bd9.

This should fix the following errors during boot:
May 18 16:05:37 fedora systemd-update-utmp[263]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:38 fedora systemctl[360]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:38 fedora systemctl[363]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:38 fedora systemd-update-utmp[372]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:38 fedora @ystemctl[387]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:40 fedora systemd-update-utmp[477]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:41 fedora systemd-homed[509]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:41 fedora systemd-logind[510]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:41 fedora systemd-update-utmp[529]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:42 fedora systemd-user-runtime-dir[531]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:42 fedora systemctl[542]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.
May 18 16:05:42 fedora systemd-hostnamed[556]: Assertion 'bus->description' failed at src/libsystemd/sd-bus/sd-bus.c:4201, function sd_bus_get_description(). Ignoring.

2 years agomeson: rename "dist-check" suite to "dist" 27685/head
Zbigniew Jędrzejewski-Szmek [Thu, 18 May 2023 15:16:33 +0000 (17:16 +0200)] 
meson: rename "dist-check" suite to "dist"

*Now* one of those tests is the longest, let's make them a bit shorter.

2 years agomeson: rename "fuzzers" suite to "fuzz"
Zbigniew Jędrzejewski-Szmek [Thu, 18 May 2023 15:14:50 +0000 (17:14 +0200)] 
meson: rename "fuzzers" suite to "fuzz"

Fuzz tests have all the longest names, so by making this name
shorter, we save three columns of screen real estate.

2 years agotest: don't mount /sys & /proc if already mounted
Frantisek Sumsal [Thu, 18 May 2023 13:52:43 +0000 (15:52 +0200)] 
test: don't mount /sys & /proc if already mounted

2 years agonspawn: make the error message less confusing
Frantisek Sumsal [Thu, 18 May 2023 13:14:20 +0000 (15:14 +0200)] 
nspawn: make the error message less confusing

by not printing (null) and dropping the extraneous slash, e.g.:

systemd-nspawn[2049]: Failed to resolve (null)//proc: Permission denied

2 years agotest: add a couple of tests for nspawn config files
Frantisek Sumsal [Wed, 17 May 2023 20:36:07 +0000 (22:36 +0200)] 
test: add a couple of tests for nspawn config files

2 years agonspawn: correctly parse a list of interfaces
Frantisek Sumsal [Thu, 18 May 2023 10:54:15 +0000 (12:54 +0200)] 
nspawn: correctly parse a list of interfaces

Interface=/MACVLAN=/IPVLAN= nspawn options take a _list_ of interface
names - this was recently enhanced by 2f091b1b49 to support interface
pairs. Unfortunately, this also introduced a regression where we don't
parse the list as a list, but just as a single value. For example,
having `Interface=sd-shared1 sd-shared2` in an nspawn config file would
throw:

systemd-nspawn[898]: Network interface, interface name not valid: sd-shared1 sd-shared2
systemd-nspawn[898]: /run/systemd/nspawn/testsuite-13.nspawn-settings.1po.nspawn:41: Failed to parse file: Invalid argument

Follow-up to 2f091b1b49.

2 years agotest: create nspawn config files when collecting coverage
Frantisek Sumsal [Wed, 17 May 2023 19:49:20 +0000 (21:49 +0200)] 
test: create nspawn config files when collecting coverage

Which bind-mounts the $BUILD_DIR into the container. This whole coverage
thing is getting slightly ridiculous.

Follow-up to 3b2823a749, but for non-machinectl containers.

2 years agotest: cover --bind-user=
Frantisek Sumsal [Wed, 17 May 2023 13:35:10 +0000 (15:35 +0200)] 
test: cover --bind-user=

2 years agotest: add a couple of sanity tests for --port=
Frantisek Sumsal [Wed, 17 May 2023 12:57:50 +0000 (14:57 +0200)] 
test: add a couple of sanity tests for --port=

2 years agotest: drop "check" from test case names
Frantisek Sumsal [Wed, 17 May 2023 11:57:37 +0000 (13:57 +0200)] 
test: drop "check" from test case names

2 years agotest: exercise a couple of error paths in nspawn's OCI code as well
Frantisek Sumsal [Wed, 17 May 2023 11:09:02 +0000 (13:09 +0200)] 
test: exercise a couple of error paths in nspawn's OCI code as well

2 years agonspawn: clean up & unify cleanup handlers
Frantisek Sumsal [Wed, 17 May 2023 09:06:40 +0000 (11:06 +0200)] 
nspawn: clean up & unify cleanup handlers

Also, make them follow our naming conventions.

2 years agofuzz: rename long samples
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 16:24:49 +0000 (18:24 +0200)] 
fuzz: rename long samples

With those long filenames, output doesn't fit on the terminal.

2 years agomkosi: use wildcard to shorten things
Zbigniew Jędrzejewski-Szmek [Thu, 11 May 2023 19:22:08 +0000 (21:22 +0200)] 
mkosi: use wildcard to shorten things

2 years agoRevert "resolved: address DVE-2018-0001"
Dimitri John Ledkov [Thu, 30 Mar 2023 20:58:40 +0000 (21:58 +0100)] 
Revert "resolved: address DVE-2018-0001"

DVE-2018-0001 has been fixed by the vendor, and this workaround is no longer
needed. Removal of this workaround improves performance as queries used to be
retried more than necessory.

This reverts 1ed4e584f3a03f47d2313314b6b5a78c9dc6f135.
This reverts https://github.com/systemd/systemd/pull/18638

Keep .clamp_feature_level_servfail name, as imho it is more descriptive than
just .clamp_feature_level, especially if we ever need to add similar
workarounds as the one we had for DVE-2018-0001.

However note that there is another retry which was added in
8a33aa199dc1cea14494469ac9d7d08dc6721df1 - seems to be working around Stubby
resolver behaviour.

Fixes: #26967
2 years agonspawn: use ASSERT_PTR() more
Frantisek Sumsal [Wed, 17 May 2023 08:53:57 +0000 (10:53 +0200)] 
nspawn: use ASSERT_PTR() more

2 years agonss-resolve: report EAI_NODATA
Mateusz Poliwczak [Wed, 17 May 2023 15:55:42 +0000 (17:55 +0200)] 
nss-resolve: report EAI_NODATA

2 years agobusctl: Add space before "tree" paths for copying
Matt Johnston [Thu, 18 May 2023 04:28:06 +0000 (12:28 +0800)] 
busctl: Add space before "tree" paths for copying

This allows a double-click on the path in a terminal to select the
whole path. Otherwise the leading '-' character is also included in
the copied path.

```
New output:
./busctl tree org.freedesktop.network1
`- /org
  `- /org/freedesktop
    |- /org/freedesktop/LogControl1
    `- /org/freedesktop/network1
      |- /org/freedesktop/network1/link
      | |- /org/freedesktop/network1/link/_31
      | |- /org/freedesktop/network1/link/_32
```

2 years agoMerge pull request #27673 from YHNdnzj/restartsteps-transient
Yu Watanabe [Thu, 18 May 2023 08:54:33 +0000 (17:54 +0900)] 
Merge pull request #27673 from YHNdnzj/restartsteps-transient

core,bus-unit-util: add missing RestartSteps and RestartMaxDelaySec to bus_append_service_property

2 years agoREADME: drop busybox requirement
Yu Watanabe [Thu, 18 May 2023 08:49:41 +0000 (17:49 +0900)] 
README: drop busybox requirement

Follow-up for 5656759d0617594ee8e850a258a21d3e187bf02c.

2 years agoMerge pull request #27677 from mrc0mmand/test-followups
Yu Watanabe [Thu, 18 May 2023 08:47:02 +0000 (17:47 +0900)] 
Merge pull request #27677 from mrc0mmand/test-followups

test: get rid of the busybox stuff

2 years agoRevert (partially) "man: Clarify when OnFailure= activates after restarts (#7646)"
Mike Yuan [Wed, 17 May 2023 15:47:53 +0000 (23:47 +0800)] 
Revert (partially) "man: Clarify when OnFailure= activates after restarts (#7646)"

This reverts part of commit bd2538b50ba283c9ce39142d5d16d90184a55b90,
specifically changes to the description of service state between auto-restarts.

Fixes #27594

2 years agotest: explicitly use bash 27677/head
Frantisek Sumsal [Wed, 17 May 2023 18:14:05 +0000 (20:14 +0200)] 
test: explicitly use bash

To avoid unexpected surprised in CIs with different default shell.

2 years agotest: get rid of the busybox stuff
Frantisek Sumsal [Wed, 17 May 2023 17:10:55 +0000 (19:10 +0200)] 
test: get rid of the busybox stuff

It already required a lot of workarounds, since the busybox utilities
often work differently than their "full" counterparts, and putting
the container together using our "tools" is quite simple anyway.

2 years agobus-unit-util: add missing RestartSteps and RestartMaxDelaySec to bus_append_service_... 27673/head
Mike Yuan [Wed, 17 May 2023 15:33:05 +0000 (23:33 +0800)] 
bus-unit-util: add missing RestartSteps and RestartMaxDelaySec to bus_append_service_property

Follow-up for be1adc27fc61ba723bd0392199f7b82ef9f1c970

2 years agocore: rename RestartSecMax to RestartMaxDelaySec
Mike Yuan [Wed, 17 May 2023 16:15:23 +0000 (00:15 +0800)] 
core: rename RestartSecMax to RestartMaxDelaySec

2 years agotest: mangle the machine ID only for the QEMU test part
Frantisek Sumsal [Wed, 17 May 2023 07:05:04 +0000 (09:05 +0200)] 
test: mangle the machine ID only for the QEMU test part

systemd-nspawn doesn't like invalid machine IDs and refuses to boot with one:

TEST-74-AUX-UTILS RUN: Tests for auxiliary utilities
...
Spawning container TEST-74-AUX-UTILS--3 on /var/tmp/systemd-test-TEST-74-AUX-UTILS_3/root.
Press Ctrl-] three times within 1s to kill container.
Failed to read machine ID from container image: Structure needs cleaning
E: nspawn failed with exit code 1

Follow-up to b4d42a82eb.

2 years agoMerge pull request #27669 from keszybz/man-fixes-254
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 12:12:33 +0000 (14:12 +0200)] 
Merge pull request #27669 from keszybz/man-fixes-254

Some simple man page fixes to reduce the list of issues tagged for v254

2 years agoMerge pull request #27671 from keszybz/manpage-fixes-254-2
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 12:12:08 +0000 (14:12 +0200)] 
Merge pull request #27671 from keszybz/manpage-fixes-254-2

man: fixes for assorted issues reported by the manpage-l10n project

2 years agoman: fixes for assorted issues reported by the manpage-l10n project 27671/head
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 10:24:04 +0000 (12:24 +0200)] 
man: fixes for assorted issues reported by the manpage-l10n project

Fixes #26761.

2 years agoman/tmpfiles: fix off-by-one in example 27669/head
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 09:16:56 +0000 (11:16 +0200)] 
man/tmpfiles: fix off-by-one in example

Reported and diagnosed by gitterman. Fixes #26617.

2 years agoman: explain allowed values for /sys/power/{disk,state}
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 09:12:32 +0000 (11:12 +0200)] 
man: explain allowed values for /sys/power/{disk,state}

Also fix the grammar: "neither" can only be used with two values, and
here we have an inderminate number >= 1.

Fixes #26460.

2 years agoman: say that ProtectClock= also affects reads
Zbigniew Jędrzejewski-Szmek [Wed, 17 May 2023 07:52:17 +0000 (09:52 +0200)] 
man: say that ProtectClock= also affects reads

Fixes #26413: the docs said that the filter prevents writes, but it just a
filter at the system call level, and some of those calls are used for writing
and reading. This is confusing esp. when a higher level library call like
ntp_gettime() is denied.

I don't think it's realistic that we'll make the filter smarter in the near
future, so let's change the docs to describe the implementation.

Also, split out the advice part into a separate paragraph.

2 years agoswitch-root: when switching root via MS_MOVE unmount all remaining mounts first 27670/head
Lennart Poettering [Mon, 15 May 2023 19:25:12 +0000 (21:25 +0200)] 
switch-root: when switching root via MS_MOVE unmount all remaining mounts first

Let's try to unmount anything left, since if we don't they will remain
as "shadow" mounts, hidden underneath our new root.

This is only necessary when we transition into a new root via MS_MOVE.
If we do so via pivot_root() this is not necessary as the kernel will
get rid of the mounts anyway for us.

2 years agotest: add test for umount_recursive()
Lennart Poettering [Tue, 16 May 2023 13:41:48 +0000 (15:41 +0200)] 
test: add test for umount_recursive()

2 years agomount-util: make "prefix" parameter optional for umount_recursive()
Lennart Poettering [Mon, 15 May 2023 19:23:55 +0000 (21:23 +0200)] 
mount-util: make "prefix" parameter optional for umount_recursive()

When switching root via MS_MOVE there's no need to filter the mount
table by prefix

2 years agomount-util: extend umount_recursive() to optionally take list of dirs to exclude...
Lennart Poettering [Tue, 16 May 2023 13:54:10 +0000 (15:54 +0200)] 
mount-util: extend umount_recursive() to optionally take list of dirs to exclude from the unmounting

2 years agomount-util: keep fd to /proc/self/mountinfo continously open in umount_recursive()
Lennart Poettering [Tue, 16 May 2023 13:52:33 +0000 (15:52 +0200)] 
mount-util: keep fd to /proc/self/mountinfo continously open in umount_recursive()

That way, if we end up unmounting /proc/ in our loop we can still
operate correctly, since we don't have to go through /proc/ again to
open the mount table again.

2 years agoMerge pull request #27664 from mrc0mmand/test-merge
Yu Watanabe [Wed, 17 May 2023 00:53:58 +0000 (09:53 +0900)] 
Merge pull request #27664 from mrc0mmand/test-merge

test: let's merge more tests together

2 years agotest: move runas() to the shared utility library 27664/head
Frantisek Sumsal [Tue, 16 May 2023 20:41:03 +0000 (22:41 +0200)] 
test: move runas() to the shared utility library

2 years agotest: make shellcheck happy again
Frantisek Sumsal [Tue, 16 May 2023 18:55:45 +0000 (20:55 +0200)] 
test: make shellcheck happy again

No functional changes.

2 years agotest: merge TEST-48-START-STOP-NO-RELOAD into TEST-23-UNIT-FILE
Frantisek Sumsal [Tue, 16 May 2023 18:41:35 +0000 (20:41 +0200)] 
test: merge TEST-48-START-STOP-NO-RELOAD into TEST-23-UNIT-FILE