]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 weeks agoci: Update claude action to v1 commit 41004/head
Daan De Meyer [Mon, 9 Mar 2026 10:12:21 +0000 (11:12 +0100)] 
ci: Update claude action to v1 commit

I accidentally picked a random commit instead of the one pointing
to the official v1 release, let's fix that.

4 weeks agoci: Don't cancel in progress jobs for claude-review workflow
Daan De Meyer [Mon, 9 Mar 2026 09:33:20 +0000 (10:33 +0100)] 
ci: Don't cancel in progress jobs for claude-review workflow

This workflow runs on any comment to a github PR. 99% of the time the
workflow will be skipped yet it will still cancel any previous ongoing
workflows. Let's not cancel in progress workflow but instead queue the
workflow so we don't cancel in progress reviews any time a comment is
posted on a PR that is being reviewed.

4 weeks agoci: privilege-separate Claude review workflow
Daan De Meyer [Fri, 6 Mar 2026 14:58:06 +0000 (15:58 +0100)] 
ci: privilege-separate Claude review workflow

The workflow is split into two jobs for least-privilege:

1. 'review' job — runs Claude with read-only permissions (contents: read,
   id-token: write for AWS OIDC, actions: read). Claude produces a structured
   JSON review via --json-schema with a 'comments' array and a 'summary'
   string. Its tools are restricted to read-only operations (Read, LS, Grep,
   Glob, Task, and various Bash prefixes for common read-only commands).
   Claude also has access to CI MCP tools to analyze failed workflow runs.

2. 'post' job — only has pull-requests: write. Reads the structured JSON
   output from the review job and posts inline comments individually (so
   re-runs only add new comments). Maintains a tracking comment with a
   <!-- claude-pr-review --> marker that is created on first run and updated
   in-place on subsequent runs, preserving existing item order, wording,
   and checkbox state. Posts a notification comment when the tracking
   comment is updated or left unchanged.

Comment deduplication is handled by Claude in the prompt rather than in
the posting script, allowing for better semantic understanding of whether
two comments address the same issue.

The PR number is resolved via github.event.pull_request.number with a
fallback to github.event.issue.number for issue_comment events where
github.event.pull_request is not populated. The concurrency group uses
the same fallback.

Co-developed-by: Claude <claude@anthropic.com>
4 weeks agoman: fix SendHostname= and Hostname= descriptions to allow multi-label DNS names...
Malcolm Frazier [Sun, 8 Mar 2026 02:18:56 +0000 (18:18 -0800)] 
man: fix SendHostname= and Hostname= descriptions to allow multi-label DNS names in [DHCPv4]

