Commit Graph

86733 Commits

Author SHA1 Message Date
Luca Boccassi
c9130bb3da Update man/rules/meson.build
ninja -C build update-man-rules
2026-02-25 10:00:58 +00:00
Luca Boccassi
1349a863b3 man: drop conditional for systemd-mstack manpage
Follow-up for eb581ff6d9
2026-02-25 10:00:58 +00:00
Luca Boccassi
a736ceaa02 Update hwdb autosuspend
ninja -C build update-hwdb-autosuspend
2026-02-25 09:57:26 +00:00
Luca Boccassi
a8d9ce98fd Update hwdb
ninja -C build update-hwdb
2026-02-25 09:57:26 +00:00
Luca Boccassi
1012c6ce76 userdbd: avoid sending gshadow hash to unprivileged callers via varlink
Reported on yeswehack as YWH-PGM9780-59

Follow-up for d093b62c94
2026-02-25 02:52:37 +01:00
Luca Boccassi
afcea7d235 NEWS: note recently added features 2026-02-24 23:53:45 +00:00
Mike Yuan
3c47dc76be systemctl-start-unit: drop redundant check for enqueue-marked-jobs --wait
Follow-up for c008f88ded

The check at the beginning of the function already covers this.
2026-02-25 05:09:38 +09:00
Luca Boccassi
a851c5118b test: avoid hanging forever waiting for udev if not a booted system
test_sd_device_enumerator_filter_subsystem hangs forever in OBS builds,
as it waits for the udev queue to be drained. But this is not a booted
system, with systemd and udev, so nothing will do that.
Skip the test in that case.
2026-02-25 04:53:20 +09:00
Daan De Meyer
e4f72956b6 network: several follow-ups for new varlink methods (#40808) 2026-02-24 19:59:01 +01:00
Luca Boccassi
882cf2d943 core: check selinux/polkit access on varlink SetProperty
Reported on yeswehack.com as:
YWH-PGM9780-92

Follow-up for 0e1c4de235
2026-02-24 18:54:44 +00:00
Luca Boccassi
c556a2ad15 tree-wide: a small number of small fixlets all over the place (#40797) 2026-02-24 18:53:17 +00:00
Yu Watanabe
ab2bc40dcd bash-completion/systemctl: add enqueue-marked-jobs and deprecate --marked
Follow-up for #40810.
2026-02-24 17:53:53 +00:00
Mike Yuan
21fd534ae8 systemctl: introduce enqueue-marked-jobs verb (#40810) 2026-02-24 18:08:22 +01:00
Yu Watanabe
93e1b0f328 man: coredump: KeepFree/MaxUse clarification of default values (#40796)
On sd-coredump for both `MaxUse` and `KeepFree` defaults has a caveat,
it may set it differently if not explicit configured.
On `MaxUse` it'll cap to 4GiB as seem
[here](d39b103719/src/coredump/coredump-vacuum.c (L82)).
Similar for `KeepFree`
[here](d39b103719/src/coredump/coredump-vacuum.c (L98))

Also show that `MaxUse` takes precedence.

Making this clear at the man page
2026-02-25 01:35:38 +09:00
Antonio Alvarez Feijoo
8ea1ae25ab import/pull-oci: fix several OOM checks
Follow-up for a9f6ba0496
2026-02-24 17:34:09 +01:00
Lennart Poettering
35e4cb2189 update TODO 2026-02-24 17:11:54 +01:00
Lennart Poettering
3601697b2d analyzer: remove spurious empty line 2026-02-24 17:11:54 +01:00
Lennart Poettering
a69dffbf4f sd-varlink: add a bit of debug logging indicating when exit-on-idle triggers 2026-02-24 17:11:54 +01:00
Lennart Poettering
a0276f6e12 sd-varlink: use correct error variable 2026-02-24 17:09:33 +01:00
Lennart Poettering
332ecf40f2 sd-netlink: pin reply slot while we execute callback
The callback might drop the last ref to the slot object, and we still
want to access it. Hence do what we usually do in these cases: keep an
extra reference while processing the callback.
2026-02-24 17:09:33 +01:00
Lennart Poettering
c8aa7b152f network: enable LLDP for links that use only link-local addressing
Links with link-local-only communication are typically peer-to-peer
links between two laptops or similar. In such cases it makes sense to be
able to see which device one is specifically connected to, hence let's
just enable LLDP for it. This doesn't leak any data really, given that
this is inherently local, and typically only used between isolated
systems that are under the same user's possession.

Background: I recently connected multiple laptops via thunderbolt networking
and was kinda annoyed not being able to see what system I was actually
talking to.

(Also, the file touched here is an example only anyway, so even if this
would leak too much info, it's not in effect by default)
2026-02-24 17:09:33 +01:00
Kai Lüke
e48b6fca76 journalctl: order systemd-journalctl.socket after systemd-sysusers
The socket failed on boot due to a ordering problem caused by
systemd-sysusers running later and thus the socket group was still
missing. The socket unit can only start when systemd-sysusers created
the group.
Order the socket after systemd-sysusers.service to have the group
available.
2026-02-25 00:15:11 +09: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
Mike Yuan
81f31dccb8 man/systemctl: deprecate --marked 2026-02-24 16:00:05 +01:00
Mike Yuan
c008f88ded systemctl: introduce enqueue-marked-jobs verb, stop lumping it with distinct verbs 2026-02-24 16:00:05 +01:00
Yu Watanabe
da7374b2ae varlink-idl: allow to pass polkit arguments to io.systemd.service.Reload()
Then, varlink interfaces with unprivileged access can be implement the
method.
2026-02-24 23:59:08 +09:00
Yu Watanabe
27f1bf5cde network: rename dispatch_interface() and make it take flags
No functional change. Just refactoring and preparation for later change.
2026-02-24 23:57: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
Mike Yuan
a8ceed0000 Revert "systemctl: allow --marker with start/stop too"
This reverts commit 351b4dd123.

I'm pretty sure we should not create more of these multiplexer
interfaces, which in this specific also leads to a fair bit of
confusion: start/stop/reload-or-restart --marked all enqueue
all job types.

Instead, a dedicated verb will be introduced in later commits.
2026-02-24 15:48:53 +01:00
Yu Watanabe
c418543a65 include: update kernel headers from v7.0-rc1
In v7.0-rc1, the kernel introduces typelimits.h to define __KERNEL_INT_MIN/_MAX.
Also, NULL_FS_MAGIC has been introduced for immutable rootfs..
2026-02-24 23:08:52 +09:00
Yu Watanabe
fb0078ae69 test: test io.systemd.JournalAccess
Follow-up for a109189fab.
2026-02-24 12:59:38 +00:00
Yu Watanabe
3cfb169988 errno-list: filter out EFSBADCRC and EFSCORRUPTED
These are introduced in kernel v7.0.
2026-02-24 12:58:09 +00:00
Luca Boccassi
a11f07d78c NEWS: update for recent merges 2026-02-24 12:00:06 +00:00
Alessandro Astone
d0ad8f1175 udev: Trigger uaccess builtin on xaccess-* prefix
Fixup xaccess trigger after the rework.
There's no single `xaccess` tag anymore; instead we match on a prefix.
2026-02-24 11:54:15 +00:00
Luca Boccassi
d70a73c05b resolved: Add ifindex=0 support for BrowseServices to browse all mDNS interfaces (#40133)
With v259, resolved can be used to replace Avahi for mDNS service
discovery and announcement. One key difference in the API is that Avahi
by default browses on all available interfaces by passing a special
`AVAHI_IF_UNSPEC` (-1) interface index value. With this change, passing
ifindex value `0` can be used to achieve the same , so this will work:
```
# Browse on all available interfaces
varlinkctl call --more unix:/run/systemd/resolve/io.systemd.Resolve \
    io.systemd.Resolve.BrowseServices \
    '{"domain":"local","type":"_display._tcp","ifindex":0,"flags":0}'
```
Not having to iterate through all interfaces on the client side then
also makes it more straight forward to build a resolve-avahi-compat
library for painlessly replacing Avahi with systemd-resolved.

A PoC compat lib requiring this change is available at
https://github.com/LorbusChris/resolve-avahi-compat
2026-02-24 11:53:47 +00:00
Luca Boccassi
92ca07e93c Some bug fixes for logind inhibitors (#40400)
See individual commits

Related:
- https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4040
- https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/170
-
https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/3309
2026-02-24 11:50:01 +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
Adrian Vovk
482aa607a5 login1: Emit NCurrentInhibitors changed events
Currently, there's no way for a desktop environment to detect when a
systemd inhibitor has been added or removed. This means that a desktop
environment that wishes to show current inhibitors to the user will be
either forced to poll systemd or just use stale data.

Now, the desktop can listen for changed events on NCurrentInhibitors and
call GetInhibitors() in response to that.
2026-02-23 20:03:07 -05:00
Adrian Vovk
46075fc92b login1: Add "inhibited" state to Can* methods
Desktops cannot currently tell the difference between a power action
being set to challenge permanently (i.e. because the sysadmin wanted to
restrict the given user) and a power action being set to challenge
because it's temporarily inhibited.

Thus, a desktop might take an action that is valid in the first case but
not the second case. For instance: GNOME hides all of its automatic
suspend settings from the UI whenever a sleep inhibitor is active.

This now returns a new state: "inhibited". It communicates to the
desktop that the action is available normally, but at the moment the
desktop isn't allowed to perform the action due to an inhibitor.

Related: https://github.com/systemd/systemd/issues/37311
2026-02-23 20:03:06 -05:00
Zbigniew Jędrzejewski-Szmek
04d2a86e66 manager: add needs-stop/needs-start (#40709)
Intend to use these in the deb packaging scriptlets

Fixes: #19755
2026-02-24 00:36:06 +01:00
Luca Boccassi
f895dae683 mkosi: update debian commit reference to 89a825b80ee85e58b530cd95438988a6fb3531a3
* 89a825b80e Install new files for upstream build
* 38b1a75eaa systemd.postinst: update journal catalog after reexecing managers
* 9420ffa0dd Install new files for upstream build
* cb5fdf4df0 Install sd-report from new path
* 2501efe312 homed: drop dependency satisfied since bookworm/noble
* 424262b674 d/control: add TODO
* 9aaa01c99d d/libsystemd-shared.preinst: refuse to upgrade without unified cgroupv2 hierarchy
* 7d0ac8a4b8 Install new files for upstream build
* 7e55d41841 Do not install legacy.conf in upstream builds
* 190387958e d/e/checkout-upstream: try to install build deps with sudo in case it fails
* 2a4aa9f426 Disable installing runlevel targets for upstream build
* e02600f2d9 Install new files for upstream build
* 0f1a56cf10 Update changelog for 259.1-1 release
* e463300b1a d/e/checkout-upstream: try to install build deps again after switching to CI branch
* b3f72821e5 Install ask-password polkit policy file
* 8219d561ae Restrict the tpm2-generator manpage to arches where it is built
* 30a0f27283 systemd.postinst: reexec system manager before user instances
* 1fc9ea2790 systemd.postinst: reexec before restarting any service
* d9991aeb22 d/control: use libarchive13t64 | libarchive13 for bookworm/jammy
* b750346711 d/control: make systemd-container Depends: libarchive13t64

Fixes https://github.com/systemd/systemd/issues/40777
2026-02-23 23:14:37 +00:00
Luca Boccassi
61b31f7999 sd-device,udev: several fixlets and cleanups for managing tags (#40786) 2026-02-23 21:53:28 +00:00
Lennart Poettering
ab83c7489d sysupdated: Split Update() into Acquire() and Install() D-Bus methods (#40628)
These mirror the `sysupdate acquire` and `sysupdate install` verbs,
which are themselves a split of `sysupdate update` into downloading and
installing stages.

I have dropped the existing `Update()` method in the final commit, as
per the suggestion on
https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/2004#note_2145880.
If the D-Bus API for `sysupdated` is considered stable now, though, I
can drop that commit.

CC @AdrianVovk

Fixes https://github.com/systemd/systemd/issues/34814
2026-02-23 22:08:37 +01:00
Daan De Meyer
868fdc5520 Several follow-ups for JournalAccess varlink interface (#40794) 2026-02-23 20:17:31 +01:00
André Paiusco
cbd7b9033b man: coredump: MaxUse takes precedence 2026-02-23 16:43:09 +00:00
Philip Withnall
8b5374d6c2 sysupdated: Drop the Update() D-Bus method
Now that it’s been replaced by `Acquire()` and `Install()`, there’s no
need to expose it as a separate method. Wrappers around `sysupdated` can
still expose an ‘update’ convenience verb by calling those two methods.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814
2026-02-23 16:35:19 +00:00
Philip Withnall
7537717aed test: Expand sysupdate test to test updatectl update
This further expands the sysupdate test to run the suite a fourth time,
testing that `updatectl update` behaves the same as `sysupdate update`
and `sysupdate acquire; sysupdate update --offline`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2026-02-23 16:35:15 +00:00
Philip Withnall
b0ca987cd9 updatectl: Expose partial/pending updates in the updatectl list output
And expand the tests to catch if any more JSON fields are added to the
sysupdated output in future without being added to `updatectl`’s parser.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814
2026-02-23 16:35:10 +00:00
Philip Withnall
a5ff474a2b updatectl: Use sysupdated’s Acquire() and Install() methods
Rather than calling `Update()`. This should allow us to eventually drop
`Update()`.

This should just be an internal change, and should not result in any
user-visible changes to the behaviour of `updatectl update`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814
2026-02-23 16:35:05 +00:00
Philip Withnall
f0b2ea63f4 sysupdated: Add Acquire() and Install() D-Bus methods
These mirror the `sysupdate acquire` and `sysupdate update --offline`
verbs, which are themselves a split of `sysupdate update` into
downloading and installing stages.

The existing `sysupdated` `Update()` method is kept for now, for
convenience. It might be dropped in future.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814
2026-02-23 16:35:01 +00:00