]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 months agocgroup: Restrict effective limits with global resource provision 28797/head
Michal Koutný [Mon, 14 Aug 2023 17:59:57 +0000 (19:59 +0200)] 
cgroup: Restrict effective limits with global resource provision

Global resource (whole system or root cg's (e.g. in a container)) is
also a well-defined limit for memory and tasks, take it into account
when calculating effective limits.

4 months agotest: Add effective cgroup limits testing
Michal Koutný [Wed, 9 Aug 2023 20:43:31 +0000 (22:43 +0200)] 
test: Add effective cgroup limits testing

4 months agotest: Convert rlimit test to subtest of generic limit testing
Michal Koutný [Wed, 9 Aug 2023 20:42:36 +0000 (22:42 +0200)] 
test: Convert rlimit test to subtest of generic limit testing

No functional change intended. Preparation for new tests.

4 months agocgroup: Add EffectiveMemoryMax=, EffectiveMemoryHigh= and EffectiveTasksMax= properties
Michal Koutný [Fri, 11 Aug 2023 11:51:20 +0000 (13:51 +0200)] 
cgroup: Add EffectiveMemoryMax=, EffectiveMemoryHigh= and EffectiveTasksMax= properties

Users become perplexed when they run their workload in a unit with no
explicit limits configured (moreover, listing the limit property would
even show it's infinity) but they experience unexpected resource
limitation.

The memory and pid limits come as the most visible, therefore add new
unit read-only properties:
- EffectiveMemoryMax=,
- EffectiveMemoryHigh=,
- EffectiveTasksMax=.

These properties represent the most stringent limit systemd is aware of
for the given unit -- and that is typically(*) the effective value.

Implement the properties by simply traversing all parents in the
leaf-slice tree and picking the minimum value. Note that effective
limits are thus defined even for units that don't enable explicit
accounting (because of the hierarchy).

(*) The evasive case is when systemd runs in a cgroupns and cannot
reason about outer setup. Complete solution would need kernel support.

5 months agosystemctl: configure boot loader options only when going through firmware
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

5 months agoMerge pull request #30538 from poettering/ptyfwd-reset-color
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

5 months agoMerge pull request #30543 from YHNdnzj/execute-cleanup
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

5 months agoptyfwd: make sure pty_forward_free() follows our usual semantics regarding NULL 30538/head
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

5 months agoptyfwd: reset colors when we exit the pty forwarding logic
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.

5 months agoMerge pull request #30537 from poettering/run-arg-service-type-fix
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

5 months agoMerge pull request #30536 from yuwata/network-bridge-vlan-debugging-logs
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

5 months agocore/execute: use assertion for _done function 30543/head
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.

5 months agocore/execute: remove unneeded brackets
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.

5 months agobootctl: update/list/remove all instances of systemd-boot in /EFI/BOOT
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.

5 months agorules: set up tty permissions and group for /dev/hvc* nodes
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).

5 months agoMerge pull request #30525 from YHNdnzj/networkctl-mask
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

5 months agorun: underline section titles in --help as we usually do 30537/head
Lennart Poettering [Tue, 19 Dec 2023 18:09:59 +0000 (19:09 +0100)] 
run: underline section titles in --help as we usually do

5 months agorun: arg_service_type is not supposed to be allocated from heap
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

5 months agonetwork/bridge-vlan: add debugging logs about set or removed VLAN IDs 30536/head
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.

5 months agoman,NEWS: mention that all previously assigned VLAN IDs are cleared
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.

5 months agoman: fix indentation
Yu Watanabe [Wed, 20 Dec 2023 10:11:55 +0000 (19:11 +0900)] 
man: fix indentation

5 months agoMerge pull request #30534 from yuwata/man-page-update-and-fix-typo
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

5 months agotest: trigger /boot mount if it's an automount
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.

5 months agouserdb: fix typo 30534/head
Yu Watanabe [Wed, 20 Dec 2023 06:11:59 +0000 (15:11 +0900)] 
userdb: fix typo

Follow-up for 523121d543bb1f32dca48d62e1a88cc204e5bb96.

5 months agoman: environment value -> udev property
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.

5 months agonetworkctl: introduce verb mask and unmask 30525/head
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

5 months agonetworkctl-config-file: check for masked config before editing/showing
Mike Yuan [Tue, 19 Dec 2023 08:20:08 +0000 (16:20 +0800)] 
networkctl-config-file: check for masked config before editing/showing

5 months agonetworkctl-config-file: split out reload_daemons
Mike Yuan [Sat, 16 Dec 2023 16:02:22 +0000 (00:02 +0800)] 
networkctl-config-file: split out reload_daemons

5 months agonetworkctl-cat: insert a newline between different config files
Mike Yuan [Sat, 16 Dec 2023 11:57:02 +0000 (19:57 +0800)] 
networkctl-cat: insert a newline between different config files

5 months agonetworkctl: split out networkctl-config-file.[ch]
Mike Yuan [Sat, 16 Dec 2023 11:19:29 +0000 (19:19 +0800)] 
networkctl: split out networkctl-config-file.[ch]

5 months agoshared/install: use RET_GATHER more
Mike Yuan [Fri, 17 Nov 2023 12:32:20 +0000 (20:32 +0800)] 
shared/install: use RET_GATHER more

5 months agoMerge pull request #30493 from teknoraver/main
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

5 months agotest: reset systemd-resolved.service's restart counter
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.

5 months agovarlink: these two errors where added to the spec, we aren't squatting the namespace...
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

5 months agoMerge pull request #30531 from yuwata/trivial-cleanups
Luca Boccassi [Tue, 19 Dec 2023 22:19:25 +0000 (23:19 +0100)] 
Merge pull request #30531 from yuwata/trivial-cleanups

Trivial cleanups

5 months agosignal-util: align table 30531/head
Yu Watanabe [Tue, 19 Dec 2023 15:54:10 +0000 (00:54 +0900)] 
signal-util: align table

5 months agotime-util: make usleep_safe() return earlier if 0 is passed
Yu Watanabe [Tue, 19 Dec 2023 15:48:49 +0000 (00:48 +0900)] 
time-util: make usleep_safe() return earlier if 0 is passed

5 months agoMerge pull request #30527 from DaanDeMeyer/sys
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

5 months agotest: Skip various tests when /sys is not mounted 30527/head
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.

5 months agotest: Make sure SYSTEMD_HWDB_UPDATE_BYPASS is disabled in the hwdb test
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.

5 months agomkosi: Add strace and gdb to base image build packages
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.

5 months agosystemctl: show success messages when showing transaction 30493/head
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.

5 months agodbus-wait-for-jobs: change 'quiet' flag to enum
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.

5 months agoRevert "mkosi: pin CentOS8 kernel to working version"
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.

5 months agofind-esp: add debugging log about failure in parsing env variable
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.

5 months agoudev: allow/denylist for reading sysfs attributes when composing a NIC name
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

5 months agoMerge pull request #30491 from fbuihuu/vconsole-handle-kd-grahpics-mode
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…

5 months agosiphash: make sure siphash24_compress_usec_t() works the same on LE/BE archs
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.

5 months agoMerge pull request #30518 from mrc0mmand/assorted-tweaks
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

5 months agoether-addr-util: split out logic to mark MAC addresses as random
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

5 months agotest: add missing operators
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.

5 months agotypo: transer -> transfer
Ronan Pigott [Mon, 18 Dec 2023 23:38:44 +0000 (16:38 -0700)] 
typo: transer -> transfer

5 months agopcrlock: use empty_or_dash() more 30518/head
Frantisek Sumsal [Mon, 18 Dec 2023 16:26:19 +0000 (17:26 +0100)] 
pcrlock: use empty_or_dash() more

5 months agoanalyze: use strempty()
Frantisek Sumsal [Mon, 18 Dec 2023 16:25:10 +0000 (17:25 +0100)] 
analyze: use strempty()

5 months agoman: avoid potential shell expansion in systemctl's example
Frantisek Sumsal [Mon, 18 Dec 2023 16:09:06 +0000 (17:09 +0100)] 
man: avoid potential shell expansion in systemctl's example

Resolves: #30014

5 months agojournalctl: also refuse --cursor-file= with --since=
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
5 months agoupdate TODO
Lennart Poettering [Mon, 18 Dec 2023 15:32:21 +0000 (16:32 +0100)] 
update TODO

5 months agoMerge pull request #30464 from CodethinkLabs/misc-integration-test-fixes
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

5 months agoMerge pull request #30492 from mrc0mmand/skip-TEST-08-without-systemd-in-initrd
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

5 months agovconsole-setup: remember the correct error value when open_terminal() fails 30491/head
Franck Bui [Mon, 18 Dec 2023 11:47:21 +0000 (12:47 +0100)] 
vconsole-setup: remember the correct error value when open_terminal() fails

5 months agovconsole-setup: handle the case where the vc is in KD_GRAPHICS mode more gracefully
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.

5 months agoMerge pull request #30508 from topimiettinen/fix-flaky-test-address-static
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

5 months agotest-network: accept kernel versions like 1.2.3+ (self-built)
Topi Miettinen [Sun, 17 Dec 2023 15:42:09 +0000 (17:42 +0200)] 
test-network: accept kernel versions like 1.2.3+ (self-built)

5 months agoMerge pull request #30515 from poettering/dnslabelmax
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

5 months agocore: allow interface altnames in RestrictNetworkInterfaces=
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.

5 months agoMerge pull request #30321 from yuwata/find-esp
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

5 months agoMerge pull request #30150 from poettering/homectl-interactive
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

5 months ago64bit mount id
Lennart Poettering [Mon, 18 Dec 2023 13:54:34 +0000 (14:54 +0100)] 
64bit mount id

5 months agoshutdown: Send EXIT_STATUS before final sync
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.

5 months agoupdate TODO 30150/head
Lennart Poettering [Wed, 22 Nov 2023 09:59:57 +0000 (10:59 +0100)] 
update TODO

5 months agomkosi: use systemd.firstboot=no to turn of interactivity at boot
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.

5 months agohomectl: add "firstboot" command
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).

