]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 months agopreset: enable homed sidecar services
Zbigniew Jędrzejewski-Szmek [Wed, 7 Feb 2024 11:43:53 +0000 (12:43 +0100)] 
preset: enable homed sidecar services

As described in https://github.com/systemd/systemd/issues/31235, the preset
state for systemd-homed-activate.service was unclear. On the one hand, we have
a preset with 'enable systemd-homed.service', and systemd-homed.service has
'Also=systemd-homed-activate.service systemd-homed-firstboot.service', so
'preset systemd-homed.service' would also enable those two services, but
'preset systemd-homed-activate.service' would disable it, because the presets
don't say it is enabled. It seems that this configuration is internally
inconsistent. As described in the issue, maybe systemctl should be smarter
here, or warn about such configs. Either way, let's make our config consistent.

Follow-up for d1f6e01e4743ae94740314eeb46a162112ef4599 and
3ccadbce3358ba1db7ce5fa3f8dd17c627ffd93b.

3 months agoportable: add --copy=mixed to copy images and link profiles
Luca Boccassi [Wed, 7 Feb 2024 00:36:39 +0000 (00:36 +0000)] 
portable: add --copy=mixed to copy images and link profiles

This new mode copies resources provided by the client, so that they
remain available for inspect/detach even if the original images are
deleted, but symlinks the profile as that is owned by the OS, so that
updates are automatically applied.

3 months agoman: mention that preset-all is performed during early boot
Zbigniew Jędrzejewski-Szmek [Wed, 7 Feb 2024 12:47:38 +0000 (13:47 +0100)] 
man: mention that preset-all is performed during early boot

The intro of systemd-firstboot is rewritten to make it clearer how it fits into
the big picture. Systemd does some machine-id and presets and
systemd-firstboot.service is used to interactively fill in the blanks.

Closes #22225.

3 months agocreds: fix typo
Antonio Alvarez Feijoo [Thu, 8 Feb 2024 16:22:40 +0000 (17:22 +0100)] 
creds: fix typo

3 months agoMerge pull request #30766 from polarina/cryptenroll-tpm2-unlock
Lennart Poettering [Thu, 8 Feb 2024 16:41:03 +0000 (17:41 +0100)] 
Merge pull request #30766 from polarina/cryptenroll-tpm2-unlock

cryptenroll: Add support for unlocking through TPM2 enrollments

3 months agonspawn: add missing OOM check on gethostname_malloc()
Sam Leonard [Tue, 30 Jan 2024 13:05:38 +0000 (13:05 +0000)] 
nspawn: add missing OOM check on gethostname_malloc()

3 months agovmspawn: remove extraneous log_info
Sam Leonard [Thu, 25 Jan 2024 15:03:48 +0000 (15:03 +0000)] 
vmspawn: remove extraneous log_info

3 months agovmspawn: fix incorrect handling of -M in getopt_long
Sam Leonard [Thu, 25 Jan 2024 14:50:24 +0000 (14:50 +0000)] 
vmspawn: fix incorrect handling of -M in getopt_long

3 months agovmspawn: fix incorrect mention of container
Sam Leonard [Thu, 25 Jan 2024 14:55:23 +0000 (14:55 +0000)] 
vmspawn: fix incorrect mention of container

3 months agocopy: do not ignore chattr_flags and friends passed to copy_file_atomic_full()
Yu Watanabe [Thu, 8 Feb 2024 06:59:48 +0000 (15:59 +0900)] 
copy: do not ignore chattr_flags and friends passed to copy_file_atomic_full()

Fixes a bug introduced by 427d9c34e61a8f5bfe369f1d5a0426143fe5741e.

3 months agoMerge pull request #31245 from yuwata/network-ndisc-adjust-log-messages
Yu Watanabe [Thu, 8 Feb 2024 13:05:55 +0000 (22:05 +0900)] 
Merge pull request #31245 from yuwata/network-ndisc-adjust-log-messages

network/ndisc: slightly update log messages

3 months agowait-online: split out get_state_range()
Yu Watanabe [Fri, 2 Feb 2024 17:34:07 +0000 (02:34 +0900)] 
wait-online: split out get_state_range()

Follow-up for 2d708781620239c9d1f9828a39f8761acf6350b2.

After the conversion from FOREACH_POINTER() to FOREACH_ARGUMENT(),
the iterator is never set to POINTER_MAX.

3 months agohwdb: add resolution setting for GAOMON S620
Sludge [Thu, 8 Feb 2024 01:18:35 +0000 (02:18 +0100)] 
hwdb: add resolution setting for GAOMON S620

3 months agodissect-image: fix typo
Yu Watanabe [Thu, 8 Feb 2024 02:37:17 +0000 (11:37 +0900)] 
dissect-image: fix typo

