Commit Graph

1279 Commits

Author SHA1 Message Date
Yu Watanabe
ddd535a424 NEWS: mention new 'networkctl dhcp-lease' command 2026-05-17 21:03:55 +09:00
Diego Viola
5d17215c7e treewide: fix typos in the entire codebase
Signed-off-by: Diego Viola <diego.viola@gmail.com>
2026-05-05 17:22:26 +02:00
Simon Lucido
d667b6b97f core: add ReloadCount to Manager and bump on successful reload
Introduce a counter that tracks how many configuration reloads have
been successfully completed by the manager. The increment lives in
manager_reload() right after the "point of no return", so failed
reload attempts that bail out earlier (e.g. during serialization)
do not bump the counter.

It is accessible as a new ReloadCount property to
org.freedesktop.systemd1.Manager (D-Bus) and ReloadCount to
io.systemd.Manager.Describe (Varlink).

Also add an integration test for ReloadCount
that verifies that the new ReloadCount property increments by one per
daemon-reload, accumulates correctly across multiple reloads, and that
D-Bus and Varlink return identical values. Also tests that the counter
reset after a reexec.

Co-developed-by: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Simon Lucido <simonlucido@meta.com>
2026-05-03 10:23:55 +01:00
Lennart Poettering
1716467bfa NEWS: pre-announce removal of /run/boot-loader-entries/ support in logind
logind could read UAPI.1 Boot Loader Spec entries from
/run/boot-loader-entries/ in addition to ESP/XBOOTLDR. This was pretty
half-assed, and to my knowledge was never actually used much.

Let's remove support for it and simplify our codebase.

Let's schedule it for removal via NEWS in a future version, to give
people a chance to speak up.
2026-04-13 17:53:12 +02:00
Daan De Meyer
4bbdc8a6a2 nspawn: Add --restrict-address-families= option
Add a new --restrict-address-families= command line option and
corresponding RestrictAddressFamilies= setting for .nspawn files to
restrict which socket address families may be used inside a container.

Many address families such as AF_VSOCK and AF_NETLINK are not
network-namespaced, so restricting access to them in containers
improves isolation. The option supports allowlist and denylist modes
(via ~ prefix), as well as "none" to block all families, matching the
semantics of RestrictAddressFamilies= in unit files.

The address family parsing logic is extracted into a shared
parse_address_families() helper in parse-helpers.c, which is now also
used by config_parse_address_families() in load-fragment.c.

