Commit Graph
40864 Commits
Author SHA1 Message Date
Lennart Poettering 9f5b68d6b7 analyze: add --image= + --root= to --help text 2022-10-25 17:47:52 +02:00
Luca Boccassi 5416d04875 test-load-fragment: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Luca Boccassi 4200134c85 test-unit-name: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Luca Boccassi 0011d68627 test-specifier: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Luca Boccassi 0baddbebe5 test-id128: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Luca Boccassi 92ebf1773a test-fs-util: do not fail if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 16:00:26 +01:00
Luca Boccassi b7af9b43a5 test-condition: skip test if machine-id is missing
When building in a chroot there might not be any machine-id
2022-10-25 15:10:15 +01:00
Luca Boccassi 6cae57d9ad test-sd-device: check if /run/udev/ exists
When running the tests in a chroot /sys/ might be writable, but it
doesn't mean udev will be running

Assertion 'sd_event_add_inotify(event, NULL, "/run/udev" , IN_DELETE, on_inotify, NULL) >= 0' failed at src/libsystemd/sd-device/test-sd-device.c:352, function test_sd_device_enumerator_filter_subsystem(). Aborting.
2022-10-25 15:10:15 +01:00
Franck Bui 46e0b5dca7 random-seed: clarify one comment 2022-10-25 13:56:37 +02:00
Franck Bui ea37e1edf9 random-seed: downgrade some messages
In these cases, we eat up the error and propagate success so we should log at
warning level only.
2022-10-25 12:16:22 +02:00
Franck Bui 3f6fbfe6f1 random_seed: minor improvement in run() 2022-10-25 12:16:22 +02:00
Franck Bui d3fa881aa1 random-seed: split out run()
No functional change.
2022-10-25 12:16:22 +02:00
Franck Bui 4620c0af5d random-seed: no need to pass 'mode' argument when opening /dev/urandom
The open() call is not supposed to create /dev/urandom.

No functional change.
2022-10-25 12:16:22 +02:00
Franck Bui 205138d88a random-seed: make the logic to calculate the number of bytes read from the random seed file clearer
We want the size to lie within [/proc/sys/kernel/random/poolsize,RANDOM_POOL_SIZE_MAX]
interval. Let's make it more obvious.

Also move the logic in a dedicated function.
2022-10-25 12:16:22 +02:00
Franck Bui 0d0c6639d4 random-seed: use getopt()
It's not really necessary since systemd-random-seed is an internal tool for the
moment but this might change in future (to allow system installers to
initialize a random seed file for example).

Also introducing new options will be easier.
2022-10-25 12:16:18 +02:00
Yu Watanabe 4117366a28 btrfs-util: move btrfs_defrag_fd() from fd-util.[ch]
After d71ece3f0b, the function is not used
in libbasic or libsystemd anymore. Let's move it to more appropriate
place.
2022-10-25 16:25:46 +09:00
Yu Watanabe 8cf144c3f6 Merge pull request #25052 from yuwata/resolvconf-compat
resolvconf-compat: first try to use the specified interface name as is
2022-10-25 04:08:41 +09:00
Frantisek Sumsal f5dfbdd014 udev: fix the errno check if a couple of places
Follow-up to 691a596da1.
2022-10-25 04:08:17 +09:00
Yu Watanabe 8207ec4b49 Merge pull request #25080 from keszybz/search-paths
Refusing linking files underneath our hierarchy, improve error messages
2022-10-25 01:57:41 +09:00
Luca BRUNO 88f8bd753a test-string-util: remove several strdupa() calls
This performs the same semantic transformation as the Coccinelle
script 'strdupa.cocci'.
Somehow the existing semantic patch is not properly triggering on
this 'string_replace_char' test.
2022-10-25 01:04:12 +09:00
Lennart Poettering 3b1494ad70 homed: properly initialize all return params 2022-10-24 15:56:59 +02:00
Yu Watanabe 7d4e850323 resolvconf-compat: first parse provided interface name as is
Then, try to drop multiple protocol specifiers at the end.

Strictly speaking, this breaks backward compatibility:
if eth0 and eth0.42 exists, then previously,
    echo 'nameserver 192.168.0.1' | resolvconf -a eth0.42
adds the DNS server to eth0 instead of eth0.42, as we unconditionally
dropped the specifier after the last dot, and
    echo 'nameserver 192.168.0.1' | resolvconf -a eth0.42.dhcp
adds the DNS server to eth0.42. However, with this commit, now
the both commands add the DNS server to eth0.42. But, hopefully,
this should be preferable behavior.

Fixes #25032.
2022-10-24 20:34:10 +09:00
Zbigniew Jędrzejewski-Szmek a6f318a554 systemctl,manager: refuse linking unit files underneath the search paths
We treat symlinks to unit files outside of the search path differently from
symlinks to unit files *in* the search path. The former are "linked" unit
files, while the latter are enablement symlinks and such and will be removed
when disabling the unit.

