Lennart Poettering [Thu, 5 Jan 2023 21:10:46 +0000 (22:10 +0100)]
resolved: disable SO_BINDTOIFINDEX hack for localhost IP addresses
Fixes: #23010
Dirk Su [Thu, 5 Jan 2023 09:09:49 +0000 (17:09 +0800)]
hwdb: Add Dell models that require ACCEL_LOCATION=base
Ludwig Nussel [Wed, 21 Dec 2022 12:57:47 +0000 (13:57 +0100)]
kernel-install: run depmod only if writeable
Benjamin Tissoires [Thu, 5 Jan 2023 12:57:51 +0000 (13:57 +0100)]
virt: fix container detection
Commit
1b86c7c59ecc ("virt: make virtualization enum a named type")
made the conversion from `if (!r)` to `if (v != VIRTUALIZATION_NONE)`.
However, the initial test was meaning "if r is null", IOW "if r IS
`VIRTUALIZATION_NONE`).
The test is wrong and this can lead to false detection of the container
environment (when calling `systemctl exit`).
For example, https://gitlab.freedesktop.org/whot/libevdev/-/jobs/
34207974
is calling `systemctl exit 0`, and systemd terminates with the exit code
`130`.
Fixing that typo makes `systemctl exit 0` returns `0`.
Fixes:
1b86c7c59ecc26efdf278f5c1c4430346021cd38.
Ludwig Nussel [Wed, 7 Dec 2022 10:43:56 +0000 (11:43 +0100)]
bootctl: print entry token as well
Lennart Poettering [Thu, 5 Jan 2023 16:34:40 +0000 (17:34 +0100)]
units: condition systemd-networkd-wait-online.service like systemd-networkd.service
This adds the same condition that systemd-networkd.service already
carries also to systemd-networkd-wait-online.service. Otherwise we'll
potentially see some logs we'd rather not see about a service we BindTo=
not running. Or in other words, if service X binds to Y then X should be
at least as conditioned as Y.
Lennart Poettering [Thu, 5 Jan 2023 15:18:31 +0000 (16:18 +0100)]
dns-domain: dns_name_is_empty() is redundant
dns_name_is_empty() was added later, but does the same thing as the more
accurately called dns_name_is_root(), hence drop the former.
Lennart Poettering [Thu, 5 Jan 2023 16:34:18 +0000 (17:34 +0100)]
resolvectl: remove duplicate ':' from output
The second argument to dump_list() actually ends up in a TABLE_FIELD
cell now, where we implicitly append a ":". Hence drop it from the
strings.
Follow-up for:
37a50123fac050c7ccde4afcf3f37ee77aad012c
Lennart Poettering [Tue, 3 Jan 2023 12:05:32 +0000 (13:05 +0100)]
vconsole: permit configuration of vconsole settings via credentials
Luca Boccassi [Thu, 5 Jan 2023 12:25:13 +0000 (13:25 +0100)]
Merge pull request #25929 from poettering/resolvectl-loopback-fix
resolvectl: show 127.0.0.1 among global DNS servers again
Lennart Poettering [Thu, 5 Jan 2023 09:33:32 +0000 (10:33 +0100)]
update TODO
Mike Yuan [Thu, 29 Dec 2022 06:51:06 +0000 (14:51 +0800)]
systemctl: enable: overwrite broken alias symlinks
When switching to an alternative alias provider,
the previous one might have been uninstalled or so.
It should be fine for us to overwrite them directly.
Closes #23694
Mike Yuan [Tue, 27 Dec 2022 09:41:18 +0000 (17:41 +0800)]
systemctl: edit: rephrase edit markers to avoid misunderstanding
Closes #25856
Joshua Goins [Mon, 26 Dec 2022 17:48:10 +0000 (12:48 -0500)]
udev: Fix some tablet pads being classified as mouse or joysticks
Luca Boccassi [Wed, 28 Dec 2022 16:27:37 +0000 (17:27 +0100)]
man: note that DynamicUser=yes is incompatible with D-Bus
Due to policy checks against system users this cannot currently work, and it is non-obvious.
In the future it might be implemented if support is added to dbus-broker/dbus-daemon, e.g.:
https://github.com/bus1/dbus-broker/issues/259
Lennart Poettering [Wed, 4 Jan 2023 16:49:21 +0000 (17:49 +0100)]
Merge pull request #25802 from poettering/bootctl-reseed
move EFI random seed update logic from systemd-random-seed.service into separate service
Lennart Poettering [Wed, 4 Jan 2023 15:36:15 +0000 (16:36 +0100)]
resolvectl: don't filter loopback DNS server from global DNS server list
"resolvectl status" shows per-link DNS servers separately from global
ones. When querying the global list, it will contain both per-link and
global servers however. Thus, to not show duplicate info we filter all
entries that actually have a non-zero ifindex set (under the assumption
that that's a per-link server).
This doesn't work if people configured 127.0.0.1 as global server
though, as we'll add ifindex 1 to it since
6e32414a66ff8dbcef233981a7066684d903ee9f unconditionally even for global
servers.
Let's address that by excluding entries with ifindex 1 from suppression.
This is safe as resolved ignores loopback ifaces, hence never will have
per-link servers on ifindex 1.
Note that this splits up the "with_ifindex" parameter into a second
parameter "only_global", since they semantically do two different
things. One controls whether we shall expect/parse an ifindex dbus
field. The other controls whether we shall filter all ifindex values set
!= 0. These are effectively always used in conjunction hence making them
the same actually worked. However this is utterly confusing I think,
which as I guess is resulting in the confusion around #25796 (which
removes the whole check)
Replaces: #25796
Lennart Poettering [Wed, 4 Jan 2023 15:32:51 +0000 (16:32 +0100)]
resolved: add some line-breaks/comments
Let's make this a bit more readable.
Lennart Poettering [Wed, 4 Jan 2023 15:29:34 +0000 (16:29 +0100)]
resolvectl: fix type of ifindex D-Bus field, and make sure to initialize to zero in all code paths
Lennart Poettering [Tue, 20 Dec 2022 17:03:06 +0000 (18:03 +0100)]
bootctl: split out setting of system token into function of its own
Let's break a huge function in two. No code change, just some
refactoring.
Lennart Poettering [Tue, 20 Dec 2022 16:16:47 +0000 (17:16 +0100)]
units: rename/rework systemd-boot-system-token.service → systemd-boot-random-seed.service
This renames systemd-boot-system-token.service to
systemd-boot-random-seed.service and conditions it less strictly.
Previously, the job of the service was to write a "system token" EFI
variable if it was missing. It called "bootctl --graceful random-seed"
for that. With this change we condition it more liberally: instead of
calling it only when the "system token" EFI variable isn't set, we call
it whenever a boot loader interface compatible boot loader is used. This
means, previously it was invoked on the first boot only: now it is
invoked at every boot.
This doesn#t change the command that is invoked. That's because
previously already the "bootctl --graceful random-seed" did two things:
set the system token if not set yet *and* refresh the random seed in the
ESP. Previousy we put the focus on the former, now we shift the focus to
the latter.
With this simple change we can replace the logic
f913c784ad4c93894fd6cb2590738113dff5a694 added, but from a service that
can run much later and doesn't keep the ESP pinned.
Lennart Poettering [Tue, 20 Dec 2022 15:34:36 +0000 (16:34 +0100)]
bootctl: downgrade graceful messages to LOG_NOTICE
Lennart Poettering [Tue, 20 Dec 2022 15:18:11 +0000 (16:18 +0100)]
random-seed: don't refresh EFI random seed from random-seed.c anymore
The ESP is simply not mounted early enough for this. We want that the
regular random seed handling runs as early as we possibly could, but we
don't want to delay this until the ESP is actually mounted.
Hence, let's remove this from random-seed.c here. A follow-up commit
will then add this back in, in a separate service which just calls
"bootctl random-seed".
Effectively reverts:
f913c784ad4c93894fd6cb2590738113dff5a694
Fixes: #25769
Lennart Poettering [Tue, 20 Dec 2022 10:53:37 +0000 (11:53 +0100)]
sha256: add helper than hashes a buffer *and* its size
We use this pattern all the time in order to thward extension attacks,
add a helper to make it shorter.
Lennart Poettering [Tue, 20 Dec 2022 10:48:21 +0000 (11:48 +0100)]
bootctl: when updating EFI random seed file, hash old seed with new one
Let's not regress in entropy in any case.
This does what
f913c784ad4c93894fd6cb2590738113dff5a694 also does.
Lennart Poettering [Tue, 20 Dec 2022 10:15:51 +0000 (11:15 +0100)]
bootctl: properly sync fs before/after moving random seed file into place
Let's do a careful, focussed sync at the right places instead of a
blanket sync at the end. After all we want to run this on every boot
soon.
Lennart Poettering [Mon, 19 Dec 2022 21:26:30 +0000 (22:26 +0100)]
bootctl: rework random seed logic to use open_mkdir_at() and openat()
This doesn't really fix anything, but in general we should put stronger
emphasis on operating via dir fds rather than paths more (in particular
when writing files as opposed to consuming them).
No real change in behaviour.
Lennart Poettering [Mon, 19 Dec 2022 21:25:28 +0000 (22:25 +0100)]
bootctl: fix errno logging
Luca Boccassi [Tue, 3 Jan 2023 22:18:43 +0000 (23:18 +0100)]
hwdb: remove spurious whitespace
Fixes test failures.
Follow-up for
c3950f0a27fb7d2298a2182f21d645c7017f9c0c and
https://github.com/systemd/systemd/pull/25908
Lennart Poettering [Tue, 3 Jan 2023 14:58:46 +0000 (15:58 +0100)]
efi: skip Read() calls with zero sizes
Let's avoid calling Read() with zero-sized buffer, to avoid needless firmware
quirkiness.
See: #25911
Lennart Poettering [Tue, 3 Jan 2023 15:26:55 +0000 (16:26 +0100)]
resolved: downgrade inability to send varlink reply error message
Previously, if a client disconnected after sending a lookup request but
before waiting for the reply we'd log at LOG_ERR level. That's
confusing, since it's entirely OK for the client to lose interest.
Hence, let's downgrade to debug level.
Fixes: #25892
Luca Boccassi [Tue, 3 Jan 2023 22:10:36 +0000 (23:10 +0100)]
Merge pull request #25910 from crrodriguez/wth_c2x
Fix FTBS when -std=gnu2x
msizanoen1 [Tue, 27 Dec 2022 04:57:12 +0000 (11:57 +0700)]
udev: match device tags in rules using current device tags
This ensures that udev scripts using `TAG-="..."` and expecting later
udev rules to honor it will work properly. An use case is removing the
`uaccess` tag from a device without overriding the original file and
ensuring that `73-seat-uaccess.rules` won't run the uaccess builtin later.
marcel151 [Sun, 1 Jan 2023 18:19:19 +0000 (19:19 +0100)]
Added Tablet Teclast X98 Air 3G (C5J6)
Latest BIOS of X98 Air 3G has later date, that's why it wasn't recognized. Uses the same Matrix as the X89 (E7ED).
Jia Zhang [Sat, 24 Dec 2022 09:46:01 +0000 (17:46 +0800)]
efi-api: check the EFI_TCG2_FINAL_EVENTS_TABLE in efi_has_tpm2()
The EFI firmware may provide the TPM2 event log using
EFI_TCG2_FINAL_EVENTS_TABLE stored in EFI configuration table,
instead of the ACPI Table TPM2.
If the ACPI Table TPM2 doesn't exist, try to check whether
EFI_TCG2_FINAL_EVENTS_TABLE is available or not.
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
Jan Janssen [Fri, 23 Dec 2022 13:14:53 +0000 (14:14 +0100)]
Revert "boot: Use EFI_BOOT_MANAGER_POLICY_PROTOCOL to connect console devices"
This reverts commit
b99bf5811850afdb2502ba37251c48348da63c82.
It seems that using this protocol on some firmwares to forcibly
initialize console devices may break handles (already opened file
handles and the device handle itself) that we rely on to access the
boot filesystem, making it impossible to load the selected entry.
It might be possible to get a new handle by querying for the device
handle by using its device path after calling into this protocol, but
this is untested. The firmware might also be so buggy that accessing
devices after using this protocol is impossible.
It seems prudent to revert this for now until some reliable way is found
to initialize console devices without introducing huge boot delays. Any
users on firmware where console devices cannot be accessed would have to
rely on disabling fastboot.
Fixes: #25737, #25846
Cristian Rodríguez [Mon, 2 Jan 2023 00:08:52 +0000 (00:08 +0000)]
libsystemd-network: FTBS in c2x mode
cannot pass false as argument because function wants a pointer to bool
instead, use NULL instead
Cristian Rodríguez [Mon, 2 Jan 2023 00:06:57 +0000 (00:06 +0000)]
basic: Fix incompatible type for arguments errors in C2X
GCC-13 -std=gnu2x FTBS with:
error: incompatible type for argument 3 of ‘_hashmap_free’
Cristian Rodríguez [Sun, 1 Jan 2023 22:40:26 +0000 (22:40 +0000)]
basic: fix hosed return value in skip_session()
../src/basic/cgroup-util.c: In function ‘skip_session’:
../src/basic/cgroup-util.c:1241:32: error: incompatible types when returning type ‘_Bool’ but ‘const char *’ was expected
1241 | return false;
igo95862 [Tue, 3 Jan 2023 07:18:58 +0000 (10:18 +0300)]
man: Fix systemd-boot man page wrong secure keys location
The keys should be placed at `/loader/keys/` not `/keys/`.
See `src/boot/efi/boot.c` file and
function `secure_boot_discover_keys`.
Lennart Poettering [Mon, 2 Jan 2023 14:22:15 +0000 (15:22 +0100)]
fundamental: rework IN_SET() to require at least three arguments
If less than three parameters are passed a simple comparison is the
better choice.
Lo and behold this found two pretty bad typos.
Lennart Poettering [Mon, 2 Jan 2023 12:32:33 +0000 (13:32 +0100)]
core: rework operation_to_signal() to rename return parameter ret_xyz
Daan De Meyer [Mon, 2 Jan 2023 15:07:58 +0000 (16:07 +0100)]
Merge pull request #25912 from DaanDeMeyer/ukify
ukify fixes
Vito Caputo [Thu, 29 Dec 2022 01:53:22 +0000 (17:53 -0800)]
manager: perform objective->shutdown_verb mapping locally
This is a small cleanup removing the need for the spurious
*ret_shutdown_verb argument on invoke_main_loop() while moving
the MANAGER_OBJECTIVE::shutdown_verb string mapping local to
where it actually gets added to the shutdown argv in
become_shutdown().
This also eliminates the need for the several clearings of
*ret_shutdown_argv, and the streq() branches of shutdown_verb in
favor of plain equality tests against the objective value.
Nothing functionally has been changed.
Jan Janssen [Sun, 1 Jan 2023 10:32:55 +0000 (11:32 +0100)]
ukify: Fix section offset calculation
objcopy seems to expect that the offset passed to --change-section-vma
is absolute instead of relative to ImageBase. If this is not accounted
for an invalid image is created that cannot be loaded:
0 .osrel
0000016b 0000000200016000 0000000200016000 00000400 2**2
…
6 .text
0000d242 0000000140001000 0000000140001000 00c6e800 2**4
This isn't an issue with gnu-efi based PE images, but natively created
ones will have a non-zero ImageBase.
Daan De Meyer [Mon, 2 Jan 2023 13:53:47 +0000 (14:53 +0100)]
ukify: Require specifying --tools for each tools directory
Instead of consuming N arguments as tools directories, let's always
only consume one argument per specification of --tools. This avoids
issues where the linux image and initrd are interpreted as tools
directories.
Daan De Meyer [Mon, 2 Jan 2023 13:52:49 +0000 (14:52 +0100)]
ukify: Handle directories in path_is_readable()
Gio [Fri, 30 Dec 2022 22:23:50 +0000 (17:23 -0500)]
Update 60-sensor.hwdb
Updated DBook D10 / Juno Tablet. Before the bvr (bios version) was hard coded to v1.05. This will read all versions
Ludwig Nussel [Wed, 28 Dec 2022 13:00:35 +0000 (14:00 +0100)]
machined: pass shell command line to polkit
Pass the joined arguments to polkit as command_line property like
pkexec does. Obviously not exactly perfect as it lacks quoting. Good
enough for polkit rules to check whether a program was called with
or without arguments though.
Luca Boccassi [Mon, 26 Dec 2022 16:43:27 +0000 (17:43 +0100)]
Merge pull request #25864 from yuwata/dissect-fix-mtree
dissect: fix mtree
Hannoskaj [Mon, 26 Dec 2022 08:43:36 +0000 (09:43 +0100)]
Prevents airplane mode toggle for HP Spectre 16
Jia Zhang [Sun, 25 Dec 2022 04:29:11 +0000 (12:29 +0800)]
boot: don't convert the trailing newline in mangle_stub_cmdline()
It is pretty convenient to add .cmdline using /proc/cmdline like
this:
--add-section .cmdline=/proc/cmdline --change-section-vma .cmdline=0x25000
However, it always returns a trailing newline, and stub will
convert it to a whitespace by mangle_stub_cmdline() in next boot.
Thus the resulting /proc/cmdline would contain a trailing
whitespace. When /proc/cmdline is used to generate .cmdline again,
the resulting UKI is mangled.
To address this kind of inconvenience, mangle_stub_cmdline() should
skip converting the trailing newline, and try to chomp all the
trailing whitespaces.
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
Yu Watanabe [Mon, 26 Dec 2022 07:38:40 +0000 (16:38 +0900)]
dissect: reduce indent in mtree_print_item()
Yu Watanabe [Mon, 26 Dec 2022 07:41:17 +0000 (16:41 +0900)]
dissect: do not trigger assertion on error
recurse_dir() does not provide 'sx' on error.
Fixes #25862.
Yu Watanabe [Mon, 26 Dec 2022 07:35:24 +0000 (16:35 +0900)]
dissect: use assert() when no side effect
Lennart Poettering [Sat, 24 Dec 2022 10:20:02 +0000 (11:20 +0100)]
Merge pull request #25850 from poettering/switch-root-tweaks-minor
pid1: minor tweaks to the SwitchRoot() logic
Yu Watanabe [Fri, 23 Dec 2022 23:13:00 +0000 (08:13 +0900)]
Merge pull request #25828 from poettering/no-more-basename
convert a number of basename() invocations to path_extract_filename()
Lennart Poettering [Fri, 23 Dec 2022 17:49:02 +0000 (18:49 +0100)]
prioq: make prioq_reshuffle() void
We never use the return value, and it's confusing and kinda pointless
what we return there.
Hence drop it.
Originally noticed by: tristone13th <tristone13th@outlook.com>
Alternative to: #25810
Lennart Poettering [Fri, 23 Dec 2022 22:26:00 +0000 (23:26 +0100)]
Merge pull request #25849 from poettering/repart-loop
pull in loop.ko from repart unit
Lennart Poettering [Fri, 23 Dec 2022 17:39:54 +0000 (18:39 +0100)]
docs: remove /dev/tty* confusion
The text said /dev/tty* as a whole was the VT subsystem and that VT is
not supported in containers.
But that's not accurate as /dev/tty* will match /dev/tty too and that
one device node is special and is not related to VT: it always points to
the current process own controlling tty, regardless what that is.
hence, rewrite /dev/tty* as /dev/tty[0-9]*.
Will Fancher [Sat, 17 Dec 2022 20:06:21 +0000 (15:06 -0500)]
sysroot: Order systemd-fsck-root after systemd-makefs
Lennart Poettering [Fri, 23 Dec 2022 17:27:33 +0000 (18:27 +0100)]
systemctl: rework how we detect if init is systemd
Lennart Poettering [Thu, 22 Dec 2022 09:30:02 +0000 (10:30 +0100)]
core: use chase_symlinks_and_access() where appropriate
Lennart Poettering [Thu, 22 Dec 2022 09:28:05 +0000 (10:28 +0100)]
core: tighten validation checks in SwitchRoot() dbus call
Lennart Poettering [Thu, 22 Dec 2022 09:56:56 +0000 (10:56 +0100)]
lock-file: various updates
Lennart Poettering [Wed, 21 Dec 2022 16:12:13 +0000 (17:12 +0100)]
analyze: basename() → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 16:06:14 +0000 (17:06 +0100)]
format-table: add field type TABLE_PATH_BASENAME
This is just like TABLE_PATH, but only shows the basename in regular
tabular output.
This is useful in systemd-repart for example
Lennart Poettering [Wed, 21 Dec 2022 15:52:07 +0000 (16:52 +0100)]
tmpfiles: port basename() → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:51:48 +0000 (16:51 +0100)]
sysv-generator: port basename() → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:51:05 +0000 (16:51 +0100)]
shared: port various shared helpers basename() → path_extract_filename()
Lennart Poettering [Fri, 23 Dec 2022 16:23:14 +0000 (17:23 +0100)]
units: pull in loop.ko and dm-mod.ko before repart
We want to make use of that when formatting file systems, hence let's
pull in these modules explicitly.
(This is necessary because we are an early boot service that might run
before systemd-tmpfiles-dev.service, which creates /dev/loop-control and
/dev/mapper/control.)
Alternatively we could just order ourselves after
systemd-tmpfiles-dev.service, but I think there's value in adding an
explicit minimal ordering here, since we know what we'll need.
Fixes: #25775
Lennart Poettering [Fri, 23 Dec 2022 16:23:00 +0000 (17:23 +0100)]
units: change modprobe@dm-mod.service → modprobe@dm_mod.service
Follow-up for
8f1359bf854e9683e4e0b89fd3a537e0d82d4b95
Lennart Poettering [Wed, 21 Dec 2022 15:50:18 +0000 (16:50 +0100)]
repart/makefs: port over to path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:49:30 +0000 (16:49 +0100)]
portable: port basename() → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:49:03 +0000 (16:49 +0100)]
nspawn: port over basename() → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:48:25 +0000 (16:48 +0100)]
mount-tool: port over basename() → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:47:41 +0000 (16:47 +0100)]
journalctl: port COMM= matching to path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:46:28 +0000 (16:46 +0100)]
dissect: remove one more use of basename()
And while we are at it, make use of path_extract_filename() return value
that indicates whether the path was suffixed with a slash.
Lennart Poettering [Thu, 22 Dec 2022 17:45:27 +0000 (18:45 +0100)]
core: move some basename() use → path_extract_filename()
Lennart Poettering [Wed, 21 Dec 2022 15:13:23 +0000 (16:13 +0100)]
tests: we don't actually use basename() anymore
Lennart Poettering [Wed, 21 Dec 2022 13:50:04 +0000 (14:50 +0100)]
homed: move away from basename()
Jia Zhang [Fri, 23 Dec 2022 09:23:36 +0000 (17:23 +0800)]
measure: fix the failures of compare_reported_pcr_nr()
EFI_LOADER_VARIABLE() already applies to the stringify to construct the
path of EFI variable in efivars, so it is wrong to enclose the name of
EFI variable with the quotes. Otherwise, the following errors are
reported.
Reading EFI variable /sys/firmware/efi/efivars/StubFeatures-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
Reading EFI variable /sys/firmware/efi/efivars/"StubPcrKernelImage"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
open("/sys/firmware/efi/efivars/"StubPcrKernelImage"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f") failed: No such file or directory
Reading EFI variable /sys/firmware/efi/efivars/"StubPcrKernelParameters"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
open("/sys/firmware/efi/efivars/"StubPcrKernelParameters"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f") failed: No such file or directory
Reading EFI variable /sys/firmware/efi/efivars/"StubPcrInitRDSysExts"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f.
open("/sys/firmware/efi/efivars/"StubPcrInitRDSysExts"-
4a67b082-0a4c-41cf-b6c7-
440b29bb8c4f") failed: No such file or directory
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
Yu Watanabe [Fri, 23 Dec 2022 13:11:59 +0000 (22:11 +0900)]
Merge pull request #25823 from poettering/dissect-diskseq
gpt-auto: reference dissected partitions to mount via diskseq block device symlinks
Yu Watanabe [Fri, 23 Dec 2022 08:29:40 +0000 (17:29 +0900)]
tree-wide: have_effective_cap() may return negative errno
Yu Watanabe [Fri, 23 Dec 2022 13:10:38 +0000 (22:10 +0900)]
Merge pull request #25830 from yuwata/wait-online-unmanaged
wait-online: exit with success when all interfaces are ready or unmanaged
Lennart Poettering [Fri, 23 Dec 2022 12:14:14 +0000 (13:14 +0100)]
Merge pull request #25777 from PeterCxy/enroll-fido2
cryptenroll: Implement support for unlocking via FIDO2 tokens
Lennart Poettering [Wed, 21 Dec 2022 13:32:22 +0000 (14:32 +0100)]
update TODO
Lennart Poettering [Wed, 21 Dec 2022 11:28:31 +0000 (12:28 +0100)]
gpt-auto-generator: enable referencing partitions via diskseq symlinks
Lennart Poettering [Wed, 21 Dec 2022 11:26:21 +0000 (12:26 +0100)]
dissect-image: optionally, reference dissected partition device nodes by diskseq
This is useful to make the dissection logic at boot a bit safer, as we
can reference device nodes by diskseq.
This locks down dissection a bit, since it makes it harder to swap out
the backing device between the time we dissected and validated it, until
we actually mounted it.
This is not complete though, as /bin/mount would have to verify the
diskseq after opening the diskseq symlink again.
See: https://github.com/util-linux/util-linux/issues/1786
Lennart Poettering [Wed, 21 Dec 2022 11:25:32 +0000 (12:25 +0100)]
dissect-image: simplify things by avoiding one string copy
We don't need the node in its original variable anymore, hence let's
just move it over instead of allocating a copy.
Lennart Poettering [Wed, 21 Dec 2022 11:24:41 +0000 (12:24 +0100)]
udev: also create partition /dev/disk/by-diskseq/ symlinks
Lennart Poettering [Thu, 22 Dec 2022 16:57:56 +0000 (17:57 +0100)]
import-creds: don't try to import VM creds in a container
If we run in a container we shouldn#t try to import creds passed in from
a VMM, as they are not for us, but for the VM itself.
Peter Cai [Sun, 18 Dec 2022 01:33:05 +0000 (20:33 -0500)]
cryptenroll: Implement support for unlocking via FIDO2 tokens
This allows FIDO2 users to wipe out password slots and still be able to
enroll new key slots via systemd-cryptenroll. Note that when the user
wants to both unlock with a FIDO2 token and enroll a new FIDO2 token,
they cannot be set to automatic discovery. This is to safeguard against
confusion, because there will be multiple tokens connected to the system
when doing so -- and we require users to explicitly confirm which one to
use for unlocking and which one to use for enrollment.
Addresses #20230 for the FIDO2 case.
Luca Boccassi [Thu, 22 Dec 2022 21:19:05 +0000 (22:19 +0100)]
Merge pull request #25814 from DaanDeMeyer/ukify
ukify: Prefer using llvm-objcopy instead of objcopy
Peter Cai [Sun, 18 Dec 2022 01:28:51 +0000 (20:28 -0500)]
cryptsetup-fido2: Remove plain mode parameters from `acquire_fido2_key_auto()`
`acquire_fido2_key_auto()` will not be used in PLAIN mode, and
parameters such as the salt will be acquired from the LUKS header.
Parameters intended for PLAIN mode are useless in
`acquire_fido2_key_auto()`.
Peter Cai [Sat, 17 Dec 2022 20:46:36 +0000 (15:46 -0500)]
cryptsetup-fido2: Relocate to libsystemd-shared
Daan De Meyer [Wed, 21 Dec 2022 14:18:13 +0000 (15:18 +0100)]
ukify: Validate that there are no overlapping sections
Let's make sure that after calling objcopy we have no overlapping
sections in the UKI
Daan De Meyer [Mon, 19 Dec 2022 14:29:43 +0000 (15:29 +0100)]
ukify: Prefer using llvm-objcopy instead of objcopy
llvm-objcopy works on stubs built for foreign architectures whereas
objcopy doesn't so let's prefer using llvm-objcopy instead of objcopy.
llvm-objcopy automatically sets the virtual address and doesn't provide
an option to set it manually so we only add --change-section-vma when
using objcopy
The default section flags differ between llvm-objcopy and objcopy
so we add a default for the section flags so we make sure all sections
are read-only data unless specified otherwise.
Daan De Meyer [Mon, 19 Dec 2022 14:36:07 +0000 (15:36 +0100)]
ukify: Allow passing multiple directories to --tools
Luca Boccassi [Thu, 22 Dec 2022 11:10:32 +0000 (12:10 +0100)]
Merge pull request #25791 from keszybz/ukify-check-inputs
ukify: check inputs