Commit Graph
38461 Commits
Author SHA1 Message Date
Yu Watanabe 0b6bf4b674 shared/install: use correct cleanup function
Fixes #23250.
2022-05-02 22:17:56 +01:00
Jan Janssen 3ca0b105eb boot: Mark loader.conf settings with (config) 2022-05-02 18:00:08 +01:00
Lennart Poettering 07a442ef8b creds: trivial coding style fixes
As per:

https://github.com/systemd/systemd/pull/23170#pullrequestreview-959233817
2022-05-02 18:04:53 +02:00
Lennart Poettering 41be3b099f Merge pull request #23170 from poettering/creds-copy
import system credentials from sd-stub + qemu fw_cfg + kernel cmdline explicitly in PID 1
2022-05-02 16:32:21 +02:00
Luca Boccassi 6a59dfa108 analyze security: print DeviceAllow list
Many sandboxing options add implicit DeviceAllow rules, which might be confusing
for users running systemd-analyze security and not expecting it.
Print the list.

Fixes https://github.com/systemd/systemd/issues/23185
2022-05-01 13:43:01 +09:00
Luca Boccassi 444d9abd06 analyze: fix crash with online security check
1449b0f8a9 fixed seccomp arch check for the offline case,
but broke it for the normal case, as when coming from D-Bus the
list of seccomp architectures is already converted to string.

Fixes https://github.com/systemd/systemd/issues/23224
2022-05-01 11:47:44 +09:00
Luca Boccassi f470cb6d13 stat-util: ignore hidden_or_backup_file when checking if dir is empty
Commit https://github.com/systemd/systemd/commit/a068aceafbf
changed dir_is_emtpy_at to use FOREACH_DIRENT_IN_BUFFER instead of
FOREACH_DIRENT, but used dot_or_dotdot which just checks if the name
is literally '.' or '..' which is not enough, previous behaviour was
to ignore all hidden files, so restore that and add a test case.

Fixes https://github.com/systemd/systemd/issues/23220
2022-05-01 11:41:43 +09:00
Yu Watanabe 08300bb035 core/device: use DEVICE_FOUND_MASK 2022-04-30 04:14:10 +09:00
Yu Watanabe 1363eeca94 core/device: minor coding style updates 2022-04-30 04:14:10 +09:00
Yu Watanabe 42ebcebfef core/device: drop unused unit name generated from path 2022-04-30 04:14:10 +09:00
Yu Watanabe 03a94b73c4 core/device: device_found_node() does not accept DEVICE_FOUND_UDEV 2022-04-30 04:14:10 +09:00
Yu Watanabe 0e38cee883 core/device: use sd_device_new_from_devname() to verify the device node 2022-04-30 04:14:10 +09:00
Yu Watanabe f374631a56 core/device: use udev_available() 2022-04-30 04:14:10 +09:00
Yu Watanabe 4212fa83d6 core/device: use device_get_property_bool() 2022-04-30 04:14:10 +09:00
Yu Watanabe 15345fc677 sd-device: introduce device_get_property_bool() 2022-04-30 04:14:10 +09:00
Yu Watanabe dd309fcdb8 core/device: use _cleanup_ attribute at one more place 2022-04-30 04:14:10 +09:00
Yu Watanabe a7fb1f2eae core/device: unit_name_from_path() does not return -ENAMETOOLONG anymore
Follow-up for 1d0727e76f.
2022-04-30 04:14:10 +09:00
Yu Watanabe 47e72170c1 core/device: use strv_consume() 2022-04-30 04:14:10 +09:00
Yu Watanabe df8774263c Merge pull request #23226 from keszybz/libsystemd-length-assert
Add assert about DHCP packet length in libsystemd-network
2022-04-30 03:03:18 +09:00
Zbigniew Jędrzejewski-Szmek 6f1b4574b4 libsystemd-network: add assert about packet length
We reject too-short packets in client_receive_message_raw(), so
the packets that dhcp_packet_verify_headers() gets are of sufficient size.
But let's add an assert to clarify this for the reader.