The history of the check for in_search_path() is interesting: this condition
was added already in the first version of the code in
830964834f. Since the beginning, matching
arguments would simply be ignored. I think this is dubious. The man page says:

> Link a unit file that is *not* in the unit file search paths
> into the unit file search path

But for backwards-compat, let's continue to silently do nothing for files
*in* the search path.

The case of symlinks to unit files underneath the search path, but in some
subdirectory, is less clear. We didn't check for this case, so it was
implicitly allowed. But that's just an oversight, we don't want to allow people
to create additional subhierarchies under our hierarchy. Let's check for this
case and refuse.

Closes #24605.
2022-10-24 12:51:41 +02:00
Zbigniew Jędrzejewski-Szmek f31f10a620 shared/install: check that install_changes_add() didn't fail on success
This adds a check for an allocation error for the calls to install_changes_add()
where we're plannig to return success from the call. In cases where we're
returning failure, it doesn't matter as much: the operation will fail anyway,
and if the allocation fails, we'll just get a less descriptive error message.
2022-10-24 12:38:28 +02:00
Zbigniew Jędrzejewski-Szmek 81de696273 shared/install: add forgotten calls to install_changes_add()
The machinery to report a good error message only works if the
error was registered with install_changes_add() and a file name. Otherwise
we only get a generic "Op failed: %m" message.

In some places -EINVAL is replaced by -EUCLEAN, so that we get the proper
error message.
2022-10-24 12:38:28 +02:00
Zbigniew Jędrzejewski-Szmek 94e7298d30 shared/install: make install_changes_add propagate passed-in errno value
The function was written to only return an error from internal allocation
failures, because when using it to create a bus message, we want to distinguish
a failed operation from an allocation error when sending the reply. But it
turns out that the only caller that makes this distinction checks that the
passed-in errno value ('type') is not negative beforehand. So we can make the
function pass 'type' value through, which makes most of the callers nicer.

No functional change.
2022-10-24 12:37:19 +02:00
Yu Watanabe 427eeb44f2 resolvectl: rely on invoked_as() 2022-10-24 18:55:53 +09:00
Yu Watanabe a56dd1580d string-util: make free_and_strdup_warn() return 1 when new string is assigned 2022-10-24 18:55:11 +09:00
Yu Watanabe 5905bddce2 systemctl: fix potential memleak on failure in determine_default()
And make verb_set_default() return zero on success.
2022-10-24 18:55:11 +09:00
Franck Bui 141d1da021 random-seed: make one more use of random_write_entropy()
No functional change.
2022-10-21 14:49:53 +02:00
Franck Bui 249d31b00a random-seed: shorten a bit may_credit()
No functional change.
2022-10-21 14:49:01 +02:00
Michael Biebl 8c5787d75e Merge pull request #25083 from bluca/revert_timer
Revert "Fix issue with system time set back (#24131)"
2022-10-20 19:58:10 +02:00
Luca Boccassi edbaca9f9c Merge pull request #25081 from keszybz/test-local-addresses-fail
Fix racy check in test-local-addresses
2022-10-20 17:47:14 +02:00
Luca Boccassi 701f7f6c8f Merge pull request #25077 from keszybz/completions-optional-components
Fix completions when machinectl is not installed and other fixes
2022-10-20 15:57:46 +02:00
Luca Boccassi 0bf1d0ff04 Revert "Fix issue with system time set back (#24131)"
This fix unfortunately introduced a much worse regression that
is affecting many users, so let's revert it for now and rework
it in the next release.

This reverts commit 5ded3917a1.

Fixes https://github.com/systemd/systemd/issues/24984
2022-10-20 14:01:09 +01:00
Luca Boccassi 40c05a3459 service: do fine-grained validation of CPUSchedulingPriority= at execution time
The precise bounds of the scheduling priority depend on the scheduling policy,
so depending on the order in which the two settings are specified the
validation might pass or fail.
When checking the setting only validate the outer range (valid values in general are 0 to 99),
and let the execution fail later if the priority does not match the
specified policy (1 to 99 for RR/FIFO, 0 for the rest).

Fixes https://github.com/systemd/systemd/issues/20320
2022-10-20 14:29:45 +02:00
Luca Boccassi 63857bf4f7 core: allow-list char-rtc with ProtectClock=yes only if needed
Allow-listing a device implicitly blocks everything else, so this
has the opposite of the intended effect when PrivateDevices= is
not used.
Allow-list char-rtc only if there is a device policy set.

Fixes https://github.com/systemd/systemd/issues/18142
2022-10-20 13:11:10 +02:00
Zbigniew Jędrzejewski-Szmek 0ed08e50dd test-local-addresses: drop racy check
The test would fail when addresses were being removed in parallel. In general,
the check is only valid when the machine configuration is static, which in
general isn't true.