Follow-up for b387778c5b8a1e0d1b3f957f0c5866defbfbe4d4.

3 months agonspawn: fix typo
Yu Watanabe [Thu, 8 Feb 2024 02:36:05 +0000 (11:36 +0900)] 
nspawn: fix typo

Follow-up for f94025a13681e001011dd52e0dcecc143b4501b9.

3 months agotest: fix typo
Yu Watanabe [Thu, 8 Feb 2024 02:33:59 +0000 (11:33 +0900)] 
test: fix typo

Follow-up for 38a80ba1089fcad427f4376e28f74f9eb630fb91 and
a39d8396a986cb6291486b1d8451de8b0fd2b6cc.

3 months agoMerge pull request #31171 from yuwata/sd-ndisc-invalid-dnssl
Yu Watanabe [Thu, 8 Feb 2024 00:10:38 +0000 (09:10 +0900)] 
Merge pull request #31171 from yuwata/sd-ndisc-invalid-dnssl

sd-ndisc: handle invalid DNSSL option gracefully

3 months agonetwork/dhcp4: disable IPv6OnlyMode= by default
Yu Watanabe [Sun, 4 Feb 2024 07:37:33 +0000 (16:37 +0900)] 
network/dhcp4: disable IPv6OnlyMode= by default

As explained in #30891, IPv6OnlyMode= should be enabled with 464XLAT
support, but we do not support it yet. Let's disable by default.

Fixes #30891.

3 months agotest: add test case for invalid DNSSL option 31171/head
Yu Watanabe [Fri, 2 Feb 2024 01:59:36 +0000 (10:59 +0900)] 
test: add test case for invalid DNSSL option

3 months agonetwork/ndisc: sd_ndisc_router_get_{icmp6_ratelimit,retransmission_time}() should... 31245/head
Yu Watanabe [Wed, 7 Feb 2024 21:11:23 +0000 (06:11 +0900)] 
network/ndisc: sd_ndisc_router_get_{icmp6_ratelimit,retransmission_time}() should never fail

This also fixes use of '%m' specifier without passign error code.

3 months agonetwork/ndisc: slightly adjust log messages
Yu Watanabe [Wed, 7 Feb 2024 21:04:09 +0000 (06:04 +0900)] 
network/ndisc: slightly adjust log messages

3 months agotest: add short comment for RA message
Yu Watanabe [Fri, 2 Feb 2024 01:59:17 +0000 (10:59 +0900)] 
test: add short comment for RA message

3 months agosd-ndisc: make sd_ndisc_router_dnssl_get_domains() return -EBADMSG when received...
Yu Watanabe [Fri, 2 Feb 2024 01:23:56 +0000 (10:23 +0900)] 
sd-ndisc: make sd_ndisc_router_dnssl_get_domains() return -EBADMSG when received invalid domain name

Fixes #31168.

3 months agoMerge pull request #31176 from yuwata/network-required-for-online
Yu Watanabe [Wed, 7 Feb 2024 20:26:12 +0000 (05:26 +0900)] 
Merge pull request #31176 from yuwata/network-required-for-online

network: adjust default value of RequiredForOnline=

3 months agosd-dhcp6-client: allow setting send-release when client is running
Fernando Fernandez Mancera [Wed, 7 Feb 2024 10:07:38 +0000 (11:07 +0100)] 
sd-dhcp6-client: allow setting send-release when client is running

The send-release option only affects to the client when STOPPING. There
is no reason to do not allow this option to be set while the client is
running.

An user might want to delay the decision of sending a RELEASE message to
a later stage where the client is already running.