5 months agofirstboot: adjust what systemd.firstboot=no on the kernel cmdline does
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.

5 months agohomectl: when taking a JSON user record as input, strip secttions we don't want rathe...
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.

5 months agocreds-util: add helper for opening the credentials directory
Lennart Poettering [Wed, 22 Nov 2023 09:57:20 +0000 (10:57 +0100)] 
creds-util: add helper for opening the credentials directory

5 months agoMerge pull request #30479 from keszybz/man-pages-synopsis-layout
Lennart Poettering [Mon, 18 Dec 2023 09:44:58 +0000 (10:44 +0100)] 
Merge pull request #30479 from keszybz/man-pages-synopsis-layout

Man pages synopsis layout

5 months agospecifier: use mempcpy() where we can 30515/head
Lennart Poettering [Mon, 18 Dec 2023 09:24:50 +0000 (10:24 +0100)] 
specifier: use mempcpy() where we can

5 months agoresolved: increase most label buffers to fit a trailing NUL byte
Lennart Poettering [Mon, 18 Dec 2023 08:42:22 +0000 (09:42 +0100)] 
resolved: increase most label buffers to fit a trailing NUL byte

This is just paranoia. In all these cases we don't really care about the
trailing NUL byte. But if there's space for it dns_label_unescape() is
going to insert it, and that's a good safety strategy.