Closes #23223.
2022-04-29 15:56:53 +02:00
Zbigniew Jędrzejewski-Szmek 9a94baa6c7 libsystemd-network: do not split messages in half
This makes grepping for the messages unnecessarily painful.
2022-04-29 15:56:53 +02:00
Yu Watanabe 606104bcdb core: drop non-default value for DefaultLimitMEMLOCK= 2022-04-29 21:15:55 +09:00
Yu Watanabe 0bc055cf52 login: drop non-default value for RuntimeDirectoryInodesMax= 2022-04-29 21:15:21 +09:00
Yu Watanabe 08a767f1e0 login: make RuntimeDirectoryInodesMax= support K, G, M suffixes
Fixes #23017.
2022-04-29 21:08:15 +09:00
Lennart Poettering 05eb896f3f creds-tool: properly search for both encrypted + unencrypted creds
Also, properly hook up things with the new fixed paths for system
credentials.
2022-04-28 18:12:00 +02:00
Lennart Poettering 2ad591a3a3 pid1: search for creds in LoadCredential=/LoadCredentialEncrypted=
This adds support for searching for credentials more comprehensively.

Specifically, unless an absolute source path is specified we'll now
search for the credentials in the system credentials first, and then in
/etc/credstore/, /run/credstore/, and /usr/lib/credstore, making these
dirs hence the recommended place for credentials to leave in the system.

For LoadCredentialEncrypted= we'll also look into
/etc/credstore.encrypted/, /run/credstore.encrypted/, …. These dirs are
hence suitable for credentials whose provenience isn't trusted (e.g.
UEFI creds from systemd-stub), and thus require to be authenticated
before use.
2022-04-28 18:12:00 +02:00
Lennart Poettering 4b9a4b0179 pid1: import creds from sd-stub + qemu + kernel cmdline
Let's beef up our system credential game a bit, and explicitly import
creds from sd-stub, from qemu fw_cfg and the kernel cmdline and expose
them in the same way as those passed in from nspawn.

Specifically, this will imprt such credentials to
/run/credentials/@system (if the source can be trusted, as in the
qemu/kernel cmdline case) and /run/credentials/@encrypted (otherwise,
such as sd-stub provided ones).

Once imported we'll set the $CREDENTIALS_PATH env var for PID 1, like it
would be done by a container manager for the payload. (Conversely, we'll
also creat a symlink from /run/credentials/@system to whatever is set in
$CREDENTIALS_PATH in case we are invoked by a container manager, thus
providing a fixed path where system credentials are found).
2022-04-28 18:12:00 +02:00
Lennart Poettering 5c1d67af46 pid1: load 'qemu_fw_cfg' kmod super early, so that we can import credentials from it
In one of the next commits we want to add support for importing system
credentials from qemu_fw_cfg, very early during boot. (So that we can
use the credentials therein for generators and even earlier). But that
means udev won#t load these modules for us, we have to load them
manually first.
2022-04-28 17:54:14 +02:00
Zbigniew Jędrzejewski-Szmek 6ef00eb846 Merge pull request #23200 from keszybz/oomd-docs
Extend the documentation for oomd a bit
2022-04-28 17:46:03 +02:00
Zbigniew Jędrzejewski-Szmek 4d620b90d9 oomd: "descendent" → "descendant"
The latter is the common spelling apparently.
2022-04-28 15:46:44 +02:00
Luca Boccassi 705d6b34ee meson: add systemd-boot and systemd-stub build target aliases
Allows to quickly build systemd-boot by itself without having to
reference the full path of the build target:

$ ninja -C foo systemd-stub
ninja: Entering directory `foo'
[21/21] Generating src/boot/efi/linuxx64.efi.stub with a custom command
$ ninja -C foo systemd-boot
ninja: Entering directory `foo'
[10/10] Generating src/boot/efi/systemd-bootx64.efi with a custom command
2022-04-27 22:24:58 +01:00
Luca Boccassi 0a5e638cc7 meson: add install_tag to sd-boot, libsystemd and libudev
Allows to 'meson install --tags systemd-boot --no-rebuild' to install only the EFI
binaries, skipping the rest, for a very quick build:

$ ninja src/boot/efi/linuxx64.efi.stub
[21/21] Generating src/boot/efi/linuxx64.efi.stub with a custom command
$ ninja src/boot/efi/systemd-bootx64.efi
[10/10] Generating src/boot/efi/systemd-bootx64.efi with a custom command
$ DESTDIR=/tmp/foo meson install --tags systemd-boot --no-rebuild
Installing src/boot/efi/systemd-bootx64.efi to /tmp/foo/usr/lib/systemd/boot/efi

Requires Meson 0.60 to be used, prints a warning for unknown keyword
in earlier versions, but there's no failure

https://mesonbuild.com/Installing.html#installation-tags
2022-04-27 22:24:53 +01:00
Zbigniew Jędrzejewski-Szmek 4d5713bb7e Merge pull request #23119 from yuwata/test-sd-device-exclude-bdi
test: exclude "bdi" subsystem
2022-04-27 16:56:53 +02:00
Zbigniew Jędrzejewski-Szmek 3d8a7e6f51 Merge pull request #23131 from poettering/shared-compress
move compress.[ch] → src/basic/
2022-04-27 10:47:54 +02:00
Yu Watanabe ff56124b11 test: exclude "bdi" subsystem and loop block devices
On several CI environments, it seems that some loop block devices and
corresponding bdi devices are sometimes removed during the test is
running. Let's exclude them.

Fixes #22970.
2022-04-27 16:32:42 +09:00
Yu Watanabe 9409710097 sd-device-enumerator: introduce sd_device_enumerator_add_nomatch_sysname() 2022-04-27 16:32:42 +09:00
Yu Watanabe c11810ed30 sd-device-enumerator: use set_fnmatch() 2022-04-27 16:32:42 +09:00
Yu Watanabe d25d4f189c set: introduce set_fnmatch() 2022-04-27 16:32:15 +09:00
Lennart Poettering cf393c5f44 Merge pull request #23161 from yuwata/nss-ipv6-disabled
nss: do not return IPv6 address when IPv6 is disabled
2022-04-26 22:52:09 +02:00
Lennart Poettering d4cc5c8037 journal-verify: tighten check for compression of non-objects 2022-04-26 21:55:49 +02:00
Lennart Poettering 4d698d12de compress: make Compression a regular non-sparse enum
Given we have two different types for the journal object flags and the
Compression enum, let's make the latter a regular non-sparse enum, and
thus remove some surprises. We have to convert anyway between the two,
and already do via COMPRESSION_FROM_OBJECT().
2022-04-26 21:55:49 +02:00
Lennart Poettering acc50c92eb basic: move compress.[ch] → src/basic/
The compression helpers are used both in journal code and in coredump
code, and there's a good chance we'll use them later for other stuff.

Let's hence move them into src/basic/, to make them a proper internal
API we can use from everywhere where that's desirable. (pstore might be
a candidate, for example)

No real code changes, just some moving around, build system
rearrangements, and stripping of journal-def.h inclusion.
2022-04-26 21:45:03 +02:00
Zbigniew Jędrzejewski-Szmek c0a96b1b1d oomd: actually fail if configuration is bad
Follow-up for a858355e4a.
2022-04-26 08:54:39 +02:00
Zbigniew Jędrzejewski-Szmek 23ce0271dc Merge pull request #23160 from keszybz/compress-defines
meson: simplify setting of default compression
2022-04-25 10:57:51 +02:00
Yu Watanabe 8ac6b05b7c tree-wide: Fix typo 2022-04-25 10:06:08 +09:00
Jan Janssen d5a99b7c9c tree-wide: Simplify variable declarations behind #ifdef 2022-04-24 01:31:05 +09:00
Lennart Poettering 5662811e34 loopback-setup: tweak message if loopback device is already set up 2022-04-23 08:45:45 +09:00
Yu Watanabe b1aca4da60 udevadm: wait: check if specified path not exist on --remove
Even if the corresponding device node or syspath are already removed,
the specified symlink to the device node may still exist.

Fixes #23166.
2022-04-23 08:45:01 +09:00
Yu Watanabe bb78da17fd test: do not accept IPv6 local address if IPv6 is disabled 2022-04-23 04:19:49 +09:00
Yu Watanabe db50d326a4 nss-myhostname: do not return IPv6 local address if IPv6 is disabled 2022-04-23 04:18:51 +09:00