3 months ago60-evdev.hwdb: Add support for Huion Inspiroy 2 L (#31241)
Keian [Wed, 7 Feb 2024 20:14:09 +0000 (20:14 +0000)] 
60-evdev.hwdb: Add support for Huion Inspiroy 2 L (#31241)

Also fixed a spelling mistake on the HUION Inspiroy H420X

3 months agonetwork: set 'removing' flag to remembered object
Yu Watanabe [Fri, 2 Feb 2024 04:08:35 +0000 (13:08 +0900)] 
network: set 'removing' flag to remembered object

Previously, if address_remove() or friends called with a temporary
object, the removing flag is assigned to the temporary object, and is
not set to the remembered object. Hence, e.g.
route_is_ready_to_configure() wrongly judge a required address for a
route is (still) ready, hence networkd fails to configure the route.

Fixes #28009.

3 months agonetwork/address: do not configure with IFA_F_TENTATIVE
Yu Watanabe [Fri, 2 Feb 2024 04:17:18 +0000 (13:17 +0900)] 
network/address: do not configure with IFA_F_TENTATIVE

Follow-up for 0a0c2672dbd22dc85d660e5baa7e1bef701beb88.

After the commit, remembered Address objects by Link are always given by
kernel. Hence, it is not necessary to set the flag, as it is always
ignored by the kernel, and the kernel set the flag on notification if it
is necessary.

3 months agoMerge pull request #31202 from YHNdnzj/creds-reuse
Luca Boccassi [Wed, 7 Feb 2024 10:17:07 +0000 (10:17 +0000)] 
Merge pull request #31202 from YHNdnzj/creds-reuse

core: reuse credential dir across start and start-post if populated

3 months agotest: systemd-update-utmp is optional
Franck Bui [Tue, 6 Feb 2024 13:46:53 +0000 (14:46 +0100)] 
test: systemd-update-utmp is optional

It can be disabled with '-Dutmp=false'

3 months agopreset: enable confext and sysext by default (#31211)
Maanya Goenka [Tue, 6 Feb 2024 20:19:59 +0000 (12:19 -0800)] 
preset: enable confext and sysext by default (#31211)

3 months agoNEWS: announce plan to drop support for nscd
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jan 2024 11:09:59 +0000 (12:09 +0100)] 
NEWS: announce plan to drop support for nscd

This is in preparation for https://github.com/systemd/systemd/pull/30360 to be
merged in a future release. As described there:

  nscd is known to be racy [1] and it was already deprecated and later dropped
  in Fedora a while back [1,2]. We don't need to support obsolete stuff in
  systemd, and the cache in systemd-resolved provides a better solution anyway.

  [1] https://fedoraproject.org/wiki/Changes/DeprecateNSCD
  [2] https://fedoraproject.org/wiki/Changes/RemoveNSCD

Note that our "support" is only the signal to flush the cache that we send at
various points. Nscd itself may still exist, dropping it is a decision to be
made in glibc.

3 months agocore: reuse credential dir across start and start-post if populated, 31202/head
Mike Yuan [Sun, 4 Feb 2024 15:22:46 +0000 (23:22 +0800)] 
core: reuse credential dir across start and start-post if populated,
fresh otherwise

Currently, exec_setup_credential() always rewrite all credentials
upon exec_invoke(), i.e. invocation of each ExecCommand, and within
a single tmpfs instance. This is problematic though:

* When writing each tmp cred file, we essentially double the size
  of the credential. Therefore, if one cred is bigger than half
  of CREDENTIALS_TOTAL_SIZE_MAX, confusing ENOSPC occurs (see also
  https://github.com/systemd/systemd/pull/24734#issuecomment-1925440546)

* Credential is a unit-wide thing and thus should not change
  during the whole lifetime of main process. However, if e.g.
  a on-disk credential or SetCredential= in unit file
  changes between ExecStart= and ExecStartPost=,
  the credentials are overwritten when the latter gets to run,
  and the already-running main process is suddenly seeing
  completely different creds.

So, let's try to reuse final cred dir if the main process has started
and the tmpfs has been populated, so that the creds used is stable
across all ExecStart= and ExecStartPost=-s. We still want to retain
the ability of updating creds through ExecStartPre= though, therefore
we forcibly use a fresh cred dir for those. 'Fresh' means to actually
unmount the old tmpfs first, so the first problem goes away, too.

3 months agocore: introduce exec_params_need_credentials
Mike Yuan [Tue, 6 Feb 2024 13:53:35 +0000 (21:53 +0800)] 
core: introduce exec_params_need_credentials

Also rename EXEC_WRITE_CREDENTIALS to EXEC_SETUP_CREDENTIALS.

3 months agoTEST-54-CREDS: add test for ExecStartPost= (#31194)
Mike Yuan [Tue, 6 Feb 2024 09:10:49 +0000 (17:10 +0800)] 
TEST-54-CREDS: add test for ExecStartPost= (#31194)

3 months agocore/exec-credential: use FOREACH_ARRAY at one more place
Mike Yuan [Tue, 6 Feb 2024 14:20:49 +0000 (22:20 +0800)] 
core/exec-credential: use FOREACH_ARRAY at one more place

3 months agocore/exec-credential: add missing assertions
Mike Yuan [Tue, 6 Feb 2024 14:17:34 +0000 (22:17 +0800)] 
core/exec-credential: add missing assertions

3 months agowait-online: by default not all interface need to be online
Yu Watanabe [Fri, 2 Feb 2024 17:44:08 +0000 (02:44 +0900)] 
wait-online: by default not all interface need to be online

Fixes an issue caused by ab3aed4a0349bbaa26f53340770c1b59b463e05d (v253).

By default, all managed interface need to be configured, and at least
one interface need to be online. Hence, offline interface should be ignored.

Fixes #29506.

3 months agocryptenroll: Fix reading keyfile from socket
Felix Riemann [Fri, 2 Feb 2024 17:08:52 +0000 (18:08 +0100)] 
cryptenroll: Fix reading keyfile from socket

systemd-cryptenroll uses the READ_FULL_FILE_CONNECT_SOCKET flag when
reading the keyfile to also allow reading it from a socket. But it also
sets the offset to 0, causing an unnecessary seek to the beginning of
the newly opened keyfile and disables socket support again, as these do
not support seeking.

Disable seeking entirely to remove the unneeded seek and restore support
for reading the keyfile from a socket again as with systemd-cryptsetup.

3 months agoMerge pull request #31210 from poettering/chdir-hardening
Luca Boccassi [Tue, 6 Feb 2024 12:41:43 +0000 (12:41 +0000)] 
Merge pull request #31210 from poettering/chdir-hardening

WorkingDirectory= hardening

3 months agoMerge pull request #31205 from YHNdnzj/path-is-mount-point
Luca Boccassi [Tue, 6 Feb 2024 12:37:20 +0000 (12:37 +0000)] 
Merge pull request #31205 from YHNdnzj/path-is-mount-point

mountpoint-util: expose root and flags as path_is_mount_point_full

3 months agounits: drop userdbd from homed's Also=
Zbigniew Jędrzejewski-Szmek [Mon, 5 Feb 2024 19:01:25 +0000 (20:01 +0100)] 
units: drop userdbd from homed's Also=

Also= lists units which should be enabled/disabled together with the first unit.
But userdbd is independent of homed, we shouldn't e.g. disable it even if homed
is disabled.

3 months agoprocess-util: minor follow-up for pidfd_spawn
Mike Yuan [Tue, 6 Feb 2024 07:33:07 +0000 (15:33 +0800)] 
process-util: minor follow-up for pidfd_spawn

3 months agonspawn: and also add comment, making clear chdir() should come late 31210/head
Lennart Poettering [Mon, 5 Feb 2024 16:11:12 +0000 (17:11 +0100)] 
nspawn: and also add comment, making clear chdir() should come late

3 months agonspawn: also refuse paths below API VFS in nspawn's --chdir= field
Lennart Poettering [Mon, 5 Feb 2024 16:10:40 +0000 (17:10 +0100)] 
nspawn: also refuse paths below API VFS in nspawn's --chdir= field

3 months agoload-fragment: set PATH_CHECK_NON_API_VFS flag at various other places
Lennart Poettering [Mon, 5 Feb 2024 15:38:11 +0000 (16:38 +0100)] 
load-fragment: set PATH_CHECK_NON_API_VFS flag at various other places

I tried to be conservative here, and hence in doubt I left the flag off,
but in some cases I really can't see any reason why it would make sense
to specifiy paths into API VFS, hence add it there, to lock things down
a bit.

3 months agoparse-helpers: adjust log level when we say we ignore to LOG_WARNING
Lennart Poettering [Mon, 5 Feb 2024 15:32:57 +0000 (16:32 +0100)] 
parse-helpers: adjust log level when we say we ignore to LOG_WARNING

3 months agodbus: make dbus property parsing of WorkingDirectory= equally strict as loading it...
Lennart Poettering [Mon, 5 Feb 2024 15:16:59 +0000 (16:16 +0100)] 
dbus: make dbus property parsing of WorkingDirectory= equally strict as loading it from the unit files

3 months agoexec-invoke: extend comment on placement of apply_working_directory() call
Lennart Poettering [Mon, 5 Feb 2024 14:42:46 +0000 (15:42 +0100)] 
exec-invoke: extend comment on placement of apply_working_directory() call

Inspired by CVE-2024-21626, let's add a longer comment explaining why
the code really shouldn#t be moved any earlier.

Just in the hope that anyone who feels tempted to move this around maybe
actually reads the comment and reconsiders.

3 months agoparse-helpers: add new PATH_CHECK_NON_API_VFS flag
Lennart Poettering [Mon, 5 Feb 2024 14:38:55 +0000 (15:38 +0100)] 
parse-helpers: add new PATH_CHECK_NON_API_VFS flag

In various contexts it's a bit icky to allow paths below /proc/, /sys/,
/dev/ i.e. file hierarchies where API VFS are placed. Let's add a new
flag for path_simplify_and_warn() to check for this and refuse a path if
in these paths.

Enable this when parsing WorkingDirectory=.

This is inspired by CVE-2024-21626, which uses trickery around the cwd
and /proc/self/fd/.

AFAICS we are not actually vulnerable to the same issue as explained in
the CVE since we execute the WorkingDirectory= setting very late, i.e.
long after we set up the new mount namespace. But let's filter out icky
stuff better earlier than later, as extra safety precaution.

3 months agomountpoint-util: add small helper that checks if a path is below the API VFS hierarchies
Lennart Poettering [Mon, 5 Feb 2024 14:38:20 +0000 (15:38 +0100)] 
mountpoint-util: add small helper that checks if a path is below the API VFS hierarchies

3 months agoexec-invoke: rework apply_working_directory() around chase()
Lennart Poettering [Mon, 5 Feb 2024 14:36:29 +0000 (15:36 +0100)] 
exec-invoke: rework apply_working_directory() around chase()

let's be more careful and get rid of one more prefix_roota() use, in
favour of the safe chase().

3 months agoparse-helpers: indent according to coding style
Lennart Poettering [Mon, 5 Feb 2024 14:15:57 +0000 (15:15 +0100)] 
parse-helpers: indent according to coding style

3 months agoMerge pull request #31209 from bluca/pidfd_spawn
Mike Yuan [Tue, 6 Feb 2024 07:14:17 +0000 (15:14 +0800)] 
Merge pull request #31209 from bluca/pidfd_spawn

core: add support for pidfd_spawn

3 months agomountpoint-util: introduce path_is_mount_point_full 31205/head
Mike Yuan [Sun, 4 Feb 2024 20:17:32 +0000 (04:17 +0800)] 
mountpoint-util: introduce path_is_mount_point_full

3 months agologin/user-runtime-dir: properly check for mount point
Mike Yuan [Sun, 4 Feb 2024 20:53:14 +0000 (04:53 +0800)] 
login/user-runtime-dir: properly check for mount point

3 months agoTODO: drop clone3 item 31209/head
Luca Boccassi [Mon, 5 Feb 2024 16:26:44 +0000 (16:26 +0000)] 
TODO: drop clone3 item

3 months agocore: add support for pidfd_spawn
Luca Boccassi [Fri, 12 Jan 2024 21:32:20 +0000 (21:32 +0000)] 
core: add support for pidfd_spawn

Added in glibc 2.39, allows cloning into a cgroup and to get
a pid fd back instead of a pid. Removes race conditions for
both changing cgroups and getting a reliable reference for the
child process.

Fixes https://github.com/systemd/systemd/pull/18843
Replaces https://github.com/systemd/systemd/pull/16706

3 months agoexecutor: really set POSIX_SPAWN_SETSIGDEF for posix_spawn
Luca Boccassi [Mon, 5 Feb 2024 14:22:52 +0000 (14:22 +0000)] 
executor: really set POSIX_SPAWN_SETSIGDEF for posix_spawn

posix_spawnattr_setflags() doesn't OR the input to the current set of flags,
it overwrites them, so we are currently losing POSIX_SPAWN_SETSIGDEF.

Follow-up for: 6ecdfe7d1008964eed3f67b489cef8c65a218bf1

3 months agoREADME: bump the gcc baseline to 8.4
Frantisek Sumsal [Mon, 5 Feb 2024 10:02:49 +0000 (11:02 +0100)] 
README: bump the gcc baseline to 8.4

We already use __VA_OPT__ in multiple places, which was introduced in
gcc 8 [0], so let's bump the baseline to reflect that. I chose gcc 8.4,
as that was the lowest 8.x version I could easily get my hands on when I
verified this (on Ubuntu Focal with the gcc-8 package).

Closes: #31191
[0] https://gcc.gnu.org/gcc-8/changes.html

3 months agoMerge pull request #31197 from YHNdnzj/protect-system-cred
Mike Yuan [Mon, 5 Feb 2024 08:06:42 +0000 (16:06 +0800)] 
Merge pull request #31197 from YHNdnzj/protect-system-cred

core/service: set up credentials for all start-post commands too

3 months agocore/service: allow ExecStartPost= cmds to access creds 31197/head
Mike Yuan [Sun, 4 Feb 2024 11:38:20 +0000 (19:38 +0800)] 
core/service: allow ExecStartPost= cmds to access creds

Fixes #31194

3 months agocore/service: don't setup credentials for ExecCondition= and ExecReload=
Mike Yuan [Sun, 4 Feb 2024 11:36:06 +0000 (19:36 +0800)] 
core/service: don't setup credentials for ExecCondition= and ExecReload=

This seems to be a mistake in #27279. I believe credentials should
not be made available to condition or reload tasks. In most cases
they're irrelevant from the actual job of the service. Also, currently
the first ExecCondition= or ExecReload= cannot access creds anyway,
making the incompatibility introduced negligible.

If people actually come up with valid use cases, we can always
revisit this.

3 months agocore/service: don't give ExecStopPost= commands tty access
Mike Yuan [Sun, 4 Feb 2024 11:34:16 +0000 (19:34 +0800)] 
core/service: don't give ExecStopPost= commands tty access

All tasks spawned later than ExecStart= (e.g. ExecReload=, ExecStop=, ...)
don't get tty access. ExecStopPost= is the odd one out. Fix that.

3 months agocore/service: introduce service_exec_flags
Mike Yuan [Sat, 3 Feb 2024 16:25:03 +0000 (00:25 +0800)] 
core/service: introduce service_exec_flags

As suggested in
https://github.com/systemd/systemd/pull/31197#pullrequestreview-1861297477

Note that this slightly changes the behavior for
ExecReload=, ExecCondition= and ExecStartPost=. Will
be explained/corrected in later commits.

3 months agocore/unit: use ASSERT_PTR and strdup_or_null more
Mike Yuan [Sun, 4 Feb 2024 10:48:31 +0000 (18:48 +0800)] 
core/unit: use ASSERT_PTR and strdup_or_null more

3 months agocore/exec-invoke: don't duplicate needs_sandboxing condition
Mike Yuan [Sat, 3 Feb 2024 15:54:00 +0000 (23:54 +0800)] 
core/exec-invoke: don't duplicate needs_sandboxing condition

3 months agocore/exec-credential: make param const where appropriate
Mike Yuan [Sat, 3 Feb 2024 15:50:07 +0000 (23:50 +0800)] 
core/exec-credential: make param const where appropriate

3 months agobulgarian: use "RateLimitIntervalSec" rather than "RateLimitInterval"
James Muir [Sat, 3 Feb 2024 16:03:19 +0000 (11:03 -0500)] 
bulgarian: use "RateLimitIntervalSec" rather than "RateLimitInterval"

Update Bulgarian translation.  "RateLimitIntervalSec" is the current option
name.  "RateLimitInterval" is the legacy option name.

3 months agotest_ukify: use raw string for the regex
Frantisek Sumsal [Sat, 3 Feb 2024 14:46:26 +0000 (15:46 +0100)] 
test_ukify: use raw string for the regex

To get rid of the "invalid escape sequence" warning:

=============================== warnings summary ===============================
../src/ukify/test/test_ukify.py:876
  ../src/ukify/test/test_ukify.py:876: SyntaxWarning: invalid escape sequence '\s'
    assert re.search('Issuer: CN\s?=\s?SecureBoot signing key on host', out)

3 months agopo: Translated using Weblate (Swedish)
Anders Jonsson [Sat, 3 Feb 2024 10:36:41 +0000 (11:36 +0100)] 
po: Translated using Weblate (Swedish)

Currently translated at 100.0% (227 of 227 strings)

Co-authored-by: Anders Jonsson <anders.jonsson@norsjovallen.se>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/sv/
Translation: systemd/main

3 months agonspawn: permit --ephemeral with --link-journal=try-* (treat as =no)
Ivan Shapovalov [Sat, 20 Jan 2024 11:52:28 +0000 (12:52 +0100)] 
nspawn: permit --ephemeral with --link-journal=try-* (treat as =no)

Common sense says that to "try" something means "to not fail if
something turns out not to be possible", thus do not make this
combination a hard error.

The actual implementation ignores any --link-journal= setting when
--ephemeral is in effect, so the semantics are upheld.

3 months agocryptenroll: allow to use a public key on a token
Vladimir Stoiakin [Mon, 2 Oct 2023 13:37:26 +0000 (16:37 +0300)] 
cryptenroll: allow to use a public key on a token

This patch allows systemd-cryptenroll to enroll directly with a public key if a certificate is missing on a token.

Fixes: #30675
3 months agoman/systemd-bsod: fix command path
Antonio Alvarez Feijoo [Fri, 2 Feb 2024 15:54:40 +0000 (16:54 +0100)] 
man/systemd-bsod: fix command path

3 months agotest: wait until the test binary starts the test aux scope
Frantisek Sumsal [Thu, 1 Feb 2024 09:22:49 +0000 (10:22 +0100)] 
test: wait until the test binary starts the test aux scope

Otherwise we might continue too early on slower machines:

[   53.777485] testsuite-07.sh[675]: + systemd-run --unit test-aux-scope.service -p Slice=aux.slice -p Type=exec -p TasksMax=99 -p CPUWeight=199 -p IPAccounting=yes /usr/lib/systemd/tests/unit-tests/manual/test-aux-scope
[   55.399526] testsuite-07.sh[679]: Running as unit: test-aux-scope.service; invocation ID: 375dc3e2d12f4af1bedfe80a23709e37
[   55.512917] testsuite-07.sh[691]: ++ systemctl show --value --property MainPID test-aux-scope.service
[   56.947713] testsuite-07.sh[675]: + kill -s USR1 680
[   56.947713] testsuite-07.sh[675]: + sleep 1
[   58.058809] testsuite-07.sh[675]: + systemctl status test-aux-scope.service
[   58.902808] testsuite-07.sh[695]: ● test-aux-scope.service - /usr/lib/systemd/tests/unit-tests/manual/test-aux-scope
[   58.902808] testsuite-07.sh[695]:      Loaded: loaded (/run/systemd/transient/test-aux-scope.service; transient)
[   58.902808] testsuite-07.sh[695]:   Transient: yes
[   58.902808] testsuite-07.sh[695]:      Active: active (running) since Thu 2024-02-01 04:53:57 UTC; 3s ago
[   58.902808] testsuite-07.sh[695]:    Main PID: 680 (test-aux-scope)
[   58.902808] testsuite-07.sh[695]:          IP: 0B in, 0B out
[   58.902808] testsuite-07.sh[695]:       Tasks: 11 (limit: 99)
[   58.902808] testsuite-07.sh[695]:      Memory: 3.2M (peak: 3.5M)
[   58.902808] testsuite-07.sh[695]:         CPU: 235ms
[   58.902808] testsuite-07.sh[695]:      CGroup: /aux.slice/test-aux-scope.service
[   58.902808] testsuite-07.sh[695]:              ├─680 /usr/lib/systemd/tests/unit-tests/manual/test-aux-scope
[   58.902808] testsuite-07.sh[695]:              ├─681 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─682 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─683 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─684 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─685 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─686 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─687 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─688 "(worker)"
[   58.902808] testsuite-07.sh[695]:              ├─689 "(worker)"
[   58.902808] testsuite-07.sh[695]:              └─690 "(worker)"
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: test-aux-scope.service: Enqueued job test-aux-scope.service/start as 277
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: test-aux-scope.service: Will spawn child (service_enter_start): /usr/lib/systemd/tests/unit-tests/manual/test-aux-scope
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: test-aux-scope.service: Passing 0 fds to service
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: test-aux-scope.service: About to execute: /usr/lib/systemd/tests/unit-tests/manual/test-aux-scope
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: test-aux-scope.service: Forked /usr/lib/systemd/tests/unit-tests/manual/test-aux-scope as 680
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: test-aux-scope.service: Changed dead -> start
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd[1]: Starting test-aux-scope.service...
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H systemd-executor[680]: SELinux enabled state cached to: disabled
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H (ux-scope)[680]: Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
[   58.902808] testsuite-07.sh[695]: Feb 01 04:53:57 H (ux-scope)[680]: Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
[   58.979659] testsuite-07.sh[701]: ++ ps -eo pid,unit
[   59.014968] testsuite-07.sh[702]: ++ grep -c test-aux-scope.service
[   59.729453] systemd[1]: Cannot find unit for notify message of PID 691, ignoring.
[   60.321547] testsuite-07.sh[675]: + test 11 = 1
[   60.332496] testsuite-07.sh[669]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/testsuite-07.aux-scope.sh failed'

3 months agonetwork: adjust default RequiredForOnline= and RequiredFamilyForOnline= setting 31176/head
Yu Watanabe [Fri, 2 Feb 2024 06:23:43 +0000 (15:23 +0900)] 
network: adjust default RequiredForOnline= and RequiredFamilyForOnline= setting

E.g. a bonding port does not support addressing, hence the default
should be 'enslaved'.

Follow-up for 3255bda698d2a02ab2f2825a1e652ac6f0871a89.

Closes #27724.

3 months agoman: fix default behavior of RequiredFamilyForOnline=
Yu Watanabe [Fri, 2 Feb 2024 06:08:14 +0000 (15:08 +0900)] 
man: fix default behavior of RequiredFamilyForOnline=

3 months agoMerge pull request #31032 from yuwata/pam-session-close
Yu Watanabe [Fri, 2 Feb 2024 00:51:08 +0000 (09:51 +0900)] 
Merge pull request #31032 from yuwata/pam-session-close

pam: fix warning "Attempted to close sd-bus after fork, this should not happen." on session close

3 months agocoredump: log minimal metadata early
Harald Brinkmann [Tue, 28 Nov 2023 12:48:59 +0000 (13:48 +0100)] 
coredump: log minimal metadata early

3 months agoMerge pull request #31166 from mrc0mmand/vpick-tweaks
Yu Watanabe [Fri, 2 Feb 2024 00:37:13 +0000 (09:37 +0900)] 
Merge pull request #31166 from mrc0mmand/vpick-tweaks

vpick: make a working copy of the current dname

3 months agotest-network: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:29:10 +0000 (09:29 +0900)] 
test-network: fix typo

Follow-up for d4c8de21a07d015f2f2c787e0735be5e4d02fb3c.

3 months agotest: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:27:49 +0000 (09:27 +0900)] 
test: fix typo

Follow-up for fa8ff98ea4886442bebecd337da78e4dac3d0cb1.

3 months agoman/creds: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:25:51 +0000 (09:25 +0900)] 
man/creds: fix typo

Follow-up for 7704c3474d0f3176f5d84efee5f44f9d815e615f.

3 months agoman: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:24:22 +0000 (09:24 +0900)] 
man: fix typo

Follow-up for 34bbda18a5f07fa5a52e8d85d20637ce1c00c4ec.

3 months agosd-bus: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:22:40 +0000 (09:22 +0900)] 
sd-bus: fix typo

Follow-up for 25fd5343ca3a3481d2e0d3f3aebab2fcf4e42bc7.

3 months agosd-bus: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:21:15 +0000 (09:21 +0900)] 
sd-bus: fix typo