This is currently opt-in. In a future version, the default will be
changed to restrict address families to AF_INET, AF_INET6 and AF_UNIX.
2026-04-13 11:14:11 +02:00
Ivan Kruglov
23f0c9070b news: new record about strings vs enums in varlink 2026-04-10 08:37:04 -07:00
Lennart Poettering
58b9e400a6 Help users with incorrect / permission bits (#41431)
This error causes the computer to pass the emergency.target and go to
graphical.target.
Then, your window manager will have problems because it cant access any
directories, your network manager wont startup the network. In my case,
the screen just goes black. Ideally, you'd get an error message
explaining this edge scenario that's occuring to you, and an emergency
shell that makes it easy to run the necessary chmod 0755 / to proceed
with booting. IDK not sure if this is the correct way to implement this,
sorry it's my first contribution.

I ran 
`meson test -C build`
and got 

Ok:                1806
Fail:              26  
Skipped:           25  
on my cloned systemd repo before any changes, and got the same result
after my commit ¯\_(ツ)_/¯
So I hope I did that right. 
Thanks
2026-04-10 12:25:07 +02:00
ipv6
15384f6e1f Added NEWS 2026-04-08 11:06:41 -05:00
Vitaly Kuznetsov
c70b17daad sysext: provide systemd-{sysext,confext}-sysroot.service services
The new services are used to activate system and configuration extensions
for the main system from the initrd, this allows to overcome the limitation
that sysext/confext cannot be used to update the resources which are required
in the earliest boot of the system (before systemd-sysext/systemd-confext
start).
2026-04-07 09:50:59 +02:00
Vitaly Kuznetsov
f778f08fae NEWS: fix sysext/confext configuration file names in v259
/etc/systemd/systemd-{confext,sysext}.conf are likely just leftovers
from an older in-development version of the feature.
2026-04-07 09:22:29 +02:00
Daan De Meyer
e7fb7296f5 nspawn: rename --user= to --uid= and repurpose --user/--system for runtime scope
Rename nspawn's --user=NAME option to --uid=NAME for selecting the
container user. The -u short option is preserved. --user=NAME and
--user NAME are still accepted but emit a deprecation warning. A
pre-parsing step stitches the space-separated --user NAME form into
--user=NAME before getopt sees it, preserving backwards compatibility
despite --user now being an optional_argument.

Repurpose --user (without argument) and --system as standalone
switches for selecting the runtime scope (user vs system service
manager).

Replace all uses of the arg_privileged boolean with
arg_runtime_scope comparisons throughout nspawn. The default scope
is auto-detected from the effective UID.

Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 18:49:40 +02:00
Zbigniew Jędrzejewski-Szmek
6240d420d6 meson: unlock imds network by default
Enabling locking by default would constitute a major footgun and
compatibility break on upgrades. This functionality is useful, but it
requires the rest of the system to be "ported" to use systemd-imds
first. The user or distro should opt in to "locked" mode only after
doing the integration work.
2026-03-26 17:32:43 +01:00
Lennart Poettering
168a7f7770 imds: add generator that hooks in IMDS logic on cloud guests
The infrastructure added in the previous commits added support for IMDS
client functionality, but didn't really to enable the logic by default
on suitable hosts.

This commit adds a generator that automatically hooks the IMDS
functionality into the boot process if it detects that the system is
running on a compliant cloud system. it enables both the imds daemon and
the client.
2026-03-26 10:54:15 +01:00
Zbigniew Jędrzejewski-Szmek
9e8658b887 various: fix typos 2026-03-25 02:03:56 +01:00
Vitaly Kuznetsov
a06992dd16 measure: make tpm_log_tagged_event() measure CC as well
tpm_log_tagged_event() only measures the event to the TPM while
tpm_log_ipl_event() measures the event both to the TPM and CC. Fix the
inconsistency.

Note, this is a potentially breaking change for TDX guests as systemd will
now measure more stuff to the MRTD/RTMRs, reference values for attestation may
need to be adjusted.

Found by Claude Code Review.
2026-03-18 12:35:21 +00:00
Luca Boccassi
39ba090035 NEWS: finalize for v260 2026-03-17 17:41:20 +00:00
Luca Boccassi
166d91ad91 NEWS: update contributors list 2026-03-17 17:40:54 +00:00
Luca Boccassi
908dfa1164 NEWS: finalize place and date 2026-03-13 23:02:53 +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
62e8b0f9b5 NEWS: update contributors list 2026-03-10 17:12:18 +00:00
Luca Boccassi
ba6c437ef9 NEWS: update contributors list 2026-03-04 13:19:16 +00:00
Luca Boccassi
b55a8ed469 NEWS: finalize place and date 2026-03-04 13:03:44 +00:00
Oleksandr Andrushchenko
899992bc1e network: Rename ModemManager .network section WRT tech, not project...
and use dedicated knobs for every option used in
former SimpleConnectProperties.
New section is [MobileNetwork] with the following configuration options:

APN=
AllowedAuthenticationMechanisms==
User=
Password=
IPFamily=
AllowRoaming=
PIN=
OperatorId=
2026-03-04 12:42:19 +01:00
Lennart Poettering
378b2f0d4a update NEWS 2026-03-04 08:28:46 +01:00
Zbigniew Jędrzejewski-Szmek
a8637c059b vmspawn: change order of fields in --extra-drive=
Closes #40877. As requested, --extra-drive=path[:format] is changed
to --extra-drive=[format:]path, so that the parsing is less ambiguous.
(In the original request, it was requested that the empty format can be
used also, but that was dropped in the second version of the patch.)
2026-03-04 07:05:32 +09:00
Luca Boccassi
7791edc112 Chores for RC2 (#40939) 2026-03-03 21:39:43 +00:00
Zbigniew Jędrzejewski-Szmek
6e0f0510d2 NEWS: move interesting items closer to top and mention PrivateTmp changes
In https://bugzilla.redhat.com/show_bug.cgi?id=2443620 it was
reported that the changes to unit ordering were surprising. Let's
add a note about the PrivateTmp= handling changes.
Follow-up for https://github.com/systemd/systemd/pull/39790.
2026-03-03 18:50:27 +01:00
Luca Boccassi
05c2147a52 NEWS: update contributors list 2026-03-03 17:44:49 +00:00
Zbigniew Jędrzejewski-Szmek
d90858544c systemctl: rename enqueue-marked-jobs to enqueue-marked
Closes #40883. As described in the issue, it's not "jobs" that are
marked, and also the name is unnecessarilly long.

I think we don't need any compatibility measures here. At least in the
rpm world, package upgrade scripts go through the helper which is part
of the package so the new systemctl and the new helper are upgraded
together.
2026-03-03 15:26:45 +01:00
Zbigniew Jędrzejewski-Szmek
ec4ff79f07 NEWS: mention the sd_varlink_field_type_t breakage
Follow-up for 93d768e0f3. The commit with
the fix didn't mention this, but the reported reproducer was:
> Install openSUSE Tumbleweed with account-utils and systemd v258.
> Compile and install systemd v260. Run "varlinkctl list-methods
> /run/account/newidmapd-socket" -> the newidmap service crashes in
> varlink_idl_format_all_fields(). Recompile newidmap with systemd v260
> headers -> varlinkctl list-methods works again.

Other people might hit the same issue, so let's mention that this was
fixed.
2026-03-03 15:05:31 +01:00
Lennart Poettering
da6162ecff NEWS: add various more features added in v260, and introduce more sections 2026-02-27 23:57:17 +01:00
Christopher Cooper
e3a4f8d804 NEWS: fix manpage section for os-release 2026-02-26 20:13:15 +00:00
Luca Boccassi
28165f82a4 NEWS: add date and place 2026-02-25 15:52:57 +00:00
Luca Boccassi
c8c50243d9 NEWS: add contributors list 2026-02-25 15:52:48 +00:00
Luca Boccassi
3b0430d0bf NEWS: list hwids change 2026-02-25 15:51:27 +00:00
Zbigniew Jędrzejewski-Szmek
a5dce3eae1 NEWS: mention userns mapping change
Closes #40495.
C.f. 24c73c7920,
     705cc82938.
2026-02-25 14:07:02 +01:00
Zbigniew Jędrzejewski-Szmek
67610d04b4 NEWS: typos and rewordings 2026-02-25 13:53:33 +01:00
Adrian Vovk
4815f46407 Minor follow-ups to inhibitor bug fixes
Addresses Zbigniew's comments left on the previous MR after merging:
https://github.com/systemd/systemd/pull/40400#pullrequestreview-3849602215
2026-02-25 12:25:08 +01:00
Luca Boccassi
afcea7d235 NEWS: note recently added features 2026-02-24 23:53:45 +00:00
Daan De Meyer
e4f72956b6 network: several follow-ups for new varlink methods (#40808) 2026-02-24 19:59:01 +01:00
Yu Watanabe
20ce80436e udev: hwdb: replace ID_INPUT_JOYSTICK_INTEGRATION (#40761)
Could ask to Bastien Nocera who originally commited the joysticks hwdb
integration
https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1429#note_3338386
and stated that was for use in iio-sensor but later anything was done.

As the variable was never used replace it with the new variable actually
in the process to be use in libinput. Even more at least some of the
idea that was planed for ID_INPUT_JOYSTICK_INTEGRATION could be done in
libinput.

Actually ID_INPUT_JOYSTICK_INTEGRATION was never used anywhere, replace
it with ID_INTEGRATION.

Follow up: a4381cae8b.
2026-02-25 00:13:15 +09:00
Yu Watanabe
b6919c737a network: rename io.systemd.Network.LinkUp()/LinkDown()
Then, this also moves their implementations to networkd-link-varlink.c.
2026-02-24 23:56:20 +09:00
Luca Boccassi
a11f07d78c NEWS: update for recent merges 2026-02-24 12:00:06 +00:00
Adrian Vovk
b965ce61aa NEWS: Add note about logind's Can* return values
We've changed them to return additional values, which may be a breaking
change for desktop environments. In practice, it doesn't seem to be a
major issue. However, let's make sure to document the changes in the
NEWS anyway!
2026-02-23 20:03:08 -05:00
DaanDeMeyer
f29edb227c repart: Use new mkfs.xfs support for populating from directories
xfsprogs 6.17.0 added support for populating xfs filesystems from
directories. As this supports extended attributes unlike our current
hack with protofiles. Let's make use of the new feature in mkfs-util.c

As there's no clean way to do feature detection on the mkfs.xfs binary,
we drop support for the old hack with protofiles that we had before.
2026-02-23 15:04:41 +00:00
David Santamaría Rogado
2516d6598c NEWS: inform about ID_INTEGRATION addition in udev
and ID_INPUT_JOYSTICK_INTEGRATION drop in favor of it.
2026-02-20 18:34:00 +01:00
Yu Watanabe
e819c31c05 NEWS: move and extend entry for PTP device permission
Follow-up for 1e6854e112.
2026-02-20 01:25:25 +09:00
Carolina Jubran
1e6854e112 udev: grant read access to PTP devices for unprivileged users
Change the default udev rule for /dev/ptp* from 0660 to 0664,
allowing unprivileged users read-only access.

NIC telemetry and hardware logs often use device timestamps that must
be correlated with host time via read-only PTP ioctls (e.g.
cross-timestamp queries). Requiring privileged access makes these
workflows unnecessarily restrictive.

Older kernels lacked proper permission checks in some PTP ioctls.
Kernel commit b4e53b15c04e3852949003752f48f7a14ae39e86 ("ptp: Add PHC
file mode checks. Allow RO adjtime() without FMODE_WRITE.") introduces
the necessary file mode validation, ensuring that read access does not
permit clock modification or configuration changes, which still require
write permissions.

This commit has been backported to all actively maintained stable
kernel branches.

Related to #31034
2026-02-19 14:51:12 +01:00
Yu Watanabe
dbc83d6353 NEWS: mention python requirement bump 2026-02-19 22:23:04 +09:00