This is a follow-up to c29c3adefa8cd859f8cb87d9ad62f3d77b7cd102 which
fixed an actual bug, unlike this commit, which is just paranoia.

5 months agoMerge pull request #30482 from YHNdnzj/ferror-handling
Mike Yuan [Mon, 18 Dec 2023 06:42:22 +0000 (14:42 +0800)] 
Merge pull request #30482 from YHNdnzj/ferror-handling

A few fixes for ferror() handling

5 months agoMerge pull request #30494 from keszybz/trivial-cleanups
Yu Watanabe [Sun, 17 Dec 2023 23:25:02 +0000 (08:25 +0900)] 
Merge pull request #30494 from keszybz/trivial-cleanups

Trivial cleanups

5 months agoRevert "test: temporarily skip checking NFT sets in test_address_static" 30508/head
Topi Miettinen [Sun, 17 Dec 2023 16:01:24 +0000 (18:01 +0200)] 
Revert "test: temporarily skip checking NFT sets in test_address_static"

This reverts commit e4a80de119c5ce022396b436690f6321f4bb626b.

5 months agotest-network: fix racy test for address_static
Topi Miettinen [Sun, 17 Dec 2023 15:56:02 +0000 (17:56 +0200)] 
test-network: fix racy test for address_static

NFT sets must be installed before starting networkd, otherwise some sets may be
installed too late.

Closes #30427

5 months agoAdd Bosto BT-12HD series to hwdb
QuonXF [Sat, 16 Dec 2023 17:58:12 +0000 (21:58 +0400)] 
Add Bosto BT-12HD series to hwdb

5 months agoresolved-util: NUL-terminate host label
Ronan Pigott [Sat, 16 Dec 2023 19:45:07 +0000 (12:45 -0700)] 
resolved-util: NUL-terminate host label

In case the host has a 63-byte hostname, we must have enough space for a
NUL terminator as well.

5 months agomeson: make lines more consistent
Diego Viola [Thu, 14 Dec 2023 21:35:00 +0000 (18:35 -0300)] 
meson: make lines more consistent

5 months agomachine: also clean up gid_map fscanf error handling 30482/head
Mike Yuan [Thu, 14 Dec 2023 15:57:26 +0000 (23:57 +0800)] 
machine: also clean up gid_map fscanf error handling