Follow-up for 71be64064c9e22c9edcb0c25d7ccc9e3c9ed1978.

3 months agocreds: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:20:02 +0000 (09:20 +0900)] 
creds: fix typo

Follow-up for 8464f7cbd652af75566017c62bec5308d1c30775.

3 months agolocal-addresses: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:18:35 +0000 (09:18 +0900)] 
local-addresses: fix typo

Follow-up for 5cb56068d0aae4c85e97a4ae16e33a7614cdc0bb.

3 months agotpm2-util: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:17:22 +0000 (09:17 +0900)] 
tpm2-util: fix typo

Follow-up for d37c312b87aeba4a470ad720eda56cdbc9ea2290.

3 months agonetwork/ndisc: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:15:59 +0000 (09:15 +0900)] 
network/ndisc: fix typo

Follow-up for d4c8de21a07d015f2f2c787e0735be5e4d02fb3c.

3 months agorepart: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:14:46 +0000 (09:14 +0900)] 
repart: fix typo

Follow-up for a575f2148f5bf619c75b3c2edadd7a94518ae74d.

3 months agocore/unit: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:13:00 +0000 (09:13 +0900)] 
core/unit: fix typo

Follow-up for 16b6af6adefa4068b10e1a04f46fc895cb9a3af7.

3 months agocgroup-util: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:11:40 +0000 (09:11 +0900)] 
cgroup-util: fix typo

