Commit Graph
91144 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek efa45f5f47 basic/procfs-util: add procfs_cpu_get_ticks() 2026-08-21 09:17:51 +02:00
Zbigniew Jędrzejewski-Szmek aa1045f862 test-procfs-util: convert to new ASSERT macros
Replace assert_se()/assert() with the typed ASSERT_* macros, matching the
conversions done across the rest of src/test/.
2026-08-21 09:17:51 +02:00
Zbigniew Jędrzejewski-Szmek 9b6911d2e6 basic/psi-util: add lookup table for PressureType 2026-08-21 09:17:51 +02:00
Pétur c44e9527b7 Fix typos in USER_RECORD.md documentation
Per src/shared/user-record.c
2026-08-16 10:25:33 +01:00
Yu Watanabe 65537f059c A batch of conversions to COMMAND struct and additions of --introspect-cli (#43394) 2026-08-16 04:28:05 +09:00
Anton Tiurin 7bd9f0f805 dhcp-server: reject pool offsets beyond the subnet (#43389)
`sd_dhcp_server_configure_pool()` calculated the maximum pool size
before checking whether `PoolOffset=` was inside the subnet.

Because the calculation used unsigned arithmetic, an offset beyond the
broadcast address could wrap around to a large value and pass validation.
For example, `PoolOffset=256` with a `/24` and `PoolSize=1` was accepted,
allowing the DHCP server to offer an address outside its configured subnet.

Reject offsets at or beyond the broadcast address before performing the
subtraction, and calculate the remaining pool size directly as
`broadcast_off - offset`.
2026-08-16 03:35:45 +09:00
dongshengyuan 9711c84c2d resolved: match browsed mDNS services by ifindex
BrowseServices(ifindex=0) may observe the same service on multiple
links. Treat the link index as part of the discovered service
identity so add and remove events remain link-scoped.

Use the per-service ifindex for RFC 6762 maintenance queries.
Share the service identity predicate between add and remove handling,
and propagate RR comparison errors instead of reporting removals.

Extend coverage for scoped-browser ifindex fallback, goodbye TTL
handling, and monotonic expiry updates.
2026-08-16 03:07:32 +09:00
Lefteris T db7fc6cde8 po: Translated using Weblate (Greek)
Currently translated at 93.3% (267 of 286 strings)

Co-authored-by: Lefteris T <lefteris592@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/el/
Translation: systemd/main
2026-08-16 03:01:28 +09:00
Zbigniew Jędrzejewski-Szmek caf889d1ea tty-ask-password-agent: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 5c5d3d2065 socket-activate: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The note about sd_listen_fds() is kept as the
footer.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 440b021cff pty-forward: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek a6dfe21862 path: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 94a955cd31 oomd: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 6fc95be4a2 mute-console: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 548c9cd71c inhibit: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The synopsis now also lists the --list mode,
matching the man page. --help now goes through the pager, like other
commands with --no-pager.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek bde24b07b4 systemd-imds: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is left as it was, nonimperative.
I tried a few different forms but couldn't find one that was clearly
better.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 6515ac25da escape: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The synopsis is updated to be more truthful
and consistent between the prog and man page.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek bf09e3ac21 detect-virt: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 6ca5e59dc1 delta: stop defining "variables" for constants
This doesn't matter much, but we defined a memory location to point
at constant data. We can just use the address of the constant data
directly.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek 81f2319291 delta: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek cab5a18abb cgtop: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:30:02 +02:00
Zbigniew Jędrzejewski-Szmek d768cdcceb cgls: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.

Synopses are adjusted. --user-unit/--unit without any unit names is
technically allowed, but not very meaningful, since it's the same as
the default mode. So [] is dropped. And the prog help string is then
adjusted to match the man page.
2026-08-15 15:28:58 +02:00
Zbigniew Jędrzejewski-Szmek 73d0a3a2ea cat: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. "COMMAND…" is marked as optional, since
'cat' is the default verb.
2026-08-15 15:25:23 +02:00
Zbigniew Jędrzejewski-Szmek 38293644a2 bsod: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:25:23 +02:00
Zbigniew Jędrzejewski-Szmek 50ffe81202 binfmt: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is changed to use the imperative
form ("Register …" instead of "Registers …"), consistent with the other
commands. --help now goes through the pager, like other commands with
--no-pager.
2026-08-15 15:25:23 +02:00
Zbigniew Jędrzejewski-Szmek c0a3967acb battery-check: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:25:23 +02:00
Zbigniew Jędrzejewski-Szmek 7027ca6ee4 systemd-hwdb: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-15 15:25:23 +02:00
Zbigniew Jędrzejewski-Szmek ba76d38f37 firstboot: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is changed to use the imperative
form ("Configure …" instead of "Configures …"), consistent with the
other commands.
2026-08-15 15:24:58 +02:00
Zbigniew Jędrzejewski-Szmek f25a3d3240 TEST-74-AUX-UTILS.introspect-cli: simplify how --introspect-cli is tested
After c9cd66ee3a and
c81b5d36b9, the comment about systemd-backlight
and systemd-veritysetup was outdated. We can test them as any other program.

Also, use an array to make list easier to extend in the future and
adjust $PATH so we don't need to care about the split between public
and non-public programs.
2026-08-15 13:36:54 +02:00
Yu Watanabe 6a5809b2a8 pidfd: introduce pidfd_info_mask_is_supported() (#43298)
The helper is currently unused. But should be useful for checking the
kernel features. It will be used in systemd-coredump.
2026-08-15 03:32:20 +09:00
Yu Watanabe e3a224a46d sd-varlink: several fixlets (#43369) 2026-08-15 01:38:18 +09:00
Yu Watanabe f807a32125 coredump: do not leak TID in the host to container (#43349)
PID, UID, and GID are converted by sending struct ucred, however, TID
was not converted. Let's convert TID if corresponding pidfd exists, and
discards TID otherwise.

Fixes 4c7af7d9d1.
2026-08-15 01:38:04 +09:00
Yu Watanabe 7ae2bc9199 pidfd-util: introduce pidfd_info_mask_is_supported() helper function
Since kernel v6.19, ioctl(PIDFD_GET_INFO) can return the set of
supported flags when PIDFD_INFO_SUPPORTED_MASK is specified.

This allows checking whether, e.g., PIDFD_INFO_COREDUMP_SIGNAL is
supported by the running kernel.
2026-08-15 01:35:23 +09:00
Yu Watanabe 73e67f5fb1 test: split out test-pidfd-util from test-process-util
The tested function pidfd_get_inode_id_self_cached() is provided by
pidfd-util.c. Let's introduce a new unit test for the file.
2026-08-15 01:35:23 +09:00
dongshengyuan 507ba1e51c core: fix bind paths whitespace parsing
Stop warning on extra spaces in BindPaths= and BindReadOnlyPaths=.
Keep bind path parsing and serialization consistent.

Fixes: #43214
2026-08-15 00:26:40 +09:00
Yu Watanabe 534a73fd3f coredump: do not leak TID in the host to container
PID, UID, and GID are converted by sending struct ucred, however,
TID was not converted. Let's convert TID if corresponding pidfd exists,
and discards TID otherwise.

Fixes 4c7af7d9d1.
2026-08-15 00:11:59 +09:00
Yu Watanabe 63da977f64 sd-varlink: do not call disconnect callback for incomplete connection
The connect callback is called after sd_varlink_server_add_connection()
succeeds. Do not call the disconnect callback for connections that have
not been established yet.
2026-08-14 23:56:19 +09:00
ShiroKSH db08fdbc33 sd-varlink: decrement connection counters on failure
Previously, sd_varlink_server_add_connection_pair() did not decrement
the connection counters when json_stream_attach_fds() failed.

Set the ucred before calling json_stream_attach_fds() so that
sd_varlink_close() also decrements the counters when it fails.
2026-08-14 23:56:19 +09:00
Yu Watanabe 0bd40fdc07 json-stream: do not take ownership of passed fds on failure
This makes json_stream_attach_fds() and json_stream_connect_fd_pair()
leave the passed file descriptors with the caller on failure. Callers
should call TAKE_FD() only after a successful call.

Also make qmp_client_connect_fd() always take ownership of the passed
file descriptor, including on failure. Previously, ownership of the
passed file descriptor on failure was unclear and depended on where
the function failed.
2026-08-14 23:55:51 +09:00
dongshengyuan 77b9a626ce getty-generator: strip whitespace from getty.auto credential
The getty.auto credential is a textual configuration value, but credentials
are read as raw file contents. A value written by common text-file workflows
can therefore end in a newline, causing false\n to be rejected and ignored.

Reproducer:
  printf 'false\n' > "$CREDENTIALS_DIRECTORY/getty.auto"

Before: getty units could still be generated because the credential was
ignored as invalid.
Expected: false\n is parsed the same as false and disables getty
generation.

Strip the value in getty-generator before parsing it. This keeps the
credential framework byte-preserving while applying text semantics where
getty.auto is consumed.

Follow-up for: 3a883e89bc
2026-08-14 11:59:58 +02:00
Zbigniew Jędrzejewski-Szmek cbc8cb18e1 shared: add new securebits (#43376)
The securebits parsing code now recognizes 'no-cap-ambient-raise' (added
in Linux 4.3), 'exec-restrict-file', and 'exec-deny-interactive' (both
added in Linux 6.14). The '-locked' variants were added too.

The `exec-restrict-file` and `exec-deny-interactive` securebits are
particularly useful in combination with `RestrictFileSystemAccess=` to
allow developers to extend the "only execute immutable files" concept to
script interpreters. Those securebits are not documented in the
[`capabilities(7)`](https://man7.org/linux/man-pages/man7/capabilities.7.html)
manpage, only in the [Executability
check](https://docs.kernel.org/userspace-api/check_exec.html) kernel
docs.
2026-08-14 11:57:17 +02:00
Zbigniew Jędrzejewski-Szmek 8975c5c1cf Add a "declarative program header" and introspection of options and verbs (#43152) 2026-08-14 11:52:42 +02:00
Daan De Meyer 7c1609b4c2 ci: harden Claude code review orchestration
Replace opaque built-in review behavior with explicit parallel review lenses for
correctness, concurrency, security, architecture, coding style, and regression
coverage, plus bounded domain-specific reviewers and independent validation.
Prefetch pull request discussion in the setup job while letting the read-only
review job fetch and inspect the full commit history without per-commit
worktrees.

Keep GitHub writes isolated to the setup and posting jobs, pin the Claude models
and CLI, and bound execution below the AWS credential lifetime. Materialize
review instructions from the trusted base revision and scope agent writes to the
structured result directory so untrusted pull request content cannot widen the
review authority.

Treat the posting job as the authoritative trust boundary: validate all
model-selected commits, paths, lines, and thread IDs, normalize degenerate line
ranges, bound sanitized output, and surface GitHub API failures in the tracking
comment before performing writes. Retain daandemeyer/systemd in the repository
allowlist so the workflow can be exercised end to end on the personal fork.

Manual runs against fork PR #15 covered OIDC authentication, sandboxing, result
artifact handoff, tracking-comment updates, and validation of posted output.

Signed-off-by: Daan De Meyer <daan@amutable.com>
2026-08-14 09:45:47 +02:00
Skye Soss bfc302dad2 shared: add new securebits
The securebits parsing code now recognizes 'no-cap-ambient-raise'
(added in Linux 4.3), 'exec-restrict-file', and 'exec-deny-interactive'
(both added in Linux 6.14). The '-locked' variants were added too.
2026-08-13 13:21:28 -05:00
Skye Soss 89fb28f1d3 include/uapi: add linux/securebits.h 2026-08-13 13:21:28 -05:00
Yu Watanabe dc5de3fc03 json-stream: refuse to attach already attached fds
json_stream_attach_fds() closes already attached fds.
Hence, the new fds must be different from the already attached ones.
2026-08-14 00:54:52 +09:00
Yu Watanabe 3e96a99bab sd-varlink: fix memleak on failure path 2026-08-14 00:54:52 +09:00
Yu Watanabe 8f4cd7de43 resolvectl: fix query option handling and resolvconf input errors (#43370) 2026-08-14 00:35:58 +09:00
Yu Watanabe df9265b5a3 resolved: fix domain replacement and delegate DNS parsing (#43365) 2026-08-14 00:29:26 +09:00
dongshengyuan f4284e9ceb path-lookup: reject empty env path components
Only trailing empty components have special meaning:
they request appending the built-in defaults.

Share the validation between normal path lookup and
systemd-analyze verify, so verify does not compose
values that path lookup later rejects.

Propagate generator path parse errors instead of
turning them into empty generator paths.

Follow-up for: cf7d80a5fe
2026-08-14 00:27:09 +09:00