CentOS CI (Arch Linux) fails in TEST-02-UNITTESTS test-local-addresses:

10:38:05 (gdb) #0  0x00007f86260a164c in ?? () from /usr/lib/libc.so.6
10:38:05 No symbol table info available.
10:38:05 #1  0x00007f8626051958 in raise () from /usr/lib/libc.so.6
10:38:05 No symbol table info available.
10:38:05 #2  0x00007f862603b53d in abort () from /usr/lib/libc.so.6
10:38:05 No symbol table info available.
10:38:05 #3  0x00007f862639a755 in log_assert_failed (
10:38:05     text=text@entry=0x56180e56c03b "n == n_ipv4 + n_ipv6",
10:38:05     file=file@entry=0x56180e56c0d1 "src/test/test-local-addresses.c",
10:38:05     line=line@entry=45,
10:38:05     func=func@entry=0x56180e56c360 <__PRETTY_FUNCTION__.6> "test_local_addresses") at ../build/src/basic/log.c:853
10:38:05 No locals.
10:38:05 #4  0x000056180e56b77e in test_local_addresses ()
10:38:05     at ../build/src/test/test-local-addresses.c:45
10:38:05         a = 0x0
10:38:05         n = 234
10:38:05         n_ipv4 = 236
10:38:05         n_ipv6 = 7
10:38:05         __PRETTY_FUNCTION__ = "test_local_addresses"
10:38:05         __func__ = "test_local_addresses"
10:38:05 #5  0x000056180e56ba67 in run_test_table () at ../build/src/shared/tests.h:106
10:38:05         r = 0
10:38:05         t = 0x56180e56e010 <__unique_prefix_static_test_table_entry10>
10:38:05         __PRETTY_FUNCTION__ = <optimized out>
10:38:05         __func__ = "run_test_table"
10:38:05 #6  0x000056180e56bb2f in main (argc=1, argv=0x7ffc3a814808)
10:38:05     at ../build/src/test/test-local-addresses.c:81
10:38:05         _intro = 0x0
10:38:05         _outro = 0x0
10:38:05         _r = 0
10:38:05         _q = 0
10:38:05 (gdb)

The logs show that there's a huge number of private addresses, probably from
some other test running in parallel.
2022-10-20 12:58:16 +02:00
Zbigniew Jędrzejewski-Szmek 3f861e8dd9 test-local-addresses: inline iterator variable 2022-10-20 12:57:31 +02:00
Zbigniew Jędrzejewski-Szmek 983e637872 resolved: drop unnecessary empty lines 2022-10-20 12:57:31 +02:00
Zbigniew Jędrzejewski-Szmek d856e1a745 tree-wide: inline declarations of sd_netlink_message iterators
Most places were already converted, but a few weren't for some reason.
2022-10-20 12:57:31 +02:00
Zbigniew Jędrzejewski-Szmek 5ad58fea73 Make comment about coordinating offline and online installation symmetric
https://github.com/systemd/systemd/pull/24728#issuecomment-1260966910
2022-10-20 12:28:00 +02:00
Zbigniew Jędrzejewski-Szmek 99b8149ae1 machinectl: allow --max-addresses=0
Sometimes the addresses are not important, so allow skipping them in output.
2022-10-20 09:57:42 +02:00
Luca Boccassi 6762c907c4 Merge pull request #25068 from aafeijoo-suse/bash-completion-dissect
dissect: add missing help option and bash-completion support
2022-10-19 17:30:55 +02:00
Frantisek Sumsal c2c4fc4888 Merge pull request #25059 from keszybz/fopen-re
Use "re" or "r" as appropriate for various calls
2022-10-19 12:49:31 +00:00
Antonio Alvarez Feijoo 1b967529d2 dissect: add missing --umount to the help output 2022-10-19 14:42:42 +02:00
Luca Boccassi 875c0bd07e Merge pull request #25055 from keszybz/coredump-deadlock
Fix coredump deadlock with overly long backtraces
2022-10-19 14:21:33 +02:00
Luca Boccassi 10a336cd93 Merge pull request #25056 from yuwata/sd-device-monitor-set-description
tree-wide: set description for device monitor
2022-10-19 13:04:17 +02:00
Zbigniew Jędrzejewski-Szmek f3bd4b3df5 tree-wide: do not use "re" with fmemopen
The man page says nothing about "e". Glibc clearly accepts it without fuss, but
it is meaningless for a memory object (and probably doesn't work). This use is
not portable, so let's avoid it.
2022-10-19 10:10:57 +02:00
Zbigniew Jędrzejewski-Szmek dc1768131a shared/tpm2-util: wrap comments 2022-10-19 10:10:57 +02:00