5 months agoRevert "test: disable TEST-08-INITRD on ubuntu CI" 30492/head
Frantisek Sumsal [Fri, 15 Dec 2023 10:06:28 +0000 (11:06 +0100)] 
Revert "test: disable TEST-08-INITRD on ubuntu CI"

No longer necessary, as the test checks if systemd ran in the initrd.

This reverts commit 0d290cbcd62c5021b485c6f2bf0cef633e77a2b1.

5 months agotest: skip TEST-08-INITRD if systemd didn't run in the initrd
Frantisek Sumsal [Fri, 15 Dec 2023 10:04:39 +0000 (11:04 +0100)] 
test: skip TEST-08-INITRD if systemd didn't run in the initrd

This test requires systemd in the initrd, which is not the case in
mkinitrd-based initrds (Ubuntu/Debian).

Resolves: #30481

5 months agotest-systemctl-enable: fix typo 30494/head
Zbigniew Jędrzejewski-Szmek [Fri, 15 Dec 2023 15:01:35 +0000 (16:01 +0100)] 
test-systemctl-enable: fix typo

Follow-up for fe6e0cfa19dd1de4ac599ae207182fd556adcfa7.

5 months agoNEWS: fix version
Zbigniew Jędrzejewski-Szmek [Fri, 15 Dec 2023 14:52:37 +0000 (15:52 +0100)] 
NEWS: fix version

5 months agoman: use <simplelist> for two more lists 30479/head
Zbigniew Jędrzejewski-Szmek [Fri, 15 Dec 2023 13:32:50 +0000 (14:32 +0100)] 
man: use <simplelist> for two more lists

5 months agoman: use <simplelist> for file lists in synopsis
Zbigniew Jędrzejewski-Szmek [Thu, 14 Dec 2023 11:52:03 +0000 (12:52 +0100)] 
man: use <simplelist> for file lists in synopsis

With <para><filename>…</filename></para>, we get a separate "paragraph" for
each line, i.e. entries separated by empty lines. This uses up a lot of space
and was only done because docbook makes it hard to insert a newline. In some
other places, <literallayout> was used, but then we cannot indent the source
text (because the whitespace would end up in the final page). We can get the
desired result with <simplelist>.

With <simplelist> the items are indented in roff output, but not in html
output. In some places this looks better then no indentation, and in others it
would probably be better to have no indent. But this is a minor issue and we
cannot control that.

(I didn't convert all spots. There's a bunch of other man pages which have two
lines, e.g. an executable and service file, and it doesn't matter there so
much.)

5 months agobasic/uid-range: add uid_map_read_one helper
Mike Yuan [Thu, 14 Dec 2023 15:55:43 +0000 (23:55 +0800)] 
basic/uid-range: add uid_map_read_one helper

5 months agocgroup-util: check ferror() first
Mike Yuan [Thu, 14 Dec 2023 15:41:06 +0000 (23:41 +0800)] 
cgroup-util: check ferror() first

Also, there's no need to set use errno_or_else(), since fscanf() is
documented to set errno on error.

5 months agofsck: use correct errno
Mike Yuan [Thu, 14 Dec 2023 15:38:39 +0000 (23:38 +0800)] 
fsck: use correct errno

5 months agoMerge pull request #30484 from mrc0mmand/test-tweaks
Luca Boccassi [Fri, 15 Dec 2023 11:20:35 +0000 (12:20 +0100)] 
Merge pull request #30484 from mrc0mmand/test-tweaks

A couple of test-related tweaks

5 months agoFix a typo in the org.freedesktop.systemd1 man page
Andrew Sayers [Thu, 14 Dec 2023 16:31:09 +0000 (16:31 +0000)] 
Fix a typo in the org.freedesktop.systemd1 man page

5 months agotest: tell delv to load anchors from /etc/bind.keys explicitly 30484/head
Frantisek Sumsal [Thu, 14 Dec 2023 15:59:21 +0000 (16:59 +0100)] 
test: tell delv to load anchors from /etc/bind.keys explicitly

Since [0] delv no longer does that automagically, so we have to that
explicitly with each delv invocation.

Resolves: #30477

[0] https://github.com/isc-projects/bind9/commit/c144fd2871206d209ccdb916f5959a3ceab1d44c

5 months agotest: don't check for -Dinstall-tests=true with NO_BUILD=1
Frantisek Sumsal [Thu, 14 Dec 2023 14:06:46 +0000 (15:06 +0100)] 
test: don't check for -Dinstall-tests=true with NO_BUILD=1

5 months agotest: install empty directories with NO_BUILD=1
Frantisek Sumsal [Thu, 14 Dec 2023 14:06:12 +0000 (15:06 +0100)] 
test: install empty directories with NO_BUILD=1

Resolves: #30478