Arthur Zamarin [Thu, 21 Dec 2023 21:23:13 +0000 (23:23 +0200)]
bash-completion: add missing option to systemd-confext
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin [Thu, 21 Dec 2023 21:13:35 +0000 (23:13 +0200)]
bash-completion: add missing option to systemd-cgls
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Arthur Zamarin [Thu, 21 Dec 2023 21:07:05 +0000 (23:07 +0200)]
bash-completion: add missing option to systemd-cat
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Yu Watanabe [Thu, 21 Dec 2023 20:30:23 +0000 (05:30 +0900)]
Merge pull request #30568 from poettering/creds-varlink
creds: add varlink interface to encrypt/decrypt credentials
Yu Watanabe [Thu, 21 Dec 2023 20:28:36 +0000 (05:28 +0900)]
Merge pull request #30566 from poettering/varlink-inval-param
add a new helper varlink_error_invalid_parameter_name(), and make more use of the existing varlink_error_invalid_parameter()
Lennart Poettering [Wed, 22 Nov 2023 17:56:19 +0000 (18:56 +0100)]
polkit: simplify bus_verify_polkit_async() + drop auth-by-cap dbus feature
This simplifies bus_verify_polkit_async() and related calls quite a bit:
1. This removes any support for authentication-by-Linux-capability. This
is ultimately a kdbus leftover: with classic AF_UNIX transports we
cannot authenticate by capabilities securely (because we cannot
acquire it from the peer without races), hence we never actually did.
Since the necessary kernel work didn't materialize in the last 10y,
and is unlikely to be added, let's just kill this context. We cannot
quite remove the caps stuff from sd-bus for API compat, but for our
polkit logic let's kill it.
2. The "good_uid" and "interactive" params are only necessary in very
few cases, hence let's move them to a new call
bus_verify_polkit_async_full() and make bus_verify_polkit_async() a
wrapper around it without those two parameters.
This also fixes a bunch of wrong uses of the "interactive" bool. The
bool makes no sense today as the ALLOW_INTERACTIVE_AUTHORIZATION field
in the D-Bus message header replaces it fully. We only need it to
implement method calls we introduced prior to that header field becoming
available in D-Bus. And it should only be used on such old method calls,
and otherwise always be set to false.
This does not change behaviour in any way. Just simplifies stuff.
Fixes: #21586
Lennart Poettering [Thu, 21 Dec 2023 14:47:26 +0000 (15:47 +0100)]
varlink: make use of varlink_error_invalid_parameter() helper where appropriate
Lennart Poettering [Thu, 23 Nov 2023 21:24:20 +0000 (22:24 +0100)]
varlink: add helper varlink_error_invalid_parameter_name()
Lennart Poettering [Fri, 24 Nov 2023 15:30:15 +0000 (16:30 +0100)]
test: add simple creds/varlink integration test
Lennart Poettering [Thu, 23 Nov 2023 21:22:27 +0000 (22:22 +0100)]
creds: add varlink API for encrypting/decrypting credentials
Lennart Poettering [Thu, 23 Nov 2023 21:24:20 +0000 (22:24 +0100)]
varlink: add helper varlink_error_invalid_parameter_name()
Yu Watanabe [Thu, 21 Dec 2023 17:36:19 +0000 (02:36 +0900)]
Merge pull request #30567 from yuwata/hashmap_isempty
tree-wide: use hashmap_isempty() and friends
Yu Watanabe [Thu, 21 Dec 2023 17:31:09 +0000 (02:31 +0900)]
Merge pull request #30564 from poettering/varlink-log-tweaks
varlink: minor fixes & tweaks
Yu Watanabe [Thu, 21 Dec 2023 17:30:46 +0000 (02:30 +0900)]
Merge pull request #30563 from poettering/socket-tweaks
two minor tweak to socket-util.c
Yu Watanabe [Thu, 21 Dec 2023 16:28:44 +0000 (01:28 +0900)]
sd-journal: use FOREACH_ARRAY() at one more place
Yu Watanabe [Thu, 21 Dec 2023 16:27:09 +0000 (01:27 +0900)]
tree-wide: use hashmap_isempty() and friends
Lennart Poettering [Fri, 24 Nov 2023 15:11:46 +0000 (16:11 +0100)]
varlink: check state rather than flags to determine whether it makes sense to reply
We already checked the flags before, and updated the state accordingly,
hence let's only look at the state afterwards. This allows us to use the
same expressions for all cases where we want to reply automatically to
clients.
Lennart Poettering [Thu, 23 Nov 2023 17:23:40 +0000 (18:23 +0100)]
varlink: add an extra assert encoding our assumption that ucred is valid here
Lennart Poettering [Thu, 23 Nov 2023 17:15:14 +0000 (18:15 +0100)]
varlink: never turn method call handler errors into connection errors
Let's make sure method call handlers failing will result in that very
method call failing but not the whole connection. We mostly got that
right, except for "oneway" calls where the method reply is supposed to
be eaten up, but wasn't. Fix that.
Lennart Poettering [Thu, 23 Nov 2023 17:13:51 +0000 (18:13 +0100)]
varlink: switch various log calls to the local log helpers
Most code in varlink.c got that right, but some didn't. Fix that.
Lennart Poettering [Thu, 23 Nov 2023 16:58:15 +0000 (17:58 +0100)]
socket-util: remove unnecessary variable
Lennart Poettering [Thu, 23 Nov 2023 17:05:04 +0000 (18:05 +0100)]
socket-util: make sure SO_PEERSEC returned string is always NUL terminated
it's not entirely clear to me if the manual NUL termination is
necessary, but let's better be safe than sorry, since this is apparently
up to the LSMs, and I am not sure we can trust them all.
A lot of other code (such as dbus-broker) patches in the NUL byte, hence
let's be rather safe-then-sorry, it's trivial after all.
Lennart Poettering [Thu, 21 Dec 2023 09:19:15 +0000 (10:19 +0100)]
dbus-execute: use new exec_context_get_set_login_environment() helper also as backing for dbus property
Note sure why it didn't occur earlier to me, but now that we have this
nice helper to get the effective value of the set_login_environment
field instead of just falling back to "false".
Follow-up for: #30552
Michal Sekletar [Wed, 20 Dec 2023 15:44:14 +0000 (16:44 +0100)]
resolved: actually check authenticated flag of SOA transaction
Fixes #25676
Lennart Poettering [Wed, 20 Dec 2023 18:08:05 +0000 (19:08 +0100)]
core: imply SetLoginEnvironment= if PAMName= is set
This geneally makes sense as setting up a PAM session pretty much
defines what a login session is.
In context of #30547 this has the benefit that we can take benefit of
the SetLoginEnvironment= effect without having to set it explicitly,
thus retaining some compat of the uid0 client towards older systemd
service managers.
Yu Watanabe [Wed, 20 Dec 2023 13:22:34 +0000 (22:22 +0900)]
network: also log drop-in config files
We have already show used drop-in config files in networkctl, but
also showing that in log may be useful.
Closes #30483.
Yu Watanabe [Wed, 20 Dec 2023 18:36:35 +0000 (03:36 +0900)]
Merge pull request #30548 from yuwata/analyze-check-all-executables
analyze: check all executables
Yu Watanabe [Fri, 15 Dec 2023 00:21:19 +0000 (09:21 +0900)]
network/neighbor: fix log message and comment
Mike Yuan [Wed, 20 Dec 2023 13:25:27 +0000 (21:25 +0800)]
systemctl: configure boot loader options only when going through firmware
Fixes #30497
Yu Watanabe [Wed, 20 Dec 2023 16:17:00 +0000 (01:17 +0900)]
Merge pull request #30538 from poettering/ptyfwd-reset-color
ptyfwd: reset colors when we exit the pty forwarding logic
Yu Watanabe [Wed, 20 Dec 2023 16:16:34 +0000 (01:16 +0900)]
Merge pull request #30543 from YHNdnzj/execute-cleanup
core/execute: trivial cleanup
Yu Watanabe [Wed, 20 Dec 2023 14:20:01 +0000 (23:20 +0900)]
analyze-verify: verify all executables
ExecStart= and friends for .service and .socket can be specified
multiple times.
This also checks all commands for .mount and .swap, not only for the
current control command.
Yu Watanabe [Wed, 20 Dec 2023 14:36:38 +0000 (23:36 +0900)]
TEST-65-ANALYZE: only mount /usr if necessary
Follow-up for
8f764b32eabd3d39abfc0f4eaffd282223df4768.
Otherwise, we fail to umount several directories on shutdown.
---
[ 15.684430] systemd[1]: Failed unmounting tmp-root-proc.mount.
[ 15.689379] systemd[1]: Failed unmounting tmp-root-run.mount.
[ 15.710572] systemd[1]: Failed unmounting tmp-root-sys-fs-cgroup.mount.
[ 15.913953] systemd[1]: Failed unmounting tmp-root-dev.mount.
[ 15.924603] systemd[1]: Failed unmounting tmp-root-sys.mount.
[ 15.938207] systemd[1]: Failed unmounting tmp-root.mount.
[ 15.952395] systemd[1]: Failed unmounting tmp.mount.
Lennart Poettering [Wed, 20 Dec 2023 10:59:52 +0000 (11:59 +0100)]
ptyfwd: make sure pty_forward_free() follows our usual semantics regarding NULL
Lennart Poettering [Wed, 20 Dec 2023 10:58:35 +0000 (11:58 +0100)]
ptyfwd: reset colors when we exit the pty forwarding logic
Just in case there was still a color set, make sure to reset things.
Yu Watanabe [Wed, 20 Dec 2023 14:46:11 +0000 (23:46 +0900)]
Merge pull request #30537 from poettering/run-arg-service-type-fix
run: arg_service_type is not supposed to be allocated from heap
Yu Watanabe [Wed, 20 Dec 2023 14:46:01 +0000 (23:46 +0900)]
Merge pull request #30536 from yuwata/network-bridge-vlan-debugging-logs
network/bridge-vlan: add debugging logs and documentation update
Mike Yuan [Wed, 20 Dec 2023 13:56:49 +0000 (21:56 +0800)]
core/execute: use assertion for _done function
As per our usual coding style.
Mike Yuan [Wed, 20 Dec 2023 13:11:26 +0000 (21:11 +0800)]
core/execute: remove unneeded brackets
I did not merge the if-s, since I think it's easier to read
in the current form with those long socketpair() calls.
Daan De Meyer [Sun, 10 Dec 2023 21:44:25 +0000 (22:44 +0100)]
bootctl: update/list/remove all instances of systemd-boot in /EFI/BOOT
systemd-boot might be installed in /EFI/BOOT under more names than
just /EFI/BOOT/BOOTX64.efi. The prime example is shim which loads
its second stage binary from /EFI/BOOT/grubx64.efi. To accomodate
use cases where systemd-boot is installed as /EFI/BOOT/grubx64.efi,
let's always check the entire /EFI/BOOT directory for binaries that
identify as systemd-boot and list/update/remove those as well.
Let's keep this somewhat generic though and not install ourselves as
grubx64.efi since that would mean having to check for shim which is
a can of worms we probably don't want to open.
Franck Bui [Tue, 19 Dec 2023 12:56:58 +0000 (13:56 +0100)]
rules: set up tty permissions and group for /dev/hvc* nodes
Before
b4bf9007cbe, the permissions and group of the hypervisor consoles were
set by agetty(8).
Yu Watanabe [Wed, 20 Dec 2023 12:00:36 +0000 (21:00 +0900)]
Merge pull request #30525 from YHNdnzj/networkctl-mask
networkctl: introduce verb mask and unmask
Lennart Poettering [Tue, 19 Dec 2023 18:09:59 +0000 (19:09 +0100)]
run: underline section titles in --help as we usually do
Lennart Poettering [Tue, 19 Dec 2023 18:10:36 +0000 (19:10 +0100)]
run: arg_service_type is not supposed to be allocated from heap
Yu Watanabe [Wed, 20 Dec 2023 10:47:04 +0000 (19:47 +0900)]
network/bridge-vlan: add debugging logs about set or removed VLAN IDs
Addresses https://github.com/systemd/systemd/pull/29987#issuecomment-
1863937968.
Yu Watanabe [Wed, 20 Dec 2023 10:12:34 +0000 (19:12 +0900)]
man,NEWS: mention that all previously assigned VLAN IDs are cleared
Addresses https://github.com/systemd/systemd/pull/29987#issuecomment-
1863934902.
Yu Watanabe [Wed, 20 Dec 2023 10:11:55 +0000 (19:11 +0900)]
man: fix indentation
Yu Watanabe [Wed, 20 Dec 2023 09:43:32 +0000 (18:43 +0900)]
Merge pull request #30534 from yuwata/man-page-update-and-fix-typo
Man page update and fix typo
Frantisek Sumsal [Tue, 19 Dec 2023 14:05:23 +0000 (15:05 +0100)]
test: trigger /boot mount if it's an automount
If the target mount point is an automount, checking it for writeability
without triggering it first is iffy and yields different results based
on kernel version:
~# systemd-run --wait --pipe -p ProtectSystem=yes bash -xec 'uname -r; mount -l | grep boot; test ! -w /boot'
Running as unit: run-u36.service; invocation ID:
f948ff4f3c8e4bcfba364ead94bd0ad9
+ uname -r
4.18.0-529.el8.x86_64
+ mount -l
+ grep boot
systemd-1 on /boot type autofs (rw,relatime,fd=43,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=356096)
+ test '!' -w /boot
Finished with result: exit-code
Main processes terminated with: code=exited/status=1
~# systemd-run --wait --pipe -p ProtectSystem=yes bash -xec 'uname -r; mount -l | grep boot; test ! -w /boot'
Running as unit: run-u274.service; invocation ID:
ccc53ed63c3249348cf714f97a3a7026
+ uname -r
6.6.7-arch1-1
+ mount -l
+ grep boot
systemd-1 on /boot type autofs (rw,relatime,fd=95,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=730583)
+ test '!' -w /boot
Finished with result: success
Main processes terminated with: code=exited/status=0
One solution would be to use /boot/ instead of just /boot, which triggers
the automount during the check, but in that case the mount would happen
_after_ we apply the ProtectSystem= stuff, so the mount point would
be unexpectedly writable:
~# systemd-run --wait --pipe -p ProtectSystem=yes bash -xec 'uname -r; mount -l | grep boot; test ! -w /boot/ || mount -l | grep boot'
Running as unit: run-u282.service; invocation ID:
2154f6b4cbd34ddeb3e246cb7c991918
+ uname -r
6.6.7-arch1-1
+ mount -l
+ grep boot
systemd-1 on /boot type autofs (rw,relatime,fd=95,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=730583)
+ test '!' -w /boot/
+ mount -l
+ grep boot
systemd-1 on /boot type autofs (rw,relatime,fd=95,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=730583)
/dev/vda2 on /boot type vfat (rw,nosuid,nodev,noexec,relatime,nosymfollow,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
Let's just trigger the (possible) automounts explicitly before we do any
checks to avoid all this stuff.
Also, when at it, check that ProtectSystem=yes|full correctly protects
the ESP mount as well.
Follow-up for
97bbb9cfbd.
Yu Watanabe [Wed, 20 Dec 2023 06:11:59 +0000 (15:11 +0900)]
Yu Watanabe [Wed, 20 Dec 2023 06:08:49 +0000 (15:08 +0900)]
man: environment value -> udev property
These are not environment variables, but udev properties.
Follow-up for
3b2e7dc5a285edbbb1bf6aed2d88b889d801613f.
Mike Yuan [Tue, 19 Dec 2023 07:38:32 +0000 (15:38 +0800)]
networkctl: introduce verb mask and unmask
Suggested in https://github.com/systemd/systemd/pull/29928#discussion_r1386626565
Mike Yuan [Tue, 19 Dec 2023 08:20:08 +0000 (16:20 +0800)]
networkctl-config-file: check for masked config before editing/showing
Mike Yuan [Sat, 16 Dec 2023 16:02:22 +0000 (00:02 +0800)]
networkctl-config-file: split out reload_daemons
Mike Yuan [Sat, 16 Dec 2023 11:57:02 +0000 (19:57 +0800)]
networkctl-cat: insert a newline between different config files
Mike Yuan [Sat, 16 Dec 2023 11:19:29 +0000 (19:19 +0800)]
networkctl: split out networkctl-config-file.[ch]
Mike Yuan [Fri, 17 Nov 2023 12:32:20 +0000 (20:32 +0800)]
shared/install: use RET_GATHER more
Yu Watanabe [Wed, 20 Dec 2023 04:42:59 +0000 (13:42 +0900)]
Merge pull request #30493 from teknoraver/main
Add verbose output on unit start #5717
Frantisek Sumsal [Tue, 19 Dec 2023 15:54:35 +0000 (16:54 +0100)]
test: reset systemd-resolved.service's restart counter
Otherwise we might occasionally hit the start rate limit, as we restart
the service a bunch of times:
[ 3702.280886] testsuite-75.sh[1135]: + tee /tmp/tmp.wUL8bkJwrt
[ 3702.283684] testsuite-75.sh[1135]: {}
[ 3702.284254] testsuite-75.sh[46]: + restart_resolved
[ 3702.284302] testsuite-75.sh[46]: + systemctl stop systemd-resolved.service
[ 3702.310678] testsuite-75.sh[1140]: + systemctl is-failed systemd-resolved.service
[ 3702.316766] testsuite-75.sh[1141]: inactive
[ 3702.316998] testsuite-75.sh[46]: + systemctl start systemd-resolved.service
[ 3702.322315] systemd[1]: systemd-resolved.service: Start request repeated too quickly.
[ 3702.322343] systemd[1]: systemd-resolved.service: Failed with result 'start-limit-hit'.
[ 3702.322609] systemd[1]: Failed to start systemd-resolved.service - Network Name Resolution.
[ 3702.323619] systemctl[1142]: Job for systemd-resolved.service failed.
[ 3702.323839] systemctl[1142]: See "systemctl status systemd-resolved.service" and "journalctl -xeu systemd-resolved.service" for details.
[ 3702.325035] systemd[1]: testsuite-75.service: Failed with result 'exit-code'.
[ 3702.325391] systemd[1]: Failed to start testsuite-75.service - Tests for systemd-resolved.
Follow-up for
b1384db11b and
6ef512c0bb.
Lennart Poettering [Tue, 19 Dec 2023 14:01:59 +0000 (15:01 +0100)]
varlink: these two errors where added to the spec, we aren't squatting the namespace anymore
https://github.com/varlink/varlink.github.io/commit/
4443c57f1ed0f340ec82c925d69181e4b8db7ceb
Luca Boccassi [Tue, 19 Dec 2023 22:19:25 +0000 (23:19 +0100)]
Merge pull request #30531 from yuwata/trivial-cleanups
Trivial cleanups
Yu Watanabe [Tue, 19 Dec 2023 15:54:10 +0000 (00:54 +0900)]
signal-util: align table
Yu Watanabe [Tue, 19 Dec 2023 15:48:49 +0000 (00:48 +0900)]
time-util: make usleep_safe() return earlier if 0 is passed
Daan De Meyer [Tue, 19 Dec 2023 17:59:09 +0000 (18:59 +0100)]
Merge pull request #30527 from DaanDeMeyer/sys
test: Skip various tests when /sys is not mounted
Daan De Meyer [Tue, 19 Dec 2023 15:03:06 +0000 (16:03 +0100)]
test: Skip various tests when /sys is not mounted
When running tests in a container, /sys might not be mounted, so
let's make sure we skip tests that depend on /sys in this case.
Daan De Meyer [Tue, 19 Dec 2023 15:01:54 +0000 (16:01 +0100)]
test: Make sure SYSTEMD_HWDB_UPDATE_BYPASS is disabled in the hwdb test
Let's make this test independent on what's in the environment.
Daan De Meyer [Tue, 19 Dec 2023 14:59:16 +0000 (15:59 +0100)]
mkosi: Add strace and gdb to base image build packages
For debugging failing tests in combination with mkosi's --debug-shell.
Matteo Croce [Fri, 15 Dec 2023 14:48:20 +0000 (06:48 -0800)]
systemctl: show success messages when showing transaction
Extend `--show-transaction` so it shows a success message when an unit
is successfully started.
Matteo Croce [Thu, 14 Dec 2023 14:22:14 +0000 (15:22 +0100)]
dbus-wait-for-jobs: change 'quiet' flag to enum
Change the 'quiet' flag to `bus_wait_for_jobs()` to an enum, so we can
select with more granularity the type of information logged.
Frantisek Sumsal [Tue, 19 Dec 2023 11:06:24 +0000 (12:06 +0100)]
Revert "mkosi: pin CentOS8 kernel to working version"
A fixed kernel finally landed on mirrors, so let's revert the C8S kernel
pin.
This reverts commit
a64398b2ca1cdaee291550face0d1ce5f8ea52f6.
Yu Watanabe [Tue, 19 Dec 2023 03:06:00 +0000 (12:06 +0900)]
find-esp: add debugging log about failure in parsing env variable
Addresses https://github.com/systemd/systemd/pull/30321#discussion_r1429716344.
Lukas Nykryn [Fri, 8 Dec 2023 11:33:06 +0000 (12:33 +0100)]
udev: allow/denylist for reading sysfs attributes when composing a NIC name
Users can currently pick specific versions of NIC naming, but that
does not guarantee that NIC names won't change after the kernel adds
a new sysfs attribute.
This patch allows for an allow/deny list of sysfs attributes
that could be used when composing the name.
These lists can be supplied as an hwdb entry in the form of
/etc/udev/hwdb.d/50-net-naming-allowlist.hwdb
net:naming:drvirtio_net
ID_NET_NAME_ALLOW=0
ID_NET_NAME_ALLOW_ACPI_INDEX=1
ID_NET_NAME_ALLOW_ADDR_ASSIGN_TYPE=1
ID_NET_NAME_ALLOW_ADDRESS=1
ID_NET_NAME_ALLOW_ARI_ENABLED=1
ID_NET_NAME_ALLOW_DEV_PORT=1
ID_NET_NAME_ALLOW_FUNCTION_ID=1
ID_NET_NAME_ALLOW_IFLINK=1
ID_NET_NAME_ALLOW_INDEX=1
ID_NET_NAME_ALLOW_LABEL=1
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=1
ID_NET_NAME_ALLOW_TYPE=1
Yu Watanabe [Tue, 19 Dec 2023 02:49:31 +0000 (11:49 +0900)]
Merge pull request #30491 from fbuihuu/vconsole-handle-kd-grahpics-mode
vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode m…
Lennart Poettering [Mon, 18 Dec 2023 13:52:53 +0000 (14:52 +0100)]
siphash: make sure siphash24_compress_usec_t() works the same on LE/BE archs
Let's be systematic here, and always hash LE values. It doesn't matter
in our current codebase, but it might one day.
Yu Watanabe [Tue, 19 Dec 2023 02:48:40 +0000 (11:48 +0900)]
Merge pull request #30518 from mrc0mmand/assorted-tweaks
A couple of assorted tweaks
Lennart Poettering [Mon, 18 Dec 2023 13:47:47 +0000 (14:47 +0100)]
ether-addr-util: split out logic to mark MAC addresses as random
Frantisek Sumsal [Mon, 18 Dec 2023 17:02:41 +0000 (18:02 +0100)]
test: add missing operators
Without them only the last expression's return value is honored, causing
unexpected CI fails:
[ 26.006721] testsuite-04.sh[1191]: + for _ in {0..9}
[ 26.007672] testsuite-04.sh[1191]: + setterm --term linux --dump --file /tmp/console.dump
[ 26.008871] testsuite-04.sh[1233]: + SYSTEMD_COLORS=256
[ 26.009606] testsuite-04.sh[1233]: + /usr/lib/systemd/systemd-bsod
[ 26.063296] systemd[1]: session-1.scope: Deactivated successfully.
[ 26.124789] testsuite-04.sh[1191]: + grep -aq 'Press any key to exit' /tmp/console.dump
[ 26.131509] testsuite-04.sh[1191]: + grep -aq 'Root emergency message' /tmp/console.dump
[ 26.137882] testsuite-04.sh[1191]: + grep -aq 'The current boot has failed' /tmp/console.dump
[ 26.141650] testsuite-04.sh[1191]: + return 0
[ 26.144816] testsuite-04.sh[1191]: + grep -aq 'Scan the QR code' /tmp/console.dump
[ 26.153591] testsuite-04.sh[1191]: + at_exit
[ 26.154744] testsuite-04.sh[1191]: + local EC=1
[ 26.155697] testsuite-04.sh[1191]: + [[ 1 -ne 0 ]]
[ 26.156787] testsuite-04.sh[1191]: + [[ -e /tmp/console.dump ]]
[ 26.157799] testsuite-04.sh[1191]: + cat /tmp/console.dump
[ 26.158858] testsuite-04.sh[1244]: The current boot has failed!
[ 26.159858] testsuite-04.sh[1244]: Root emergency message
I'm genuinely impressed that this worked at all.
Ronan Pigott [Mon, 18 Dec 2023 23:38:44 +0000 (16:38 -0700)]
typo: transer -> transfer
Frantisek Sumsal [Mon, 18 Dec 2023 16:26:19 +0000 (17:26 +0100)]
pcrlock: use empty_or_dash() more
Frantisek Sumsal [Mon, 18 Dec 2023 16:25:10 +0000 (17:25 +0100)]
analyze: use strempty()
Frantisek Sumsal [Mon, 18 Dec 2023 16:09:06 +0000 (17:09 +0100)]
man: avoid potential shell expansion in systemctl's example
Resolves: #30014
Frantisek Sumsal [Mon, 18 Dec 2023 16:06:43 +0000 (17:06 +0100)]
journalctl: also refuse --cursor-file= with --since=
We already refuse the other two cursor-related options (--cursor= and
--after-cursor=) with --since=, so let's do the same with
--cursor-file=.
Closes: #20523
Lennart Poettering [Mon, 18 Dec 2023 15:32:21 +0000 (16:32 +0100)]
update TODO
Luca Boccassi [Mon, 18 Dec 2023 15:11:16 +0000 (16:11 +0100)]
Merge pull request #30464 from CodethinkLabs/misc-integration-test-fixes
Misc integration test fixes
Luca Boccassi [Mon, 18 Dec 2023 15:10:33 +0000 (16:10 +0100)]
Merge pull request #30492 from mrc0mmand/skip-TEST-08-without-systemd-in-initrd
test: skip TEST-08-INITRD if systemd didn't run in the initrd
Franck Bui [Mon, 18 Dec 2023 11:47:21 +0000 (12:47 +0100)]
vconsole-setup: remember the correct error value when open_terminal() fails
Franck Bui [Thu, 14 Dec 2023 11:07:46 +0000 (12:07 +0100)]
vconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully
Regardless of whether a vc path is passed, the behavior of
systemd-vconsole-setup wasn't ideal when either the passed vc or /dev/tty1 was
in graphics mode.
When a vc in graphics mode was passed, no message was emitted despite the fact
that the font settings couldn't be applied. The previous code might have
assumed that setfont(8) would throw a warning but that's not case.
When no argument was passed, systemd-vconsole-setup was supposed to
automatically select a valid tty, init it and copy the font setting to the
remaining ttys. However if the selected virtual console was in KD_GRAPHICS mode
the initialization of the font failed not only for the selected source vc but
for all of them.
Frantisek Sumsal [Mon, 18 Dec 2023 14:43:26 +0000 (14:43 +0000)]
Merge pull request #30508 from topimiettinen/fix-flaky-test-address-static
test-network: fix racy test for address_static
Topi Miettinen [Sun, 17 Dec 2023 15:42:09 +0000 (17:42 +0200)]
test-network: accept kernel versions like 1.2.3+ (self-built)
Lennart Poettering [Mon, 18 Dec 2023 14:12:27 +0000 (15:12 +0100)]
Merge pull request #30515 from poettering/dnslabelmax
extend most DNS label buffers by one
networkException [Fri, 15 Dec 2023 02:22:52 +0000 (03:22 +0100)]
core: allow interface altnames in RestrictNetworkInterfaces=
This patch enables IFNAME_VALID_ALTERNATIVE for checks guarding the
parsing of RestrictNetworkInterfaces=.
The underlying implementation for this option already supports
altnames.
Lennart Poettering [Mon, 18 Dec 2023 14:11:54 +0000 (15:11 +0100)]
Merge pull request #30321 from yuwata/find-esp
find-esp: gracefully handle btrfs RAID
Lennart Poettering [Mon, 18 Dec 2023 14:11:23 +0000 (15:11 +0100)]
Merge pull request #30150 from poettering/homectl-interactive
add "homectl firstboot" verb, that runs at first boot and can create a user, interactively or from creds
Lennart Poettering [Mon, 18 Dec 2023 13:54:34 +0000 (14:54 +0100)]
64bit mount id
Daan De Meyer [Sun, 17 Dec 2023 18:41:56 +0000 (19:41 +0100)]
shutdown: Send EXIT_STATUS before final sync
There's a race condition where the EXIT_STATUS= message we send
just before shutting down the VM doesn't arrive on the host,
presumably because the VM is shut down before the kernel has had a
chance to forward the message to the host.
Since there's no obvious way to wait until the message has been
flushed to the host, let's send the message before we execute the
final sync() instead of after executing the final sync(). In my
testing, this seems to either guarantee the message is sent or
introduces sufficient delay that the kernel always has time to flush
its socket buffers to the host.
Lennart Poettering [Wed, 22 Nov 2023 09:59:57 +0000 (10:59 +0100)]
update TODO
Lennart Poettering [Thu, 30 Nov 2023 17:41:53 +0000 (18:41 +0100)]
mkosi: use systemd.firstboot=no to turn of interactivity at boot
Now that creds are processed even if systemd.firstboot=no is set, we can
use it to disable the root pw prompt *and* the new homectl prompt at the
same time, without breaking the creds stuff.
Lennart Poettering [Wed, 22 Nov 2023 09:58:14 +0000 (10:58 +0100)]
homectl: add "firstboot" command
This extends what systemd-firstboot does and runs on first boots only
and either processes user records passed in via credentials to create,
or asks the user interactively to create one (only if no regular user
exists yet).
Lennart Poettering [Thu, 30 Nov 2023 17:25:53 +0000 (18:25 +0100)]
firstboot: adjust what systemd.firstboot=no on the kernel cmdline does
So far by setting systemd.firstboot=no simply short-cut the whole tool
and made it exit early. This is against what the docs say though: they
just claim the user isn't asked for questions anymore. Let's change
behaviour so that the code actually matches the docs, or more
specifically: if credentials are passed into firstboot, then honour
them, regardless of the kernel cmdline option.
After all, if we get explicit data passed in we should operate on it,
and then leave systemd.firstboot=no just affect the interactivity.
I think this was actually mostly a bug introduced because the credential
stuff was added after the kernel cmdline option, hence this just catches
up with the new addition.
Lennart Poettering [Wed, 22 Nov 2023 12:13:59 +0000 (13:13 +0100)]
homectl: when taking a JSON user record as input, strip secttions we don't want rather than complain about them
This makes it easier to take a user record from one host and create an
identical user on another.