4 weeks agoShorten format-table code and fix potential memleak (#40917)
Yu Watanabe [Mon, 9 Mar 2026 00:26:30 +0000 (09:26 +0900)] 
Shorten format-table code and fix potential memleak (#40917)

4 weeks agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Sun, 8 Mar 2026 23:58:27 +0000 (23:58 +0000)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

4 weeks agohwdb: update HP Envy x360 patterns to cover newer 14-fc0xxx models
Andrii Zora [Sat, 7 Mar 2026 15:24:28 +0000 (17:24 +0200)] 
hwdb: update HP Envy x360 patterns to cover newer 14-fc0xxx models

Signed-off-by: Andrii Zora <anaxarsys@gmail.com>
4 weeks agohwdb: sensor: bncf reformat match
David Santamaría Rogado [Sun, 8 Mar 2026 02:45:10 +0000 (03:45 +0100)] 
hwdb: sensor: bncf reformat match

4 weeks agoFix media keys for Lenovo ThinkBook 14 2-in-1 G5 IAU
The-An0nym [Sat, 7 Mar 2026 08:41:00 +0000 (09:41 +0100)] 
Fix media keys for Lenovo ThinkBook 14 2-in-1 G5 IAU

4 weeks agohwdb: map Xiaomi Mi Notebook Pro star key to KEY_MACRO
Arjun-C-S [Sat, 7 Mar 2026 13:00:46 +0000 (18:30 +0530)] 
hwdb: map Xiaomi Mi Notebook Pro star key to KEY_MACRO

The Xiaomi Mi Notebook Pro keyboard has a "star" key that
generates AT keyboard scancode 0x72 but is not mapped in
the default hwdb.

Map it to KEY_MACRO so it appears as a usable input key.

Verified using evtest.

Signed-off-by: Arjun <arjunchoozhi1234@gmail.com>
5 weeks agouser-record: fix segfault when processing matchHostname field (#40979)
Zbigniew Jędrzejewski-Szmek [Sat, 7 Mar 2026 15:22:02 +0000 (16:22 +0100)] 
user-record: fix segfault when processing matchHostname field (#40979)

Fix a typo which causes a segfault when processing a user record
with `matchHostname` when it's an array instead of a simple string:

```
$ echo '{"userName":"crashhostarray","perMachine":[{"matchHostname":["host1","host2"],"locked":false}]}' | userdbctl -F -
Segmentation fault         (core dumped)

$ coredumpctl info
...
       Message: Process 1172301 (userdbctl) of user 1000 dumped core.

                Module libz.so.1 from rpm zlib-ng-2.3.3-1.fc43.x86_64
                Module libcrypto.so.3 from rpm openssl-3.5.4-2.fc43.x86_64
                Stack trace of thread 1172301:
                #0  0x00007fded7b3a656 __strcmp_evex (libc.so.6 + 0x159656)
                #1  0x00007fded7e95397 per_machine_hostname_match (libsystemd-shared-260.so + 0x295397)
                #2  0x00007fded7e955b5 per_machine_match (libsystemd-shared-260.so + 0x2955b5)
                #3  0x00007fded7e957c6 dispatch_per_machine (libsystemd-shared-260.so + 0x2957c6)
                #4  0x00007fded7e96c97 user_record_load (libsystemd-shared-260.so + 0x296c97)
                #5  0x000000000040572d display_user (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x572d)
                #6  0x00007fded7ea9727 dispatch_verb (libsystemd-shared-260.so + 0x2a9727)
                #7  0x000000000041077c run (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x1077c)
                #8  0x00000000004107ce main (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x107ce)
                #9  0x00007fded79e45b5 __libc_start_call_main (libc.so.6 + 0x35b5)
                #10 0x00007fded79e4668 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x3668)
                #11 0x00000000004038d5 _start (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x38d5)
                ELF object binary architecture: AMD x86-64
```

5 weeks agoTranslations update from Fedora Weblate (#40984)
Luca Boccassi [Sat, 7 Mar 2026 10:55:42 +0000 (10:55 +0000)] 
Translations update from Fedora Weblate (#40984)

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)

5 weeks agopo: Translated using Weblate (Turkish) 40984/head
Oğuz Ersen [Sat, 7 Mar 2026 01:58:37 +0000 (01:58 +0000)] 
po: Translated using Weblate (Turkish)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/tr/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Swedish)
Daniel Nylander [Sat, 7 Mar 2026 01:58:36 +0000 (01:58 +0000)] 
po: Translated using Weblate (Swedish)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Daniel Nylander <po@danielnylander.se>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sv/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Kazakh)
Baurzhan Muftakhidinov [Sat, 7 Mar 2026 01:58:36 +0000 (01:58 +0000)] 
po: Translated using Weblate (Kazakh)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/kk/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Korean)
김인수 [Sat, 7 Mar 2026 01:58:35 +0000 (01:58 +0000)] 
po: Translated using Weblate (Korean)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: 김인수 <simmon@nplob.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ko/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Punjabi)
A S Alam [Sat, 7 Mar 2026 01:58:35 +0000 (01:58 +0000)] 
po: Translated using Weblate (Punjabi)

Currently translated at 34.5% (92 of 266 strings)

Co-authored-by: A S Alam <aalam@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/pa/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (French)
Léane GRASSER [Sat, 7 Mar 2026 01:58:34 +0000 (01:58 +0000)] 
po: Translated using Weblate (French)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Ukrainian)
Yuri Chornoivan [Sat, 7 Mar 2026 01:58:34 +0000 (01:58 +0000)] 
po: Translated using Weblate (Ukrainian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/uk/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Georgian)
Temuri Doghonadze [Sat, 7 Mar 2026 01:58:33 +0000 (01:58 +0000)] 
po: Translated using Weblate (Georgian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ka/
Translation: systemd/main

5 weeks agouser-record: extract user_record_image_is_blockdev() common helper 40979/head
Mike Yuan [Fri, 6 Mar 2026 21:07:31 +0000 (22:07 +0100)] 
user-record: extract user_record_image_is_blockdev() common helper

5 weeks agofuzz: add a fuzzer for user records
Frantisek Sumsal [Fri, 6 Mar 2026 16:58:02 +0000 (17:58 +0100)] 
fuzz: add a fuzzer for user records

Add a simple fuzzer that verifies our machinery for parsing user records
from JSON works as intended.

The initial corpus was created with the help of Claude, so we have a
bunch of valid user records with as much fields as possible for the
initial corpus.

5 weeks agoman: fix short option for userdbctl's --from-file=
Frantisek Sumsal [Fri, 6 Mar 2026 16:30:52 +0000 (17:30 +0100)] 
man: fix short option for userdbctl's --from-file=

5 weeks agoshared: don't leak memory from array fields
Frantisek Sumsal [Fri, 6 Mar 2026 16:16:31 +0000 (17:16 +0100)] 
shared: don't leak memory from array fields

The fido2_hmac_salt/fido2_hmac_credential/recovery_key fields kept
leaking memory as the array itself wasn't deallocated after deallocating
each of its elements data:

$ build-san/userdbctl -F fuzz-corpus-userdb/auth-fido2.json
...
=================================================================
==1292840==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x7f56f00e5e4b in realloc.part.0 (/lib64/libasan.so.8+0xe5e4b) (BuildId: 25975f766867e9e604dc5a71a8befeaed3301942)
    #1 0x7f56ed869e42 in greedy_realloc ../src/basic/alloc-util.c:65
    #2 0x7f56ed7ff5e9 in dispatch_fido2_hmac_salt ../src/shared/user-record.c:836
    #3 0x7f56edd73cbc in sd_json_dispatch_full ../src/libsystemd/sd-json/sd-json.c:5204
    #4 0x7f56edd745fc in sd_json_dispatch ../src/libsystemd/sd-json/sd-json.c:5276
    #5 0x7f56ed80100b in dispatch_privileged ../src/shared/user-record.c:998
    #6 0x7f56edd73cbc in sd_json_dispatch_full ../src/libsystemd/sd-json/sd-json.c:5204
    #7 0x7f56edd745fc in sd_json_dispatch ../src/libsystemd/sd-json/sd-json.c:5276
    #8 0x7f56ed80622c in user_record_load ../src/shared/user-record.c:1697
    #9 0x000000408c15 in display_user ../src/userdb/userdbctl.c:447
    #10 0x7f56ed83cc9a in dispatch_verb ../src/shared/verbs.c:137
    #11 0x00000041df2b in run ../src/userdb/userdbctl.c:1908
    #12 0x00000041dfbe in main ../src/userdb/userdbctl.c:1911
    #13 0x7f56ec8105b4 in __libc_start_call_main (/lib64/libc.so.6+0x35b4) (BuildId: 2b5beec0fd24fe9c9f43eddfdd5facf0b8a1b805)
    #14 0x7f56ec810667 in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x3667) (BuildId: 2b5beec0fd24fe9c9f43eddfdd5facf0b8a1b805)
    #15 0x000000404a44 in _start (/home/fsumsal/repos/@systemd/systemd/build-san/userdbctl+0x404a44) (BuildId: 19e8b7e7b7038d2cea20bc18a55bea2a9e4406d5)

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7f56f00e5e4b in realloc.part.0 (/lib64/libasan.so.8+0xe5e4b) (BuildId: 25975f766867e9e604dc5a71a8befeaed3301942)
    #1 0x7f56ed869e42 in greedy_realloc ../src/basic/alloc-util.c:65
    #2 0x7f56ed7fe779 in dispatch_fido2_hmac_credential_array ../src/shared/user-record.c:775
    #3 0x7f56edd73cbc in sd_json_dispatch_full ../src/libsystemd/sd-json/sd-json.c:5204
    #4 0x7f56edd745fc in sd_json_dispatch ../src/libsystemd/sd-json/sd-json.c:5276
    #5 0x7f56ed80622c in user_record_load ../src/shared/user-record.c:1697
    #6 0x000000408c15 in display_user ../src/userdb/userdbctl.c:447
    #7 0x7f56ed83cc9a in dispatch_verb ../src/shared/verbs.c:137
    #8 0x00000041df2b in run ../src/userdb/userdbctl.c:1908
    #9 0x00000041dfbe in main ../src/userdb/userdbctl.c:1911
    #10 0x7f56ec8105b4 in __libc_start_call_main (/lib64/libc.so.6+0x35b4) (BuildId: 2b5beec0fd24fe9c9f43eddfdd5facf0b8a1b805)
    #11 0x7f56ec810667 in __libc_start_main@@GLIBC_2.34 (/lib64/libc.so.6+0x3667) (BuildId: 2b5beec0fd24fe9c9f43eddfdd5facf0b8a1b805)
    #12 0x000000404a44 in _start (/home/fsumsal/repos/@systemd/systemd/build-san/userdbctl+0x404a44) (BuildId: 19e8b7e7b7038d2cea20bc18a55bea2a9e4406d5)

SUMMARY: AddressSanitizer: 176 byte(s) leaked in 2 allocation(s).

5 weeks agoshared: don't exclude valid min/max values for cgroup weight fields
Frantisek Sumsal [Fri, 6 Mar 2026 15:36:52 +0000 (16:36 +0100)] 
shared: don't exclude valid min/max values for cgroup weight fields

1 and 10000 are valid cgroup weight values, but the condition was
incorrectly excluding them:

$ echo '{"userName":"crashhostarray","cpuWeight":1}' | userdbctl -F -
<stdin>:1:42: JSON field 'cpuWeight' is not in valid range 1…10000.

$ echo '{"userName":"crashhostarray","cpuWeight":10000}' | userdbctl -F -
<stdin>:1:42: JSON field 'cpuWeight' is not in valid range 1…10000.

5 weeks agovarious: use asprintf_safe in more places 40917/head
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 09:51:11 +0000 (10:51 +0100)] 
various: use asprintf_safe in more places

