Commit Graph
87141 Commits
Author SHA1 Message Date
Luca Boccassi 1bbf72d770 meson: bump version to v260~rc4 2026-03-13 23:03:20 +00:00
Luca Boccassi 908dfa1164 NEWS: finalize place and date 2026-03-13 23:02:53 +00:00
Zbigniew Jędrzejewski-Szmek a0adf78f4d Importd: skip fifos and sockets (#41090) 2026-03-13 23:52:44 +01:00
Zbigniew Jędrzejewski-Szmek 4b4e094753 import: skip sockets and fifos when creating archives
Fixes #40239.

$ SYSTEMD_LOG_LEVEL=debug SYSTEMD_LOG_LOCATION=1 build/test-tar -c /var/tmp/tar1.tar /var/tmp/with-fifo/
src/basic/dlfcn-util.c:66: Loaded shared library 'libarchive.so.13' via dlopen().
src/shared/tar-util.c:1422: Archiving '.'...
src/basic/dlfcn-util.c:66: Loaded shared library 'libacl.so.1' via dlopen().
src/shared/tar-util.c:1152: Skipping './fifo' (fifo).
src/shared/tar-util.c:1152: Skipping './unix' (sock).
2026-03-13 18:13:19 +00:00
Zbigniew Jędrzejewski-Szmek 4f0989d42d test-tar-extract: rename and add support for creating archives
This makes it much easier to test importd code without the
surrounding machinery.
2026-03-13 17:43:51 +00:00
Zbigniew Jędrzejewski-Szmek aa8cf865b9 test-tar-extract: fix error value in messages 2026-03-13 17:43:51 +00:00
Zbigniew Jędrzejewski-Szmek 334c71eed8 shared/tar-util: wrap some long lines, normalize indentation 2026-03-13 17:43:51 +00:00
Luca Boccassi cec4f04faa test-network: improve reliability of test case for DHCPRELEASE message (#41067)
Follow-ups for #41002.
2026-03-13 14:46:30 +00:00
Luca Boccassi 54f880b02e udev: fix review mixup
The previous version in the PR changed variable and sanitized it
in place. The second version switched to skip if CCs are in the
string instead, but didn't move back to the original variable.
Because it's an existing variable, no CI caught it.

Follow-up for 16325b35fa
2026-03-13 14:20:05 +00:00
Lennart Poettering 60b72a49be update TODO 2026-03-13 14:39:43 +01:00
Lennart Poettering 1ed967364f update TODO 2026-03-13 14:37:05 +01:00
Michael Vogt 95aff47112 boot: check that ret_version is valid in tpm_log_tagged_event
In a project I'm working on I recently observed a boot failure
with the most recent version of systemd. It seems it is triggered
by bb19b61049 which fixed a bug that now leads to the function
being excuted differently. The code is missing a check if
`*ret_version` is actually valid in the `ret_measured = true`
case.
2026-03-13 12:26:23 +01:00
Zbigniew Jędrzejewski-SzmekandCopilot Autofix powered by AI e799263ff4 test-network: handle the case where dnsmasq is slow to start better
> read_dnsmasq_log_file() will raise FileNotFoundError if dnsmasq hasn’t created the
> log file yet (or if the file was just removed by stop_dnsmasq() before the restart).
> This would error the test instead of retrying.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-13 12:02:07 +01:00
Luca Boccassi c681543680 homed: fix copypasta in openssl calls
decrypted_size/encrypted_size are sizes, not pointers to buffers

Reported on yeswehack.com as:
YWH-PGM9780-134

Follow-up for 70a5db5822
2026-03-13 10:23:36 +00:00
Franck Bui 651100c946 zsh: don't install _sd_machines when machined is disabled 2026-03-13 09:50:43 +00:00
Luca Boccassi cbea0e34c4 portable: avoid passing through ID/version fields to LogExtraFields= when they contain control characters
Found by Claude Code Review.

Follow-up for e8114a4f86
2026-03-12 21:53:28 +00:00
Yu Watanabe 8e764acf1e test-network: also check if DHCPRELEASE is sent on stopping networkd 2026-03-13 04:53:24 +09:00
Yu Watanabe bd061abd87 test-network: improve reliability of test case of DHCPRELEASE message 2026-03-13 04:53:20 +09:00
Yu Watanabe 67957b1464 test-network: drop duplicated definition of networkd_pid() 2026-03-13 04:44:12 +09:00
Lennart Poettering 3df88e836c man: document explicitly that ProtectHome= has no effect on non-standard homedir locations
Fixes: #41045
2026-03-12 17:57:21 +00:00
Luca Boccassi c1d4d5fd9a meson: bump version to v260~rc3 2026-03-12 16:58:12 +00:00
Luca Boccassi 2ed82970d0 NEWS: finalize place and date 2026-03-12 16:55:49 +00:00
Luca Boccassi cfe93e6341 NEWS: update contributors list 2026-03-12 16:55:41 +00:00
Luca Boccassi 92f62fa5de pcrlock: don't accept PCRs > 23 from firmware event log (#41072) 2026-03-12 16:50:54 +00:00
Dan McGregor 9ce905e35f meson: use libfido2_cflags dependency
Add the libfido2 dependency to cryptenroll and cryptsetup's
meson files. If libfido2's not installed in the default path
the build wasn't finding its headers correctly.
2026-03-12 16:02:28 +00:00
Luca Boccassi fd013bd9a9 Translations update from Fedora Weblate (#41073)
Translations update from [Fedora
Weblate](https://translate.fedoraproject.org) for
[systemd/main](https://translate.fedoraproject.org/projects/systemd/main/).



Current translation status:

![Weblate translation
status](https://translate.fedoraproject.org/widget/systemd/main/horizontal-auto.svg)
2026-03-12 14:28:05 +00:00
Sergey A. d6aa1fecc1 po: Translated using Weblate (Russian)
Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Sergey A. <Ser82-png@yandex.ru>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ru/
Translation: systemd/main
2026-03-12 13:58:31 +00:00
Yaron Shahrabani 19606b5ce5 po: Translated using Weblate (Hebrew)
Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/he/
Translation: systemd/main
2026-03-12 13:58:31 +00:00
Lennart Poettering bb19b61049 measure: figure success of measurement correctly
Found by Claude Code Review.
2026-03-12 14:43:48 +01:00
Lennart Poettering c248d6a409 pcrlock: don't accept PCRs > 23 from firmware event log
Let's harden ourselves against shitty firmware which might report an
invalid PCR.

(This is not really a security issue, more a robustness issue, after all
firmware generally comes with highest privileges and trust, even though
it might just be shit)

Fixes an issue found with Claude code review
2026-03-12 14:43:47 +01:00
Ivan Kruglov 6eab41c813 test: use --nogpgcheck instead of --no-gpgchecks in TEST-88-UPGRADE
--no-gpgchecks was introduced in 9204838724 but is only available in
dnf5. Use --nogpgcheck instead, which is supported by both dnf4 and
dnf5 (where it is an alias for --no-gpgchecks).

Fixes test failure on distros still using dnf4 (e.g. CentOS/RHEL 9).

Co-developed-by: Claude <claude@anthropic.com>
2026-03-12 13:40:05 +00:00
Zbigniew Jędrzejewski-Szmek 10a1043216 cleanups for machined/nspawn (#41060) 2026-03-12 09:39:30 +01:00
Rito Rhymes e5a6cc3a6f docs: contain image sizing and prevent overflow on mobile
`max-width: 100%` keeps images from expanding beyond
their container and creating horizontal overflow scroll
on small screens.

`height: auto` ensures the image scales proportionally
when width is adjusted.
2026-03-12 09:38:03 +01:00
Rito Rhymes f18df62e71 docs: wrap bare enum constants in inline code in JOURNAL_FILE_FORMAT 2026-03-12 09:37:24 +01:00
Zbigniew Jędrzejewski-Szmek 796a1d7616 Fix text overflow for long URLs and inline code blocks (#41064)
## Summary
Long string URLs and inline code blocks can exceed page width and cause
horizontal scroll overflow that breaks page layouts on smaller screens.
This fix ensures those long strings can wrap down as needed to preserve
the layout. The only code blocks that are affected are those that are
inline span within text paragraphs and are effectively stylized text; it
does not affect `<pre>` code blocks where fidelity is prioritized and
contained horizontal scroll is preferred.


## Before and After Screenshots

### `/TPM2_PCR_MEASUREMENTS/` code overflow

**BEFORE**
<img width="400" height="770" alt="TPM2-before"
src="https://github.com/user-attachments/assets/87da9d7a-d757-4fe0-9496-5c17ce31a14e"
/>

<br /><br />

**AFTER**
<img width="400" height="770" alt="TPM2-after"
src="https://github.com/user-attachments/assets/e48ba635-6c73-46a7-a29a-673a253fa76b"
/>

### `/PRESET/` URL overflow

**BEFORE**
<img width="400" height="776" alt="PRESET-before"
src="https://github.com/user-attachments/assets/da4a6346-c53b-4ce0-9ec8-8e58b634174e"
/>

<br /><br />

**AFTER**
<img width="400" height="776" alt="PRESET-after"
src="https://github.com/user-attachments/assets/be5fa824-4891-46ac-9f6e-08490cda8bd9"
/>
2026-03-12 09:36:32 +01:00
Rito Rhymes f9d4dce604 docs: allow long inline code to wrap to prevent overflow on mobile 2026-03-12 00:22:19 -04:00
Rito Rhymes 4443626b16 docs: allow long links to wrap to prevent overflow on mobile 2026-03-12 00:22:19 -04:00
Luca Boccassi 7b85f5498a nspawn: normalize pivot_root paths
Originally reported on yeswehack.com as:
YWH-PGM9780-116

Follow-up for b53ede699c
2026-03-12 00:24:01 +00:00
Luca Boccassi 61bceb1bff nspawn: apply BindUser/Ephemeral from settings file only if trusted
Originally reported on yeswehack.com as:
YWH-PGM9780-116

Follow-up for 2f89304490
Follow-up for a2f577fca0
2026-03-12 00:24:01 +00:00
Luca Boccassi 6df5f80bd3 machined: reject invalid class types when registering machines
Follow-up for fbe550738d
2026-03-12 00:24:01 +00:00
Mikhail Novosyolov 43cca8348a hwdb/keyboard: fix Positron vendor location
Move lines without changing them.
Fixes: 9aad3336f ("hwdb/keyboard: Map FN key on Positron Proxima 15")
(https://github.com/systemd/systemd/pull/40929)
2026-03-12 05:14:15 +09:00
Luca Boccassi 415663a13a core: limit number of LogExtraFields (#41044)
We have two places where those fields can be set: config and the dbus
interface. Let's clamp down on the number in both places. But in
principle, we could also be upgrading (through
serialization/deserialization) from an older systemd which didn't
enforce this limit, so also check on deserialization. A user could have
a unit with lots and lots of ExtraFields, but not enough to cause the
issue in #40916. To handle this gracefully, ignore the extra fields,
like we do in the parser. Where the field is used, assert that we are
within the expected bounds.

Fixes #40916.

Reproducer:
```console
$ python3 -c 'from pydbus import SystemBus; from gi.repository import GLib; SystemBus().get("org.freedesktop.systemd1", "/org/freedesktop/systemd1").StartTransientUnit("crash.service", "fail", [("ExecStart", GLib.Variant("a(sasb)", [("/bin/true", ["/bin/true"], False)])), ("LogExtraFields", GLib.Variant("aay", [b"F%d=x" % i for i in range(140000)]))], [])' Traceback (most recent call last):
  File "<string>", line 1, in <module>
    from pydbus import SystemBus; from gi.repository import GLib; SystemBus().get("org.freedesktop.systemd1", "/org/freedesktop/systemd1").StartTransientUnit("crash.service", "fail", [("ExecStart", GLib.Variant("a(sasb)", [("/bin/true", ["/bin/true"], False)])), ("LogExtraFields", GLib.Variant("aay", [b"F%d=x" % i for i in range(140000)]))], [])
                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/pydbus/proxy_method.py", line 102, in __call__
    raise error
  File "/usr/lib/python3.14/site-packages/pydbus/proxy_method.py", line 97, in __call__
    result = instance._bus.con.call_sync(*call_args)
gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: Too many extra log fields. (16)
```
2026-03-11 19:40:43 +00:00
Lennart Poettering 4b551035b4 measure-tool: always sign with SHA256
We should not use the bank algorithm for the signing, as we only support
validating via SHA256. Fix that.

Fixes: #40245
2026-03-11 18:40:57 +00:00
Luca Boccassi af62b9c5b0 include diskseq in dissection verity DM devices (#41050) 2026-03-11 17:28:20 +00:00
Lennart Poettering 1b364f8b53 sd-ndisc: fix address family check
Issue reported by zhengg-research
2026-03-11 18:25:28 +01:00
Zbigniew Jędrzejewski-Szmek 18031b17f8 TEST-07-PID1: add small test for LogExtraFields 2026-03-11 18:09:27 +01:00
Zbigniew Jędrzejewski-Szmek 3105286f25 core/unit: shorten code
I wanted to use _cleanup_(unlink_tempfilep), but the type doesn't
match (char ** vs. char (*)[]), so the goto remains.
2026-03-11 18:09:27 +01:00
Zbigniew Jędrzejewski-Szmek 456a277d3f core: limit number of LogExtraFields
We have two places where those fields can be set: config and the dbus
interface. Let's clamp down on the number in both places. But in principle, we
could also be upgrading (through serialization/deserialization) from an older
systemd which didn't enforce this limit, so also check on deserialization. A
user could have a unit with lots and lots of ExtraFields, but not enough to
cause the issue in #40916. To handle this gracefully, ignore the extra fields,
like we do in the parser. Where the field is used, assert that we are within
the expected bounds.

Fixes #40916.

Reproducer:
$ python3 -c 'from pydbus import SystemBus; from gi.repository import GLib; SystemBus().get("org.freedesktop.systemd1", "/org/freedesktop/systemd1").StartTransientUnit("crash.service", "fail", [("ExecStart", GLib.Variant("a(sasb)", [("/bin/true", ["/bin/true"], False)])), ("LogExtraFields", GLib.Variant("aay", [b"F%d=x" % i for i in range(140000)]))], [])'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    from pydbus import SystemBus; from gi.repository import GLib; SystemBus().get("org.freedesktop.systemd1", "/org/freedesktop/systemd1").StartTransientUnit("crash.service", "fail", [("ExecStart", GLib.Variant("a(sasb)", [("/bin/true", ["/bin/true"], False)])), ("LogExtraFields", GLib.Variant("aay", [b"F%d=x" % i for i in range(140000)]))], [])
                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/pydbus/proxy_method.py", line 102, in __call__
    raise error
  File "/usr/lib/python3.14/site-packages/pydbus/proxy_method.py", line 97, in __call__
    result = instance._bus.con.call_sync(*call_args)
gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: Too many extra log fields. (16)
2026-03-11 18:09:27 +01:00
Luca Boccassi 0c67b8adcb core: fix reloading multiple confexts at the same time
[] has higher precedence than pointer dereference, hence hilarity
ensues as soon as there are multuple images

Originally reported on yeswehack.com as:
YWH-PGM9780-122

Follow-up for dfdeb0b1cb
2026-03-11 16:54:33 +00:00
Daan De Meyer 2f5cecd7de dbus-cgroup: Fix copy paste error
Let's set the appropriate field for ManagedOOMMemoryPressureDurationUSec=
and not a totally different one.
2026-03-11 16:53:36 +00:00