]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
22 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.

22 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.

22 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.

22 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).

22 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

22 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

22 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.

22 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.

22 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.

22 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

22 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

22 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

22 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

22 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]

22 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

22 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

22 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.

22 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

22 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

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

22 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

22 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

22 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.

22 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.

22 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.

22 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.

22 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.

22 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.

22 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.

22 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

22 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…

22 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.

22 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

22 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

22 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.

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

22 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

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

22 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

22 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
22 months agoupdate TODO
Lennart Poettering [Mon, 18 Dec 2023 15:32:21 +0000 (16:32 +0100)] 
update TODO

22 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

22 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

22 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

22 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.

22 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

22 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)

22 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

22 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.

22 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

22 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

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

22 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.

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

22 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.

22 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).

22 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.

22 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.

22 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

22 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

22 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

22 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.

22 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

22 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

22 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.

22 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

22 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

22 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.

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

22 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

22 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.

22 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

22 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.

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

22 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

22 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.)

22 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

22 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.

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

22 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

22 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

22 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

22 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

22 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

22 months agotest: update comment style & drop one extraneous newline
Frantisek Sumsal [Thu, 14 Dec 2023 10:40:13 +0000 (11:40 +0100)] 
test: update comment style & drop one extraneous newline

Follow-up to 9fb2a61830.

22 months agotest: forward journal messages to console during sd-bsod tests
Frantisek Sumsal [Thu, 14 Dec 2023 10:36:52 +0000 (11:36 +0100)] 
test: forward journal messages to console during sd-bsod tests

Since we nuke the journal multiple times during that, which makes
potential fails undebugable.

22 months agomkosi: make sysvinit path inference consistent 30464/head
Richard Maw [Fri, 8 Dec 2023 18:47:04 +0000 (18:47 +0000)] 
mkosi: make sysvinit path inference consistent

The integration tests use /etc/rc.d/init.d if it exists
or falls back to /etc/init.d,
while the mkosi.build.chroot script dereferenced /etc/init.d.

This produces inconsistent results, as sometimes an image can be made
that has systemd built to expect /etc/init.d but /etc/rc.d/init.d
also exists.

22 months agomkosi: Install locales in fedora
Richard Maw [Tue, 12 Dec 2023 13:14:36 +0000 (13:14 +0000)] 
mkosi: Install locales in fedora

locale files are not generated on-demand in Fedora like they are in
Debian-like systems and are typically installed from package instead.

This is necessary for the locale tests,
which expect en_US.UTF-8 to be available.

22 months agoMerge pull request #30440 from yuwata/network-nexthop-cleanups-2
Yu Watanabe [Thu, 14 Dec 2023 12:44:02 +0000 (21:44 +0900)] 
Merge pull request #30440 from yuwata/network-nexthop-cleanups-2

network/nexthop: several cleanups

22 months agoman/tmpfiles: update summary
Zbigniew Jędrzejewski-Szmek [Thu, 14 Dec 2023 10:08:50 +0000 (11:08 +0100)] 
man/tmpfiles: update summary

It hasn't been just about "volatile" and "files" for a long time.

22 months agosd-netlink: the kernel ignores NLM_F_APPEND in RTM_NEWNEXTHOP message but uses NLM_F_... 30440/head
Yu Watanabe [Wed, 13 Dec 2023 06:37:06 +0000 (15:37 +0900)] 
sd-netlink: the kernel ignores NLM_F_APPEND in RTM_NEWNEXTHOP message but uses NLM_F_REPLACE

See insert_nexthop() in net/ipv4/nexthop.c of the kernel.

22 months agonetwork/nexthop: check existing nexthop can be replaced with requested one
Yu Watanabe [Wed, 13 Dec 2023 06:33:13 +0000 (15:33 +0900)] 
network/nexthop: check existing nexthop can be replaced with requested one

22 months agonetwork/nexthop: do not add NextHop object to Link on requesting
Yu Watanabe [Tue, 12 Dec 2023 18:55:45 +0000 (03:55 +0900)] 
network/nexthop: do not add NextHop object to Link on requesting

Then, all nexthops managed by networkd really exist (unless the kernel
silently removes a nexthop).

This is the same for nexthop already done by
3c283289aefb3cfb8bfa5c759209368b63d1692c and
0a0c2672dbd22dc85d660e5baa7e1bef701beb88 (for address), and
5d098f5d3614d1c0be7c825925637e9ab3d904fb (for neighbor).

22 months agonetwork/nexthop: manage all nexthops by manager
Yu Watanabe [Tue, 12 Dec 2023 18:43:27 +0000 (03:43 +0900)] 
network/nexthop: manage all nexthops by manager

The kernel manages nexthops by their IDs. Previously networkd manages
nexthops in three ways:
- by the corresponding link, if a nexthop has ifindex,
- by the manager, if a nexthop does not have ifindex,
- by the manager with their IDs.

This unifies the three managements of nexthops into one, and use the
same way as the kernel uses.

This is the one for nexthop already done by
aa9626ee3b96e0d2a9a816b5efd38fd7dc829def for neighbor.

22 months agonetwork/nexthop: rename manager_get_nexthop_by_id() -> nexthop_get_by_id()
Yu Watanabe [Tue, 12 Dec 2023 18:23:50 +0000 (03:23 +0900)] 
network/nexthop: rename manager_get_nexthop_by_id() -> nexthop_get_by_id()

22 months agonetwork/nexthop: rename nexthop_owned_by_link() -> nexthop_bound_to_link()
Yu Watanabe [Tue, 12 Dec 2023 18:20:05 +0000 (03:20 +0900)] 
network/nexthop: rename nexthop_owned_by_link() -> nexthop_bound_to_link()

No functional change.

22 months agonetwork/nexthop: NextHop.id is always positive when nexthop_configure() is called
Yu Watanabe [Tue, 12 Dec 2023 09:40:43 +0000 (18:40 +0900)] 
network/nexthop: NextHop.id is always positive when nexthop_configure() is called

If a nexthop is requested without a valid ID, then nexthop_acquire_id()
assigns an unused ID. So, at the time nexthop_configure() is called, the
ID is always valid.

22 months agonetwork/nexthop: do not assign invalid ID
Yu Watanabe [Mon, 11 Dec 2023 16:59:34 +0000 (01:59 +0900)] 
network/nexthop: do not assign invalid ID

This also reduces the scope of the iterator.

22 months agonetwork/nexthop: split-out nexthop_update_group()
Yu Watanabe [Mon, 11 Dec 2023 16:42:12 +0000 (01:42 +0900)] 
network/nexthop: split-out nexthop_update_group()

No functional change, just refactoring and preparation for later
commits.

22 months agonetwork: do not trigger assertion when link_get_by_index() called with an invalid...
Yu Watanabe [Mon, 11 Dec 2023 16:27:09 +0000 (01:27 +0900)] 
network: do not trigger assertion when link_get_by_index() called with an invalid ifindex

Should not change any behavior. Preparation for later commit.