Luca Boccassi [Mon, 17 Jul 2023 18:06:22 +0000 (19:06 +0100)]
test: exit early from TEST-70-TPM2 on ppc64el
There is an underlying issue that appears only on ppc64 and fails 95%
of Ubuntu runs, so exit early until it is solved.
Closes https://github.com/systemd/systemd/issues/27716
Frantisek Sumsal [Mon, 17 Jul 2023 15:54:59 +0000 (17:54 +0200)]
ci: drop super-linter's shellcheck
It's been a while since we introduced Differential ShellCheck and it
proved to be quite useful (and in some ways even better than the shellcheck
run by super-linter). So, to have only one linter scream at us for not
knowing how to write bash properly, let's drop the super-linter's one in
favor of Differential ShellCheck.
Follow-up for https://github.com/systemd/systemd/pull/24328#pullrequestreview-
1074127504
Zbigniew Jędrzejewski-Szmek [Mon, 17 Jul 2023 16:07:07 +0000 (18:07 +0200)]
Merge pull request #28384 from ldv-alt/ERRNO_IS
treewide: fix use of ERRNO_IS_*(r)
Daan De Meyer [Mon, 17 Jul 2023 08:11:54 +0000 (10:11 +0200)]
units: Add --graceful flag to pcrphase units
Some of the new units using systemd-pcrphase are missing the --graceful
flag which causes them to error if the tpm libraries are not installed.
Add --graceful just like in the other pcrphase units to make systemd-pcrphase
exit gracefully if the tpm libraries are missing.
Luca Boccassi [Mon, 17 Jul 2023 12:07:03 +0000 (13:07 +0100)]
Merge pull request #28425 from weblate/weblate-systemd-master
Translations update from Fedora Weblate
Luna Jernberg [Mon, 17 Jul 2023 11:20:59 +0000 (13:20 +0200)]
po: Translated using Weblate (Swedish)
Currently translated at 100.0% (227 of 227 strings)
Co-authored-by: Luna Jernberg <bittin@reimu.nl>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/sv/
Translation: systemd/main
김인수 [Mon, 17 Jul 2023 11:20:59 +0000 (13:20 +0200)]
po: Translated using Weblate (Korean)
Currently translated at 100.0% (227 of 227 strings)
Co-authored-by: 김인수 <simmon@nplob.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/ko/
Translation: systemd/main
Pavel Borecki [Mon, 17 Jul 2023 11:20:59 +0000 (13:20 +0200)]
po: Translated using Weblate (Czech)
Currently translated at 93.3% (212 of 227 strings)
Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/cs/
Translation: systemd/main
Dmitry V. Levin [Fri, 7 Jul 2023 08:00:00 +0000 (08:00 +0000)]
test: fix use of ERRNO_IS_PRIVILEGE()
Given that ERRNO_IS_PRIVILEGE() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.
In this case the arguments passed to ERRNO_IS_PRIVILEGE() are the values
returned by read_one_line_file() which can legitimately return positive
values without errno semantics, so fix this by moving ERRNO_IS_PRIVILEGE()
invocations to the branches where the return values are known to be negative.
Dan Streetman [Sun, 16 Jul 2023 01:33:50 +0000 (21:33 -0400)]
test: avoid TEST-70 passphrase and password file mode complaints
Minor change, to adjust mode of /tmp/passphrase and /tmp/password test files to
avoid repeated warning logs that each file "...has 0644 mode that is too
permissive, please adjust the ownership and access mode."
Dmitry V. Levin [Fri, 7 Jul 2023 08:00:00 +0000 (08:00 +0000)]
resolved: fix use of ERRNO_IS_DISCONNECT()
Given that ERRNO_IS_DISCONNECT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.
In this case the argument passed to ERRNO_IS_DISCONNECT() is the value
returned by manager_recv() which can legitimately return 1 without errno
semantics, so fix this by moving ERRNO_IS_DISCONNECT() invocation to the
branch where the return value is known to be negative.
Dmitry V. Levin [Fri, 7 Jul 2023 08:00:00 +0000 (08:00 +0000)]
sd-bus: fix use of ERRNO_IS_DISCONNECT()
Given that ERRNO_IS_DISCONNECT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.
In this case the argument passed to ERRNO_IS_DISCONNECT() is the value
returned by bus_socket_process_watch_bind(), bus_socket_process_opening(),
and bus_socket_process_authenticating() which can legitimately return
positive values without errno semantics, so fix this by moving the
ERRNO_IS_DISCONNECT() invocation to the branch where the return value
is known to be negative.
Dmitry V. Levin [Fri, 7 Jul 2023 08:00:00 +0000 (08:00 +0000)]
socket: fix use of ERRNO_IS_DISCONNECT()
Given that ERRNO_IS_DISCONNECT() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.
In this case the argument passed to ERRNO_IS_DISCONNECT() is the value
returned by socket_acquire_peer() which can legitimately return 1
without errno semantics, so fix this by moving ERRNO_IS_DISCONNECT()
invocation to the branch where the return value is known to be negative.
Dmitry V. Levin [Fri, 7 Jul 2023 08:00:00 +0000 (08:00 +0000)]
kbd-util: fix use of ERRNO_IS_RESOURCE()
Given that ERRNO_IS_RESOURCE() also matches positive values,
make sure this macro is not called with arguments that do not have
errno semantics.
In this case the argument passed to ERRNO_IS_RESOURCE() is the value
returned by recurse_dir_at() which can legitimately return positive
values without errno semantics, so fix this by moving the ERRNO_IS_RESOURCE()
invocation to the branch where the return value is known to be negative.
Dan Streetman [Sat, 15 Jul 2023 12:30:40 +0000 (08:30 -0400)]
tpm2: add tpm2_get_pin_auth()
Add function to calculate the hash digest for a provided pin, and also verify
that the final byte in the digest is not 0. This is required because the TPM
will always remove all trailing 0's from an auth value before using it.
Fixes: #27716
Daan De Meyer [Sat, 15 Jul 2023 19:07:56 +0000 (21:07 +0200)]
Merge pull request #28416 from bluca/gpt_mips
Two more fixes for MIPS and sd-gpt
Luca Boccassi [Sat, 15 Jul 2023 13:28:23 +0000 (14:28 +0100)]
sd-gpt: __mips__ is also defined when building __mips64
Follow-up for
d75ec33ed2a1781a82f9e0d62a79244ecd1e1edc
Luca Boccassi [Sat, 15 Jul 2023 13:27:33 +0000 (14:27 +0100)]
gpt: it's __mips64, not __mips64__
But it's __mips__ not __mips, obviously
Follow-up for
d75ec33ed2a1781a82f9e0d62a79244ecd1e1edc
Piotr Drąg [Sat, 15 Jul 2023 10:56:07 +0000 (12:56 +0200)]
po: Translated using Weblate (Polish)
Currently translated at 100.0% (227 of 227 strings)
Co-authored-by: Piotr Drąg <piotrdrag@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/pl/
Translation: systemd/main
Haochen Tong [Sat, 15 Jul 2023 08:41:50 +0000 (16:41 +0800)]
NEWS: fix typo
Temuri Doghonadze [Sat, 15 Jul 2023 00:15:25 +0000 (02:15 +0200)]
po: Translated using Weblate (Georgian)
Currently translated at 100.0% (227 of 227 strings)
po: Translated using Weblate (Georgian)
Currently translated at 97.3% (221 of 227 strings)
po: Translated using Weblate (Georgian)
Currently translated at 94.2% (214 of 227 strings)
po: Translated using Weblate (Georgian)
Currently translated at 90.3% (205 of 227 strings)
po: Translated using Weblate (Georgian)
Currently translated at 88.9% (202 of 227 strings)
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/ka/
Translation: systemd/main
Luca Boccassi [Sat, 15 Jul 2023 00:18:12 +0000 (01:18 +0100)]
Update NEWS for v254-rc2
Liberté, égalité, releasé 🇫🇷
Luca Boccassi [Sat, 15 Jul 2023 00:15:41 +0000 (01:15 +0100)]
Merge pull request #28405 from bluca/rc2
RC2 busywork
Luca Boccassi [Fri, 14 Jul 2023 22:45:00 +0000 (23:45 +0100)]
Update NEWS with latest changes
Luca Boccassi [Fri, 14 Jul 2023 22:45:47 +0000 (23:45 +0100)]
NEWS: update contributors list
Luca Boccassi [Fri, 14 Jul 2023 22:40:49 +0000 (23:40 +0100)]
Update hwdb
Temuri Doghonadze [Fri, 14 Jul 2023 22:01:09 +0000 (00:01 +0200)]
po: Translated using Weblate (Georgian)
Currently translated at 94.2% (214 of 227 strings)
po: Translated using Weblate (Georgian)
Currently translated at 90.3% (205 of 227 strings)
po: Translated using Weblate (Georgian)
Currently translated at 88.9% (202 of 227 strings)
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/ka/
Translation: systemd/main
Luca Boccassi [Fri, 14 Jul 2023 22:06:18 +0000 (23:06 +0100)]
Merge pull request #27867 from keszybz/vconsole-reload-again
Restore ordering between vconsole-setup and firstboot services
Luca Boccassi [Fri, 14 Jul 2023 22:02:41 +0000 (23:02 +0100)]
Merge pull request #28401 from keszybz/set-console-size
Set console size when we reset it
Luca Boccassi [Fri, 14 Jul 2023 22:01:26 +0000 (23:01 +0100)]
Merge pull request #28097 from goenkam/maanya/dissect-tool-support-for-confext
systemd-confext: image-based systemd-wide config update including dm-verity support
Luca Boccassi [Fri, 14 Jul 2023 21:57:31 +0000 (22:57 +0100)]
Merge pull request #28387 from yuwata/network-route-table-name
network: cleanups for route table name
Yu Watanabe [Fri, 14 Jul 2023 20:16:12 +0000 (05:16 +0900)]
po: update Japanese translation
Dan Streetman [Fri, 14 Jul 2023 17:15:48 +0000 (13:15 -0400)]
tpm2: handle older tpm enrollments without a saved pcr bank
Older code did not save the pcr bank (i.e. pcr hash algorithm), and instead let
tpm2_unseal() find the best pcr bank to use. In commit
2cd9d57548b0dadd52523df486d33aa4cf7c3b84 we changed tpm2_unseal() to no longer
handle an unset pcr bank. This adds back in the handling of an unset pcr_bank
so older sealed data should continue to work.
Dan Streetman [Fri, 14 Jul 2023 15:21:43 +0000 (11:21 -0400)]
test: reduce the number of loops in tpm2 test_tpms_pcr_selection_mask_and_hash()
This test loops through masks, but is a relatively long test due to the
increment size between loops; this slightly increases the increment size (from
3->5) which greatly speeds up the test.
Frantisek Sumsal [Fri, 14 Jul 2023 15:39:05 +0000 (17:39 +0200)]
tree-wide: a bunch of Coccinelle-suggested tweaks
rc2 edition
Luca Boccassi [Fri, 14 Jul 2023 21:48:23 +0000 (22:48 +0100)]
Merge pull request #28370 from ldv-alt/cname
resolved: fix canonical names returned by hosts lookups
Luca Boccassi [Fri, 14 Jul 2023 21:47:37 +0000 (22:47 +0100)]
Merge pull request #28301 from berrange/cvm-lockdown
Avoid using SMBIOS for kernel cmdline injection in sd-stub in confidential VMs
Yu Watanabe [Fri, 14 Jul 2023 20:10:47 +0000 (05:10 +0900)]
compare: fix typo
Yu Watanabe [Fri, 14 Jul 2023 07:08:03 +0000 (16:08 +0900)]
network: refuse to override predefined route table name
Yu Watanabe [Fri, 14 Jul 2023 07:02:17 +0000 (16:02 +0900)]
network: do not append table number in TableString field in json output
The json output already contains table number, hence, it is not
necessary to include number in the string.
Maanya Goenka [Thu, 13 Jul 2023 22:10:01 +0000 (22:10 +0000)]
confext: test image wide systemd support for confext
Maanya Goenka [Thu, 13 Jul 2023 22:07:49 +0000 (22:07 +0000)]
confext: add dissect tool support for confext images
Allow image wide systemd tool support for confext images by adding dissect
tool support for these images
Maanya Goenka [Fri, 14 Jul 2023 16:36:50 +0000 (16:36 +0000)]
sysext: change the table lookup string to be more verbose
Piotr Drąg [Sun, 9 Jul 2023 14:24:19 +0000 (16:24 +0200)]
catalog: update Polish translation
Luca Boccassi [Fri, 14 Jul 2023 14:57:13 +0000 (15:57 +0100)]
Merge pull request #28355 from yuwata/unit-skip-battery-check-by-kernel-command-line
unit: skip battery check when systemd.skip-battery-check specified on boot
Yu Watanabe [Tue, 11 Jul 2023 15:32:24 +0000 (00:32 +0900)]
battery-check: allow to skip by passing systemd.battery-check=0
Daan De Meyer [Fri, 14 Jul 2023 14:21:50 +0000 (16:21 +0200)]
Merge pull request #28397 from DaanDeMeyer/python-stuff
mkosi: Stop using python3.9 on CentOS 8
Daniel P. Berrangé [Fri, 7 Jul 2023 15:30:20 +0000 (16:30 +0100)]
efi: don't pull kernel cmdline from SMBIOS in a confidential VM
In a confidential VM, the SMBIOS data is not trusted, as it is under the
control of the host OS/admin and not covered by attestation of the machine.
Fixes: https://github.com/systemd/systemd/issues/27604
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Daniel P. Berrangé [Fri, 7 Jul 2023 15:28:19 +0000 (16:28 +0100)]
efi: add helper API for detecting confidential virtualization
This helper is a simplified version of detect_confidential_virtualization()
that merely returns a boolean status flag reflecting whether we are believed
to be running inside a confidential VM.
This flag can be used for turning off features that are inappropriate to
use from a CVM, but must not be used for releasing sensitive data. The
latter must only be done in response to an attestation for the environment.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Dmitry V. Levin [Tue, 11 Jul 2023 08:00:00 +0000 (08:00 +0000)]
resolved: fix the canonical name returned by hosts lookup by name
In etc_hosts_lookup_by_name(), return the canonical name of the resolved
address instead of the name used to obtain that address.
Resolves: #20158
Luca Boccassi [Fri, 14 Jul 2023 13:13:53 +0000 (14:13 +0100)]
Merge pull request #26365 from dtardon/multiple-polkit-calls
Allow D-Bus methods to auth. for more than one polkit action
Dmitry V. Levin [Mon, 10 Jul 2023 08:00:00 +0000 (08:00 +0000)]
resolved: fix the canonical name returned by hosts lookup by address
In etc_hosts_lookup_by_address(), make sure the canonical name of the given
address is returned first in the list of names that address resolves to.
Resolves: #25088
Dmitry V. Levin [Sun, 9 Jul 2023 08:00:00 +0000 (08:00 +0000)]
resolved: keep track of first names listed for each address in /etc/hosts
These names will be used later in responses as canonical names.
Daniel P. Berrangé [Thu, 13 Jul 2023 13:02:33 +0000 (14:02 +0100)]
fundamental: share constants for confidential virt detection
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Daan De Meyer [Fri, 14 Jul 2023 12:52:58 +0000 (14:52 +0200)]
mkosi: Move settings to right sections
Daan De Meyer [Fri, 14 Jul 2023 12:31:40 +0000 (14:31 +0200)]
mkosi: Stop using python3.9 on CentOS 8
Let's get rid of all the complexity and just not build ukify on
CentOS Stream 8.
Daan De Meyer [Fri, 14 Jul 2023 12:51:42 +0000 (14:51 +0200)]
mkosi: Drop kernel command line arguments that are set by mkosi
mkosi sets these by default now so let's drop them from our
configuration.
Daan De Meyer [Fri, 14 Jul 2023 12:43:19 +0000 (14:43 +0200)]
mkosi: Update to latest
mkosi now supports CentOS SIGs natively so we drop our own definition
of that and use the mkosi builtin one. We also enable hyperscale for
both CentOS 8 and CentOS 9 for consistency and add epel-next as well
which is a requirement for Hyperscale.
Daan De Meyer [Fri, 14 Jul 2023 12:16:44 +0000 (14:16 +0200)]
elf2efi: Make compatible with python 3.6 again
CentOS 8 ships python 3.6 so let's try and stay compatible with that
since the only feature we're using that requires python 3.9 is the
streamlined type annotations which are trivial to convert back to
the older stuff to stay compatible with python 3.6.
Yuri Chornoivan [Fri, 14 Jul 2023 11:47:02 +0000 (13:47 +0200)]
po: Translated using Weblate (Ukrainian)
Currently translated at 100.0% (227 of 227 strings)
po: Translated using Weblate (Ukrainian)
Currently translated at 93.8% (213 of 227 strings)
Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/uk/
Translation: systemd/main
Weblate [Fri, 14 Jul 2023 09:35:42 +0000 (11:35 +0200)]
po: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/
Translation: systemd/main
Frantisek Sumsal [Fri, 14 Jul 2023 10:38:41 +0000 (12:38 +0200)]
packit: temporarily use older Rawhide spec
Until [0] is deployed to production.
[0] https://github.com/packit/specfile/commit/
2bdcec3db5cbee5e1f61fd578edd6a3393afd787
Daan De Meyer [Fri, 14 Jul 2023 08:51:18 +0000 (10:51 +0200)]
kernel-install: Avoid reopening file descriptor via /proc
kernel-install used to work without /proc mounted before the rewrite
in C. Let's restore that property by making sure we don't reopen
file descriptors via /proc. In this case, parse_env_file_fdv() calls
fdopen_independent() to get a FILE * for the given file descriptor
(which itself calls fd_reopen()). Let's avoid the call to
fdopen_independent() by using chase_and_fopenat_unlocked() which
gives us a FILE * immediately without having to reopen any file
descriptors.
Luca Boccassi [Fri, 14 Jul 2023 09:35:58 +0000 (10:35 +0100)]
Merge pull request #28380 from bluca/homed_translate
homed: make all pam_prompt strings translatable
Luca Boccassi [Thu, 13 Jul 2023 11:39:48 +0000 (12:39 +0100)]
po: add homed file and regenerate pot
Daan De Meyer [Fri, 14 Jul 2023 08:07:48 +0000 (10:07 +0200)]
Merge pull request #28376 from yuwata/json_append
Use json_append() and json_variant_append_array()
Yu Watanabe [Wed, 12 Jul 2023 01:50:53 +0000 (10:50 +0900)]
network: check lifetime of address and route before configure
Otherwise, we may configure a route that depends on the existence
of an address or another route, and may fail when lifetime of one
of them are already zero.
Hopefully fixes #28358.
Yu Watanabe [Fri, 14 Jul 2023 07:53:41 +0000 (16:53 +0900)]
sd-journal: fix 'the the'
Daan De Meyer [Thu, 13 Jul 2023 13:38:03 +0000 (15:38 +0200)]
mkosi: Set systemd.early_core_pattern=/core
This makes sure we get pid1 coredumps during early boot.
Daan De Meyer [Fri, 14 Jul 2023 07:12:54 +0000 (09:12 +0200)]
terminal-util: Document boolean parameter in one more place
Daan De Meyer [Thu, 13 Jul 2023 12:50:23 +0000 (14:50 +0200)]
tree-wide: Set /dev/console size when we reset it
If a size is configured for /dev/console via the kernel cmdline,
let's make sure we take that into account when resetting /dev/console.
Yu Watanabe [Thu, 13 Jul 2023 10:03:23 +0000 (19:03 +0900)]
proc-cmdline: re-implement proc_cmdline_filter_pid1_args() without using getopt_long()
If getopt_long() is called for a list of arguments and it is freed, then
calling getopt_long() for another list will trigger use-after-free.
The function proc_cmdline_filter_pid1_args() may be called before or during
parsing program arguments (typically named as parse_argv()), hence we cannot
use getopt_long() in proc_cmdline_filter_pid1_args().
Fixes #28366.
Yu Watanabe [Fri, 14 Jul 2023 04:09:22 +0000 (13:09 +0900)]
test: add more test cases for proc_cmdline_filter_pid1_args()
Yu Watanabe [Fri, 14 Jul 2023 04:30:30 +0000 (13:30 +0900)]
Merge pull request #27526 from mrc0mmand/journal-fss
journal: clean up the FSS related code a bit & add a couple of tests
Fuminobu TAKEYAMA [Mon, 10 Jul 2023 15:30:27 +0000 (00:30 +0900)]
core: fix race condition during startup of a service with ExitType=cgroup
This commit allows service_sigchld_event() is executed before
service_dispatch_exec_io(), which might happen when a main process exits
very quickly.
Also do not check PID for service goodness because the main process have
already been exited in this case.
Fix: #27919
Yu Watanabe [Fri, 14 Jul 2023 02:21:14 +0000 (11:21 +0900)]
Merge pull request #28385 from YHNdnzj/fstab-initrd-bind-mount
fstab-generator: resolve bind mount source when in initrd
Mike Yuan [Thu, 13 Jul 2023 14:44:19 +0000 (22:44 +0800)]
fstab-generator: resolve bind mount source when in initrd
We currently prepend /sysroot to mount points for entries
in /sysroot/etc/fstab. But when it comes to bind mounts,
the source needs to canonicalized too.
Fixes #6827
Replaces #7894
Mike Yuan [Thu, 13 Jul 2023 15:13:10 +0000 (23:13 +0800)]
fstab-util: add fstab_is_bind
Daan De Meyer [Mon, 10 Jul 2023 11:50:30 +0000 (13:50 +0200)]
ukify: Derive public key from private key if not specified
David Tardon [Tue, 27 Jun 2023 13:31:51 +0000 (15:31 +0200)]
bus-polkit: avoid extra variable
David Tardon [Thu, 29 Jun 2023 14:35:21 +0000 (16:35 +0200)]
bus-polkit: allow to auth. a bus call for multiple actions
In #20155, verify_shutdown_creds() needs to authenticate for both
org.freedesktop.login1.hibernate-multiple-sessions and
org.freedesktop.login1.hibernate-ignore-inhibit . Previously, the second
authentication attempt would fail with -ESTALE.
Fixes #20155.
David Tardon [Thu, 29 Jun 2023 14:20:25 +0000 (16:20 +0200)]
bus-polkit: parse reply from polkit on receive
... and store just the result.
David Tardon [Thu, 29 Jun 2023 14:03:30 +0000 (16:03 +0200)]
bus-polkit: extract action into a separate struct
This is a preparation for later commits.
David Tardon [Fri, 28 Apr 2023 14:31:27 +0000 (16:31 +0200)]
bus-polkit: describe async. polkit verification
David Tardon [Tue, 27 Jun 2023 12:52:57 +0000 (14:52 +0200)]
bus-polkit: refactor a bit to avoid goto
David Tardon [Tue, 27 Jun 2023 12:39:33 +0000 (14:39 +0200)]
bus-polkit: drop unused argument
David Tardon [Fri, 23 Jun 2023 14:00:44 +0000 (16:00 +0200)]
bus-polkit: use automatic cleanup
Frantisek Sumsal [Thu, 4 May 2023 11:44:12 +0000 (13:44 +0200)]
test: add a couple of tests for FSS journals
Frantisek Sumsal [Thu, 4 May 2023 11:43:09 +0000 (13:43 +0200)]
journal: clean up the FSS handling code a bit
Luca Boccassi [Thu, 13 Jul 2023 11:38:54 +0000 (12:38 +0100)]
homed: make all pam_prompt strings translatable
Users get prompted with these, so they should be translated.
Note that a comment is moved up, as otherwise the pot generation picks
it up and copies it into the translation file.
Fixes https://github.com/systemd/systemd/issues/28379
David Tardon [Thu, 13 Jul 2023 09:22:51 +0000 (11:22 +0200)]
docs: fix order
Zbigniew Jędrzejewski-Szmek [Thu, 13 Jul 2023 08:22:54 +0000 (10:22 +0200)]
units/systemd-vconsole-setup: suppress error when service is restarted
The service has Type=oneshot, which means that the default value of SuccessExitStatus=0.
When multiple vtcon devices are detected, udev will restart the service after each
one. If this happens quickly enough, the old instance will get SIGTERM while it is
still running:
[ 5.357341] (udev-worker)[593]: vtcon1: /usr/lib/udev/rules.d/90-vconsole.rules:12 RUN '/usr/bin/systemctl --no-block restart systemd-vconsole-setup.service
[ 5.357439] (udev-worker)[593]: vtcon1: Running command "/usr/bin/systemctl --no-block restart systemd-vconsole-setup.service"
[ 5.357485] (udev-worker)[593]: vtcon1: Starting '/usr/bin/systemctl --no-block restart systemd-vconsole-setup.service'
[ 5.357537] (udev-worker)[609]: vtcon0: /usr/lib/udev/rules.d/90-vconsole.rules:12 RUN '/usr/bin/systemctl --no-block restart systemd-vconsole-setup.service
[ 5.357587] (udev-worker)[609]: vtcon0: Running command "/usr/bin/systemctl --no-block restart systemd-vconsole-setup.service"
[ 5.357634] (udev-worker)[609]: vtcon0: Starting '/usr/bin/systemctl --no-block restart systemd-vconsole-setup.service'
...
[ 5.680529] systemd[1]: systemd-vconsole-setup.service: Trying to enqueue job systemd-vconsole-setup.service/restart/replace
[ 5.680565] systemd[1]: systemd-vconsole-setup.service: Merged into running job, re-running: systemd-vconsole-setup.service/restart as 557
[ 5.680600] systemd[1]: systemd-vconsole-setup.service: Enqueued job systemd-vconsole-setup.service/restart as 557
...
[ 5.682334] systemd[1]: Received SIGCHLD from PID 744 ((le-setup)).
[ 5.682377] systemd[1]: Child 744 ((le-setup)) died (code=killed, status=15/TERM)
[ 5.682407] systemd[1]: systemd-vconsole-setup.service: Child 744 belongs to systemd-vconsole-setup.service.
[ 5.682436] systemd[1]: systemd-vconsole-setup.service: Main process exited, code=killed, status=15/TERM
[ 5.682471] systemd[1]: systemd-vconsole-setup.service: Failed with result 'signal'.
[ 5.682518] systemd[1]: systemd-vconsole-setup.service: Service will not restart (manual stop)
[ 5.682552] systemd[1]: systemd-vconsole-setup.service: Changed stop-sigterm -> failed
This is expected and not a problem. Let's treat SIGTERM as success so we don't
get this spurious "failure".
Zbigniew Jędrzejewski-Szmek [Thu, 13 Jul 2023 07:58:03 +0000 (09:58 +0200)]
core: adjust indentation
One of the two conditionals in the function had different indentation than the
other.
Zbigniew Jędrzejewski-Szmek [Wed, 31 May 2023 14:26:14 +0000 (16:26 +0200)]
pid1,vconsole-setup: take a lock for the console device
When systemd-firstboot (or any other unit which uses the tty) is started,
systemd will reset the terminal. If systemd-vconsole-setup happens to be
running at that time, it'll error out when it tries to use the vconsole fd and
gets an EIO from ioctl.
e019ea738d63d5f7803f378f8bd3e074d66be08f was the first fix. It added an
implicit ordering between units using the tty and systemd-vconsole-setup.
(The commit title is wrong. The approach was generalized, but the commit title
wasn't updated.)
Then
cea32691c313b2dab91cef986d08f309edeb4a40 was added to restart
systemd-vconsole-setup.service from systemd-firstboot.service. This was OK,
with the ordering in place, systemd-vconsole-setup.service would wait until
systemd-firstboot.service exited. But this wasn't enough, because we want the
key mappings to be loaded immediately after systemd-firstboot writes the
config.
8eb668b9ab2f7627a89c95ffd61350ee9d416da1 implemented that, but actually
reintroduced the original issue. I had to drop the ordering between the two
units because otherwise we'd deadlock, waiting from firstboot for
vconsole-setup which wouldn't start while firstboot was running.
Restarting vconsole-setup.service from systemd-firstboot.service works just
fine, but when vconsole-setup.service is started earlier, it may be interrupted
by systemd-firstboot.service.
To resolve the issue, let's take a lock around the tty device. The reset is
performed after fork, so the (short) delay should not matter too much.
In xopenat_lock() the assert on <path> is dropped so that we can call
xopenat(fd, NULL) to get a copy of the original fd.
Fixes #26908.
Yu Watanabe [Thu, 13 Jul 2023 06:30:11 +0000 (15:30 +0900)]
network: use json_append() and json_variant_append_array()
Yu Watanabe [Thu, 13 Jul 2023 05:43:45 +0000 (14:43 +0900)]
hashmap: introduce hashmap_dump_sorted() and friends
Yu Watanabe [Thu, 13 Jul 2023 02:30:04 +0000 (11:30 +0900)]
logs-show: use json_variant_append_array()
Yu Watanabe [Thu, 13 Jul 2023 01:59:43 +0000 (10:59 +0900)]
tpm2-util: use json_variant_append_array()
Yu Watanabe [Thu, 13 Jul 2023 01:54:53 +0000 (10:54 +0900)]
busctl: use json_variant_append_array()
Lennart Poettering [Wed, 12 Jul 2023 20:29:17 +0000 (22:29 +0200)]
loop-write: do strlen() implicitly if size is specified as SIZE_MAX
This reduces repetition in the function calls, since quite often we
write out strings with loop_write().
Noticed while reviewing #28077.