Follow-up for 677e6c14b199c1fa637b7c4c8cae39c31213a79d.

3 months agouser-util: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:09:55 +0000 (09:09 +0900)] 
user-util: fix typo

Follow-up for 75673cd8aee5c6174538e71dd36c7a353c836973.

3 months agoTODO: fix typo
Yu Watanabe [Fri, 2 Feb 2024 00:07:28 +0000 (09:07 +0900)] 
TODO: fix typo

Follow-up for fd40e7da6e005644445d2f6cb3363daf1e170b8c.

3 months agocore: use PidRef in exec_spawn
Luca Boccassi [Fri, 12 Jan 2024 21:18:27 +0000 (21:18 +0000)] 
core: use PidRef in exec_spawn

3 months agocryptenroll: Support rotating PIN on an existing TPM2 enrollment 30766/head
Gabríel Arthúr Pétursson [Thu, 4 Jan 2024 15:34:28 +0000 (15:34 +0000)] 
cryptenroll: Support rotating PIN on an existing TPM2 enrollment

3 months agovpick: use prefix_roota() to avoid double slash in log messages 31166/head
Frantisek Sumsal [Thu, 1 Feb 2024 13:00:48 +0000 (14:00 +0100)] 
vpick: use prefix_roota() to avoid double slash in log messages