5 weeks agoshared/format-table: fix potential memleaks of d->formatted
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2026 14:35:41 +0000 (15:35 +0100)] 
shared/format-table: fix potential memleaks of d->formatted

We don't always return d->formatted, even if it is available. And
depending on the cell type, we'd either overwrite it directly or free
first. Let's always free it upfront and then set unconditionally.
(In this case, we don't need to spend effort on preserving the
existing value. It's just a cache.)  Setting the variable directly
allows many temporary variables to be eliminated.

Also use asprintf_safe() to simplify the allocation of the buffer.
This is probably a tiny bit slower than the direct allocation, but
table formatting shouldn't be a hot path.

5 weeks agobasic/stdio-util: introduce asprintf_safe
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 09:00:29 +0000 (10:00 +0100)] 
basic/stdio-util: introduce asprintf_safe

asprintf is nice to use, but the _documented_ error return convention is
unclear:
> If  memory  allocation  wasn't possible, or some other error occurs,
> these functions will return -1, and the contents of strp are undefined.

What exactly "undefined" means is up for debate: if it was really
undefined, the caller wouldn't be able to meaningfully clean up, because
they wouldn't know if strp is a valid pointer. So far we interpreted
"undefined" — in some parts of the code base — as "either NULL or a
valid pointer that needs to be freed", and — in other parts of the
codebase — as "always NULL". I checked glibc and musl, and they both
uncoditionally set the output pointer to NULL on failure.