If the toplevel_path is empty we end up with doubled leading slash,
which looks weird:

[ 4737.028985] testsuite-74.sh[102]: Inode '//var/lib/machines/mytree.v/mytree_37.0_arm64+2-3' has wrong type, found 'dir'.
[ 4737.028985] testsuite-74.sh[102]: Failed to pick version for '/var/lib/machines/mytree.v': Is a directory
...
[ 4316.957536] testsuite-74.sh[99]: Failed to open '//var/lib/machines/mytree.v/mytree_37.0': No such file or directory
...

3 months agovpick: make a working copy of the current dname
Frantisek Sumsal [Thu, 1 Feb 2024 12:56:37 +0000 (13:56 +0100)] 
vpick: make a working copy of the current dname

Since we might edit the string later on by inserting NULs, which then
leads up to using an invalid dname when opening the potential chosen
directory:

[ 4316.957536] testsuite-74.sh[99]: make_choice: entry: mytree_37.0_arm64+2-3
[ 4316.957536] testsuite-74.sh[99]: make_choice: best_version: 37.0
[ 4316.957536] testsuite-74.sh[99]: make_choice: best_filename: mytree_37.0
[ 4316.957536] testsuite-74.sh[99]: Failed to open '//var/lib/machines/mytree.v/mytree_37.0': No such file or directory

Uncovered by vpick tests from TEST-74-AUX-UTILS when run on aarch64.

3 months agocryptenroll: Add support for unlocking through TPM2 enrollments
Gabríel Arthúr Pétursson [Wed, 3 Jan 2024 16:10:45 +0000 (16:10 +0000)] 
cryptenroll: Add support for unlocking through TPM2 enrollments