There is also no information _why_ asprintf failed. It could be an
allocation error or format string error. But we just don't have this
information.

Let's add a wrapper that either returns a good string or a NULL pointer.
Since there's just one failure result, we don't need a separate return
value and an output argument and can simplify callers.

5 weeks agobasic/alloc-util: make realloc0 non-inline
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 08:55:09 +0000 (09:55 +0100)] 
basic/alloc-util: make realloc0 non-inline

It's actually only used in one place in libsystemd and moving it even makes
libsystemd smaller (in a non-optimized build):

$ ls -l build/libsystemd.so.0.43.0*
-rwxr-xr-x 1 zbyszek zbyszek 5763336 Mar  3 09:54 build/libsystemd.so.0.43.0-old
-rwxr-xr-x 1 zbyszek zbyszek 5763216 Mar  3 09:54 build/libsystemd.so.0.43.0

Also, move the definitions in the .h file so that similar functions are
grouped together and then move the definitions around in the .c file so
that they are in the same order as in the header.

5 weeks agobasic/allow-util: make free_many non-inline
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2026 08:42:41 +0000 (09:42 +0100)] 
basic/allow-util: make free_many non-inline

Definition of free_many is moved to the .c file, no particular reason
for it to be inline and we can make the header file shorter.

5 weeks agoshared/format-table: use 'char*'-style in function signatures
Zbigniew Jędrzejewski-Szmek [Mon, 23 Feb 2026 09:49:27 +0000 (10:49 +0100)] 
shared/format-table: use 'char*'-style in function signatures

5 weeks agoshared: fix segfault when processing matchHostname field
Frantisek Sumsal [Fri, 6 Mar 2026 15:09:35 +0000 (16:09 +0100)] 
shared: fix segfault when processing matchHostname field

Fix a typo which causes a segfault when processing a user record
with matchHostname when it's an array instead of a simple string:

$ echo '{"userName":"crashhostarray","perMachine":[{"matchHostname":["host1","host2"],"locked":false}]}' | userdbctl -F -
Segmentation fault         (core dumped)

$ coredumpctl info
...
       Message: Process 1172301 (userdbctl) of user 1000 dumped core.

                Module libz.so.1 from rpm zlib-ng-2.3.3-1.fc43.x86_64
                Module libcrypto.so.3 from rpm openssl-3.5.4-2.fc43.x86_64
                Stack trace of thread 1172301:
                #0  0x00007fded7b3a656 __strcmp_evex (libc.so.6 + 0x159656)
                #1  0x00007fded7e95397 per_machine_hostname_match (libsystemd-shared-260.so + 0x295397)
                #2  0x00007fded7e955b5 per_machine_match (libsystemd-shared-260.so + 0x2955b5)
                #3  0x00007fded7e957c6 dispatch_per_machine (libsystemd-shared-260.so + 0x2957c6)
                #4  0x00007fded7e96c97 user_record_load (libsystemd-shared-260.so + 0x296c97)
                #5  0x000000000040572d display_user (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x572d)
                #6  0x00007fded7ea9727 dispatch_verb (libsystemd-shared-260.so + 0x2a9727)
                #7  0x000000000041077c run (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x1077c)
                #8  0x00000000004107ce main (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x107ce)
                #9  0x00007fded79e45b5 __libc_start_call_main (libc.so.6 + 0x35b5)
                #10 0x00007fded79e4668 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x3668)
                #11 0x00000000004038d5 _start (/home/fsumsal/repos/@systemd/systemd/build/userdbctl + 0x38d5)
                ELF object binary architecture: AMD x86-64

5 weeks agotest: drop some extraneous whitespaces
Frantisek Sumsal [Fri, 6 Mar 2026 15:09:21 +0000 (16:09 +0100)] 
test: drop some extraneous whitespaces

5 weeks agoci: Fix missing parentheses in claude review workflow
Daan De Meyer [Fri, 6 Mar 2026 14:29:40 +0000 (15:29 +0100)] 
ci: Fix missing parentheses in claude review workflow

5 weeks agoci: React to issue_comment in claude review workflow
Daan De Meyer [Fri, 6 Mar 2026 14:25:53 +0000 (15:25 +0100)] 
ci: React to issue_comment in claude review workflow

issue_comment is the trigger that fires on regular pull request comments,
so we have to trigger the review workflow on that as well.

5 weeks agoTwo claude fixes/improvements (#40971)
Daan De Meyer [Fri, 6 Mar 2026 14:18:26 +0000 (15:18 +0100)] 
Two claude fixes/improvements (#40971)

5 weeks agoci: Make claude action review PRs only and fix the instructions 40971/head
Daan De Meyer [Fri, 6 Mar 2026 14:06:36 +0000 (15:06 +0100)] 
ci: Make claude action review PRs only and fix the instructions

Turns out the claude code action has issues reviewing PRs from forks
(https://github.com/anthropics/claude-code-action/issues/939). Let's
reuse the approach from https://github.com/pzmarzly/demo--claude-bot-reviews
instead (which I've explicitly asked permission for to reuse).

Unlike the linked demo, we still insist on a comment by a maintainer
before claude reviews the PR.

5 weeks agosd-varlink: pin error message while we invoke a reply callback
Lennart Poettering [Fri, 6 Mar 2026 10:39:28 +0000 (11:39 +0100)] 
sd-varlink: pin error message while we invoke a reply callback

Let's make sure the parameters/error pointers into the message remain
valid as long as the reply callback is running, even if the reply
otherwise resets the pending message.

5 weeks agomkosi/opensuse: fix package name systemd-network -> systemd-networkd
Antonio Alvarez Feijoo [Fri, 6 Mar 2026 07:45:36 +0000 (08:45 +0100)] 
mkosi/opensuse: fix package name systemd-network -> systemd-networkd

```
'systemd-network' not found in package names. Trying capabilities.
```

Follow-up for 00f7afebb4d5bc0832ae3483c751aa803d1df99c

5 weeks agoagent: Minimize the amount of instructions in AGENTS.md
Daan De Meyer [Fri, 6 Mar 2026 09:17:01 +0000 (10:17 +0100)] 
agent: Minimize the amount of instructions in AGENTS.md

Let's only keep instructions for stuff that we've seen the AI
mess up in practice rather than having a bunch of AI generated
text that it can figure out for itself these days (given it was
trained on systemd's source code in the first place).

Also add a rule to use git worktrees and check out PRs locally when
reviewing them, since I've seen it mess that up in practice.

5 weeks agoci: Add claude code github action (#40966)
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 08:06:58 +0000 (09:06 +0100)] 
ci: Add claude code github action (#40966)

This will allow maintainers to mention claude in comments on issues and
prs to do stuff like review something or try to reproduce a bug or other
stuff. Let's give it a try and see whether we like it or not.

5 weeks agoMove AI instructions to AGENTS.md 40966/head
Daan De Meyer [Fri, 6 Mar 2026 07:54:33 +0000 (08:54 +0100)] 
Move AI instructions to AGENTS.md

This seems to be what all the tools are standardizing on, except
claude (https://github.com/anthropics/claude-code/issues/6235) so
add a symlink from CLAUDE.md to AGENTS.md for now until they support
it as well.

I also had claude extend the instructions a bit.

Co-developed-by: Claude <claude@anthropic.com>
5 weeks agoman: add tags for the next few versions
Luca Boccassi [Fri, 6 Mar 2026 00:25:10 +0000 (00:25 +0000)] 
man: add tags for the next few versions

5 weeks agoTranslations update from Fedora Weblate (#40968)
Luca Boccassi [Fri, 6 Mar 2026 00:29:03 +0000 (00:29 +0000)] 
Translations update from Fedora Weblate (#40968)

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)

5 weeks agopo: Translated using Weblate (Portuguese) 40968/head
Américo Monteiro [Thu, 5 Mar 2026 22:10:06 +0000 (22:10 +0000)] 
po: Translated using Weblate (Portuguese)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Américo Monteiro <a_monteiro@gmx.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/pt/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Italian)
Salvatore Cocuzza [Thu, 5 Mar 2026 22:10:05 +0000 (22:10 +0000)] 
po: Translated using Weblate (Italian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Salvatore Cocuzza <info@salvatorecocuzza.it>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/it/
Translation: systemd/main

5 weeks agozsh: fixup some recent zsh completers
Ronan Pigott [Thu, 5 Mar 2026 22:42:30 +0000 (15:42 -0700)] 
zsh: fixup some recent zsh completers

These two completers are written in a stacked _arguments style, and some
generic options are valid before or after the verb. If the toplevel
_arguments is permitted to match options after the verb, it will halt
completion prematurely, so stop toplevel matching after the verb.

This corrects the following error:

$ userdbctl --output=class user <TAB> # completes users
$ userdbctl user --output=class <TAB> # completes nothing

5 weeks agopo: update Japanese translation
Yu Watanabe [Thu, 5 Mar 2026 22:06:59 +0000 (07:06 +0900)] 
po: update Japanese translation

5 weeks agoci: Add claude code github action
Daan De Meyer [Thu, 5 Mar 2026 20:39:14 +0000 (21:39 +0100)] 
ci: Add claude code github action

This will allow maintainers to mention claude in comments on issues
and prs to do stuff like review something or try to reproduce a bug
or other stuff. Let's give it a try and see whether we like it or
not.

5 weeks agopo: Update translation files
Hosted Weblate [Thu, 5 Mar 2026 19:43:40 +0000 (19:43 +0000)] 
po: Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/
Translation: systemd/main

5 weeks agonetwork: slightly reword polkit message
Yu Watanabe [Thu, 5 Mar 2026 18:45:28 +0000 (03:45 +0900)] 
network: slightly reword polkit message

5 weeks agotree-wide: suppress misc-use-internal-linkage warnings
Yu Watanabe [Wed, 4 Mar 2026 21:48:25 +0000 (06:48 +0900)] 
tree-wide: suppress misc-use-internal-linkage warnings

Suppress warnings like the following from clang tidy:
```
../src/boot/addon.c:11:19: error: function 'efi_main' can be made static to enforce internal linkage [misc-use-internal-linkage,-warnings-as-errors]
   11 | EFIAPI EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *system_table);
      |                   ^
```

Some warnings are suppressed simply by setting comments to ignore the warning,
some are by making global variables static, or include a suitable header.

5 weeks agocore/varlink-unit: distinguish PIDREF_AUTOMATIC from unset
Mike Yuan [Thu, 5 Mar 2026 16:13:15 +0000 (17:13 +0100)] 
core/varlink-unit: distinguish PIDREF_AUTOMATIC from unset

Follow-up for ab73333c43aeec919fadf60b22e5cee7c379cdf2

Methods that take numeric pid values use 0 to denote the peer,
hence let's log about 0 on PIDREF_AUTOMATIC, -1 if truly unset.

5 weeks agoboot/pe: remove unneeded parens
Mike Yuan [Thu, 5 Mar 2026 17:51:48 +0000 (18:51 +0100)] 
boot/pe: remove unneeded parens

Follow-up for f8ed94ea9915d67af47954b48d6a9a4d755b6d8e

5 weeks agolibcrypt: also try to dlopen libcrypt.so.1.1
Luca Boccassi [Thu, 5 Mar 2026 17:19:19 +0000 (17:19 +0000)] 
libcrypt: also try to dlopen libcrypt.so.1.1

On top of libcrypt.so.2 and libcrypt.so.1, also try libcrypt.so.1.1
as a third fallback. This is used on debian alpha, and it was
reported that it is intended to ship like that, with a different
SONAME than other architectures:

https://packages.debian.org/sid/alpha/libcrypt1/filelist

5 weeks agopcrlock: Record predictions at start of component range
Fergus Dall [Sun, 30 Nov 2025 05:38:49 +0000 (16:08 +1030)] 
pcrlock: Record predictions at start of component range

Currently pcrlock won't predict PCR values that would be present at the start
of the requested location range (unless there are no events for that PCR in the
location range). This means predictions for the default range 760:940, which is
intended to start just after entering the initrd, are not actually possible to
fulfill until after the initrd is exited (or possibly even later, depending on
what other events are recorded).

Fix this by recording predictions immediately prior to processing components
after the start point.

Fixes #39946

5 weeks agopo: update Japanese translations
Yu Watanabe [Thu, 5 Mar 2026 18:10:21 +0000 (03:10 +0900)] 
po: update Japanese translations

5 weeks agogitignore: ignore new default mkosi tools directories
Yu Watanabe [Wed, 4 Mar 2026 20:17:04 +0000 (05:17 +0900)] 
gitignore: ignore new default mkosi tools directories

The default place has been changed since
https://github.com/systemd/mkosi/commit/e9abfab744340dd2f608b589a9252a3e53b071c3

5 weeks agopath-util: drop unused paths_check_timestamp()
Mike Yuan [Thu, 5 Mar 2026 15:40:54 +0000 (16:40 +0100)] 
path-util: drop unused paths_check_timestamp()

5 weeks agoboot: Make missing CHID DTB match a debug message instead of an error
Hans de Goede [Thu, 5 Mar 2026 13:20:06 +0000 (14:20 +0100)] 
boot: Make missing CHID DTB match a debug message instead of an error

With distributions like Ubuntu and Fedora using systemd-stub to auto load
DTB's on Windows on ARM laptops, the CHID DTB match failing is expected
when that same UKI is instead booted on an ARM SystemReady system where
no DTB is necessary.

In the ARM SystemReady case showing a big red error message is undesirable
and leads to confused users and bug-reports. Lower the message to debug
level when the status is EFI_NOT_FOUND to avoid these false positive error
messages.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2444759
5 weeks agotree-wide: various Coccinelle-suggested tweaks and related fixes (#40950)
Mike Yuan [Thu, 5 Mar 2026 16:07:39 +0000 (17:07 +0100)] 
tree-wide: various Coccinelle-suggested tweaks and related fixes (#40950)

5 weeks agocore: cleanup unit's dropin directories from global cache
Michal Sekletar [Wed, 25 Feb 2026 18:45:55 +0000 (19:45 +0100)] 
core: cleanup unit's dropin directories from global cache

When user creates dropin files via API (e.g. systemctl set-property ...)
we put the dropin directory path into unit_path_cache. Drop those
directories from the cache in unit_free() and prevent memory leak.

Follow-up for fce94c5c563b8f6ede2b8f7f283d2d2faff4e062.

5 weeks agoupdate TODO
Lennart Poettering [Thu, 5 Mar 2026 15:34:16 +0000 (16:34 +0100)] 
update TODO

5 weeks agoupdate TODO
Lennart Poettering [Thu, 5 Mar 2026 14:44:34 +0000 (15:44 +0100)] 
update TODO

5 weeks agoupdate TODO
Lennart Poettering [Thu, 5 Mar 2026 13:28:14 +0000 (14:28 +0100)] 
update TODO

5 weeks agocore: drop unused errno from debug message 40950/head
Frantisek Sumsal [Wed, 4 Mar 2026 19:56:30 +0000 (20:56 +0100)] 
core: drop unused errno from debug message

And properly guard unset parameters.

5 weeks agotree-wide: various fixlets suggested by Coccinelle
Frantisek Sumsal [Wed, 4 Mar 2026 18:03:54 +0000 (19:03 +0100)] 
tree-wide: various fixlets suggested by Coccinelle

5 weeks agotree-wide: use typed SD_JSON_BUILD_PAIR_* macros more
Frantisek Sumsal [Wed, 4 Mar 2026 17:57:41 +0000 (18:57 +0100)] 
tree-wide: use typed SD_JSON_BUILD_PAIR_* macros more

5 weeks agococcinelle: work around a bug in zlib.h parsing
Frantisek Sumsal [Wed, 4 Mar 2026 18:38:37 +0000 (19:38 +0100)] 
coccinelle: work around a bug in zlib.h parsing

Currently, parsing zlib.h on Fedora (and possibly others) causes spatch
to fail with an assertion. Let's work around that by defining two extra
macros in our Coccinelle parsing hacks.

5 weeks agococcinelle: simplify the SD_JSON_BUILD_PAIR_* transformations
Frantisek Sumsal [Wed, 4 Mar 2026 18:17:42 +0000 (19:17 +0100)] 
coccinelle: simplify the SD_JSON_BUILD_PAIR_* transformations

And also disable them on test-json.c, since there we use the macros
intentionally in a "non-optimal" way to actually test them.

5 weeks agococcinelle: update the list of excluded directories
Frantisek Sumsal [Wed, 4 Mar 2026 18:37:18 +0000 (19:37 +0100)] 
coccinelle: update the list of excluded directories

  - src/boot/efi/ was moved to src/boot/ in 97318131fd06a5bc35454da81dcbbc84f16d9940
  - src/basic/include/linux/ was moved to src/include/uapi/linux/ in
    1a60b97524d8408e5f059b09ae316987c698e671

5 weeks agococcinelle: ignore our own BPF programs
Frantisek Sumsal [Wed, 4 Mar 2026 18:04:26 +0000 (19:04 +0100)] 
coccinelle: ignore our own BPF programs

Since they don't have access to systemd code, so we can't use our custom
functions/macros in them anyway.

5 weeks agoman: clarify requirements around creds null sealing
Luca Boccassi [Tue, 3 Mar 2026 18:18:53 +0000 (18:18 +0000)] 
man: clarify requirements around creds null sealing

5 weeks agomachine-varlink: reference the right struct in VARLINK_DISPATCH_MACHINE_LOOKUP_FIELDS
Mike Yuan [Thu, 5 Mar 2026 00:33:20 +0000 (01:33 +0100)] 
machine-varlink: reference the right struct in VARLINK_DISPATCH_MACHINE_LOOKUP_FIELDS

This practically shouldn't matter, as the layout for name
and pidref fields are identical for all the structs. But
let's get things right.

5 weeks agohwdb/60-tpm2: correct prefix in comment (tpm -> tpm2)
Mike Yuan [Thu, 5 Mar 2026 00:02:41 +0000 (01:02 +0100)] 
hwdb/60-tpm2: correct prefix in comment (tpm -> tpm2)

Follow-up for f2eed3fa25e8c38b7a90d6ab3d22ee90e3569271

5 weeks agojournalctl-filter: drop doubled newline
Mike Yuan [Wed, 4 Mar 2026 21:33:47 +0000 (22:33 +0100)] 
journalctl-filter: drop doubled newline

Follow-up for d8302c2fd92602eae780511037ca08ed8cb0667d

5 weeks agoTranslations update from Fedora Weblate (#40952)
Luca Boccassi [Wed, 4 Mar 2026 20:11:59 +0000 (20:11 +0000)] 
Translations update from Fedora Weblate (#40952)

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)

5 weeks agopo: Translated using Weblate (Slovenian) 40952/head
Martin Srebotnjak [Wed, 4 Mar 2026 19:58:26 +0000 (19:58 +0000)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

5 weeks agopo: Translated using Weblate (Finnish)
Jan Kuparinen [Wed, 4 Mar 2026 19:58:26 +0000 (19:58 +0000)] 
po: Translated using Weblate (Finnish)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Jan Kuparinen <copper_fin@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fi/
Translation: systemd/main

5 weeks agoupdate TODO
Lennart Poettering [Wed, 4 Mar 2026 16:06:23 +0000 (17:06 +0100)] 
update TODO

5 weeks agobuild(deps): bump ninja from 1.11.1.4 to 1.13.0 in /.github/workflows
dependabot[bot] [Wed, 4 Mar 2026 12:58:47 +0000 (12:58 +0000)] 
build(deps): bump ninja from 1.11.1.4 to 1.13.0 in /.github/workflows

Bumps [ninja](https://github.com/scikit-build/ninja-python-distributions) from 1.11.1.4 to 1.13.0.
- [Release notes](https://github.com/scikit-build/ninja-python-distributions/releases)
- [Changelog](https://github.com/scikit-build/ninja-python-distributions/blob/master/HISTORY.rst)
- [Commits](https://github.com/scikit-build/ninja-python-distributions/compare/1.11.1.4...1.13.0)

---
updated-dependencies:
- dependency-name: ninja
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
5 weeks agopcrextend-util: fix log message
Lennart Poettering [Wed, 4 Mar 2026 14:18:44 +0000 (15:18 +0100)] 
pcrextend-util: fix log message

The NvPCR is actually named differently from what the log msg said. Fix it.

5 weeks agoclang-tidy fixes (#40947)
Mike Yuan [Wed, 4 Mar 2026 15:27:51 +0000 (16:27 +0100)] 
clang-tidy fixes (#40947)

5 weeks agomachine-dbus: do not check for overlapping condition 40947/head
Mike Yuan [Wed, 4 Mar 2026 13:31:54 +0000 (14:31 +0100)] 
machine-dbus: do not check for overlapping condition

Follow-up for c5e48e3a66b23313cd4931b9dc25a8f48cfb1035

This also makes things in line with the varlink method.

5 weeks agosd-journal/catalog: make catalog_file_dirs static
Mike Yuan [Wed, 4 Mar 2026 13:11:52 +0000 (14:11 +0100)] 
sd-journal/catalog: make catalog_file_dirs static

5 weeks agobpf-dlopen: mark bpf_get_error() as static
Mike Yuan [Wed, 4 Mar 2026 13:09:03 +0000 (14:09 +0100)] 
bpf-dlopen: mark bpf_get_error() as static

Any use of this function should go via bpf_get_error_translated().

5 weeks agoshared/password-quality-util-*: make dl functions static
Mike Yuan [Wed, 4 Mar 2026 12:12:41 +0000 (13:12 +0100)] 
shared/password-quality-util-*: make dl functions static

5 weeks agomachined: move declaration of manager_object to machined-dbus.h
Mike Yuan [Wed, 4 Mar 2026 12:49:59 +0000 (13:49 +0100)] 
machined: move declaration of manager_object to machined-dbus.h

5 weeks agovarious: make bus objects static
Mike Yuan [Wed, 4 Mar 2026 12:26:42 +0000 (13:26 +0100)] 
various: make bus objects static

5 weeks agocore/varlink-metrics: make metric_family_table static
Mike Yuan [Wed, 4 Mar 2026 12:11:50 +0000 (13:11 +0100)] 
core/varlink-metrics: make metric_family_table static

5 weeks agoshared/varlink-*: normalize includes
Mike Yuan [Wed, 4 Mar 2026 12:10:31 +0000 (13:10 +0100)] 
shared/varlink-*: normalize includes

5 weeks agovarious: mark arg_* as static
Mike Yuan [Wed, 4 Mar 2026 12:25:37 +0000 (13:25 +0100)] 
various: mark arg_* as static

5 weeks agobootctl: declare missing arg_* in header
Mike Yuan [Wed, 4 Mar 2026 12:25:03 +0000 (13:25 +0100)] 
bootctl: declare missing arg_* in header

Follow-up for 90cf998875a2cfac2cdfe3e659c96d25457bf24b

5 weeks agotree-wide: make private hash ops static
Mike Yuan [Wed, 4 Mar 2026 11:53:12 +0000 (12:53 +0100)] 
tree-wide: make private hash ops static

5 weeks agoshared/acpi-fpdt: set _packed_ attr properly
Mike Yuan [Wed, 4 Mar 2026 11:51:48 +0000 (12:51 +0100)] 
shared/acpi-fpdt: set _packed_ attr properly

We were declaring a variable named _packed...

5 weeks agomeson: bump version to v260~rc2 v260-rc2
Luca Boccassi [Wed, 4 Mar 2026 12:24:14 +0000 (12:24 +0000)] 
meson: bump version to v260~rc2

5 weeks agoNEWS: update contributors list
Luca Boccassi [Wed, 4 Mar 2026 13:19:11 +0000 (13:19 +0000)] 
NEWS: update contributors list

5 weeks agoNEWS: finalize place and date
Luca Boccassi [Wed, 4 Mar 2026 12:23:59 +0000 (12:23 +0000)] 
NEWS: finalize place and date

5 weeks agomachined: do not allow unprivileged users to shell into the root namespace via varlink
Luca Boccassi [Sat, 28 Feb 2026 00:46:21 +0000 (00:46 +0000)] 
machined: do not allow unprivileged users to shell into the root namespace via varlink

Forbid non-root from shelling into a machine that is running in
the root user namespace.

Follow-up for adaff8eb35d9c471af81fddaa4403bc5843a256f

5 weeks agotest: don't register short-living containers with machined, again
Frantisek Sumsal [Wed, 4 Mar 2026 11:32:15 +0000 (12:32 +0100)] 
test: don't register short-living containers with machined, again

Otherwise we might try to register the same scope again before the
previous instance gets a chance to be cleaned up:

[   54.378392] systemd-nspawn[2554]: ░ Spawning container TEST-13-NSPAWN.defaultinaccessiblepaths.nxs on /var/lib/machines/TEST-13-NSPAWN.default_inaccessible_paths.nxs.
[   54.382202] systemd-nspawn[2554]: Failed to allocate scope: Unit TEST-13-NSPAWN.defaultinaccessiblepaths.nxs.scope was already loaded or has a fragment file.
[   54.411211] systemd[1]: TEST-13-NSPAWN.service: Main process exited, code=exited, status=1/FAILURE
[   54.411413] systemd[1]: TEST-13-NSPAWN.service: Failed with result 'exit-code'.
[   54.411885] systemd[1]: Failed to start TEST-13-NSPAWN.service - TEST-13-NSPAWN.

This is basically the same change as in
6a05abb9b49900774bc0323316103dceab0c1a7d but for the newly added tests.

Follow-up for 83b8daa032cd0adb538cfd9467e6acf2c44aa661.

Resolves: #40945