]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
13 hours agocore: serialize metrics varlink server as well 40687/head
Mike Yuan [Fri, 13 Feb 2026 19:22:13 +0000 (20:22 +0100)] 
core: serialize metrics varlink server as well

13 hours agocore/manager-serialize: discern daemon-reload/reexec via objective
Mike Yuan [Fri, 13 Feb 2026 19:36:39 +0000 (20:36 +0100)] 
core/manager-serialize: discern daemon-reload/reexec via objective

13 hours agovarlink-serialize: deserialize to correct event priority
Mike Yuan [Sun, 15 Feb 2026 02:21:01 +0000 (03:21 +0100)] 
varlink-serialize: deserialize to correct event priority

13 hours agocore/varlink: several cleanups for metrics varlink server
Mike Yuan [Fri, 13 Feb 2026 16:37:10 +0000 (17:37 +0100)] 
core/varlink: several cleanups for metrics varlink server

Follow-up for bb1ef2edf7d62de35291702635067ee85f09bad5

The commit introduced a new "metrics" varlink server, but for
user scope stuff it is not bound anywhere. The copy-pasted
"fresh" handling for deserialization is also essentially
meaningless as metrics_setup_varlink_server() doesn't even report
whether the varlink server is fresh (let alone that no serialization
is being done at all right now). Moreover, currently the event
priority is hardcoded, while event loop and associated priority
assignment ought to be subject to each daemon.

While fixing the mentioned issues I took the chance to restructure
the existing code a bit for readability. Note that serialization
for the metrics server is still missing - it will be tackled
in subsequent commits.

13 hours agoshared/metrics: add two more assertions
Yu Watanabe [Mon, 16 Feb 2026 06:26:21 +0000 (15:26 +0900)] 
shared/metrics: add two more assertions

13 hours agoshared/metrics: name the sd_varlink_server in our usual fashion
Mike Yuan [Fri, 13 Feb 2026 16:31:33 +0000 (17:31 +0100)] 
shared/metrics: name the sd_varlink_server in our usual fashion

This is used for internal reference, in debug logging and such,
hence let's do nothing fancy but instead make it identifiable.

13 hours agocore/varlink-metrics: suffix metrics methods with _metrics
Mike Yuan [Fri, 13 Feb 2026 17:14:34 +0000 (18:14 +0100)] 
core/varlink-metrics: suffix metrics methods with _metrics

This is not even the prominent "Describe" method in pid1,
as typically one would be looking for _describe_manager().

13 hours agocore/varlink-metrics: include core-forward.h
Mike Yuan [Fri, 13 Feb 2026 16:48:15 +0000 (17:48 +0100)] 
core/varlink-metrics: include core-forward.h

13 hours agocore/varlink-cgroup: add BindNetworkInterface to varlink CGContext
Mike Yuan [Sun, 15 Feb 2026 01:05:07 +0000 (02:05 +0100)] 
core/varlink-cgroup: add BindNetworkInterface to varlink CGContext

Follow-up for c1c787651b34c0a0f1082b9d32cf47ea3abe0af2

13 hours agosd-varlink: fail if a method call wasn't replied to and the callback didn't store it
Mike Yuan [Thu, 12 Feb 2026 00:09:49 +0000 (01:09 +0100)] 
sd-varlink: fail if a method call wasn't replied to and the callback didn't store it

13 hours agosd-varlink: take output queue into account in sd_varlink_flush()
Mike Yuan [Thu, 12 Feb 2026 00:11:30 +0000 (01:11 +0100)] 
sd-varlink: take output queue into account in sd_varlink_flush()

13 hours agosd-varlink: _reset_fds() should reset fds for the reply being constructed
Mike Yuan [Wed, 11 Feb 2026 17:02:04 +0000 (18:02 +0100)] 
sd-varlink: _reset_fds() should reset fds for the reply being constructed

... (aka pushed_fds), not what's already enqueued to be sent out.

13 hours agosd-varlink: use free_and_replace at one more place
Mike Yuan [Wed, 11 Feb 2026 15:29:37 +0000 (16:29 +0100)] 
sd-varlink: use free_and_replace at one more place

13 hours agosd-varlink: replace manual move_fd() with FORK_PACK_FDS + FORK_CLOEXEC_OFF
Mike Yuan [Sun, 15 Feb 2026 02:45:26 +0000 (03:45 +0100)] 
sd-varlink: replace manual move_fd() with FORK_PACK_FDS + FORK_CLOEXEC_OFF

Note that this actually matters: we might otherwise clobber
the logging fds reopened when rearranging fd '3'.

While at it, avoid logging from library functions.

13 hours agosd-varlink: also validate peer ucred for SD_VARLINK_SERVER_MYSELF_ONLY
Mike Yuan [Sun, 15 Feb 2026 04:24:56 +0000 (05:24 +0100)] 
sd-varlink: also validate peer ucred for SD_VARLINK_SERVER_MYSELF_ONLY

13 hours agosd-varlink: log about client uid that hit connection limit
Mike Yuan [Sun, 15 Feb 2026 04:36:56 +0000 (05:36 +0100)] 
sd-varlink: log about client uid that hit connection limit

13 hours agosd-varlink: shorten the code a bit
Mike Yuan [Sun, 15 Feb 2026 04:56:50 +0000 (05:56 +0100)] 
sd-varlink: shorten the code a bit

13 hours agorepart: io.systemd.Repart.ListCandidateDevices requires 'more'
Mike Yuan [Sun, 15 Feb 2026 02:08:12 +0000 (03:08 +0100)] 
repart: io.systemd.Repart.ListCandidateDevices requires 'more'

13 hours agoresolve: io.systemd.Resolve.BrowseServices requires 'more'
Mike Yuan [Sun, 15 Feb 2026 02:04:28 +0000 (03:04 +0100)] 
resolve: io.systemd.Resolve.BrowseServices requires 'more'

13 hours agomute-console: io.systemd.MuteConsole requires 'more'
Mike Yuan [Sun, 8 Feb 2026 20:57:01 +0000 (21:57 +0100)] 
mute-console: io.systemd.MuteConsole requires 'more'

13 hours agotree-wide: drop redundant check for SD_VARLINK_METHOD_MORE flag
Mike Yuan [Sun, 8 Feb 2026 20:47:38 +0000 (21:47 +0100)] 
tree-wide: drop redundant check for SD_VARLINK_METHOD_MORE flag

If the IDL declares the method requires 'more' yet the call doesn't
have it set, varlink_idl_validate_method_call() should have rejected
it and the callback shouldn't be reached.

13 hours agovarlink-io.systemd.Network: minor coding style cleanups
Mike Yuan [Wed, 4 Feb 2026 18:51:28 +0000 (19:51 +0100)] 
varlink-io.systemd.Network: minor coding style cleanups

Follow-up for cf27c70d70f5912078f68b66869d16198aaa36a5

13 hours agosd-json: unify JSON_BUILD_PAIR_IN?_ADDR_*
Mike Yuan [Sun, 15 Feb 2026 01:06:19 +0000 (02:06 +0100)] 
sd-json: unify JSON_BUILD_PAIR_IN?_ADDR_*

This also swaps family and address params for
plain JSON_BUILD(_PAIR)_IN_ADDR, aligning with
_WITH_STRING flavors.

13 hours agojson-util: sort includes
Mike Yuan [Sun, 8 Feb 2026 16:12:21 +0000 (17:12 +0100)] 
json-util: sort includes

13 hours agosd-json: use FOREACH_ARRAY more
Mike Yuan [Sun, 15 Feb 2026 00:45:50 +0000 (01:45 +0100)] 
sd-json: use FOREACH_ARRAY more

13 hours agoshared: conditionalize build of apparmor-util.c in meson
Mike Yuan [Mon, 16 Feb 2026 01:50:29 +0000 (02:50 +0100)] 
shared: conditionalize build of apparmor-util.c in meson

13 hours agoprocess-util: drop unused TAKE_PID
Mike Yuan [Sat, 14 Feb 2026 23:25:42 +0000 (00:25 +0100)] 
process-util: drop unused TAKE_PID

Follow-up for fbd276cb86a2f0292cc19fd57ee3d72bf73592dc

We now track helper processes via PidRef throughout the codebase.

13 hours agoprocess-util: group oom_score_adjust_is_valid() with getter/setter
Mike Yuan [Sat, 14 Feb 2026 23:21:34 +0000 (00:21 +0100)] 
process-util: group oom_score_adjust_is_valid() with getter/setter

13 hours agolog-context: drop redundant forward decl
Mike Yuan [Sat, 14 Feb 2026 23:39:05 +0000 (00:39 +0100)] 
log-context: drop redundant forward decl

We consolidated all these into forward.h.

13 hours agobacklight: update comment to match the new clamp value
Mike Yuan [Mon, 16 Feb 2026 05:18:09 +0000 (06:18 +0100)] 
backlight: update comment to match the new clamp value

Follow-up for 4ed1e2ea17e0f29a23d7a3dd65af192def9b3214

13 hours agomkosi: Install musl in tools trees on Fedora/Arch
Daan De Meyer [Sat, 14 Feb 2026 22:30:34 +0000 (23:30 +0100)] 
mkosi: Install musl in tools trees on Fedora/Arch

For debugging purposes.

14 hours agoupdate TODO
Lennart Poettering [Mon, 16 Feb 2026 08:06:03 +0000 (09:06 +0100)] 
update TODO

17 hours agoCODING_STYLE: fix typo
Yu Watanabe [Mon, 16 Feb 2026 05:35:19 +0000 (14:35 +0900)] 
CODING_STYLE: fix typo

Follow-up for 83b4a5bb3d6a0f565aebcba975efad8dac73abea.

17 hours agoman: fix typo
Yu Watanabe [Mon, 16 Feb 2026 05:34:02 +0000 (14:34 +0900)] 
man: fix typo

Follow-up for 91b3620b07f29342261a3cbdaaaa3f83f21895e1.

17 hours agosd-varlink: fix typo
Yu Watanabe [Mon, 16 Feb 2026 05:32:12 +0000 (14:32 +0900)] 
sd-varlink: fix typo

Follow-up for c0696f1f5d3a2be1c8e4c8b45ca7e8a6df7998fa.

17 hours agonetwork: fix typo
Yu Watanabe [Mon, 16 Feb 2026 05:30:36 +0000 (14:30 +0900)] 
network: fix typo

Follow-up for f8a4c3d375b83f3ee249ca3f4b7f407b618a9491.

17 hours agoNEWS: fix typo
Yu Watanabe [Mon, 16 Feb 2026 05:28:44 +0000 (14:28 +0900)] 
NEWS: fix typo

Follow-up for 4ed1e2ea17e0f29a23d7a3dd65af192def9b3214.

17 hours agonetwork: implement varlink LinkUp and LinkDown methods
gvenugo3 [Thu, 20 Nov 2025 03:35:03 +0000 (20:35 -0700)] 
network: implement varlink LinkUp and LinkDown methods

The new varlink methods are basically equivalent to 'ip link set INTERFACE up/down',
but they support polkit authentication. Also, on LinkDown, it gracefully
stops dynamic engines like DHCP client/server before the interface is
bring down. Hence, e.g. an empty RA on stop should be sent.

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
17 hours agonetwork: use voffsetof() at more places
Yu Watanabe [Mon, 16 Feb 2026 02:20:20 +0000 (11:20 +0900)] 
network: use voffsetof() at more places

18 hours agoudev: guess if usb devices are internal external (#40649)
Yu Watanabe [Mon, 16 Feb 2026 04:25:35 +0000 (13:25 +0900)] 
udev: guess if usb devices are internal external (#40649)

Actually we are defining databases to determine when a usb device is
inherent part of the system or if it's a external device.

Let's use the removable attribute of the port where it is connected to
say that. That gives us the ability to not rely on a particular vendor
only does external devices or to not having the need to be quirking
input subsystem for that purpose that will become unreliable as more and
more internal devices are connected over usb instead over ps2 or i2c
buses. Eg.
https://gitlab.freedesktop.org/libinput/libinput/-/commit/02b495e79022e64514015e1a3dea32997035dd4f?merge_request_iid=1389

Actually this has been seen as reliable in a small set of device from
normal laptops, to detachable ones. The need to check maxchild is 0 is
for detachable devices, pogo pin usbs are fixed, while we attach the
keyboard|touchpad dock the input devices tend to be directly connected
to that port and if the dock has more usbs tend to be a hub that then
exposes removable as unknow. If we don't set maxchild 0 we will not only
guess that the keyboard and touchpad are internal but also incorrectly
other input devices like mice connected to the dock's usb ports.

I have use a very generic name like INTEGRATION because is not actually
used for any other thing and is used to determine not only over usb bus
but for acpi, pci, platform actually.

Also a remap to actual libinput variables is done for compatibility
purposes. if it's possible to have only the INTEGRATION variable instead
multiple ones will be done in the future but is actually unclear.

This can also be used for example to achieve an actual feature that we
lack in linux, when a device with accelerometers and cameras is rotated
the video output is not, this tag the own device cameras as internal
while external ones as external to be able to only do that for the
internal ones.

Note that this has nothing to do with the removable attribute found in
usb storage devices where it's values can be 0 or 1. There is no
conflict at all because the removable attribute we check is specifically
the one found in usb port ones.

18 hours agonetwork: add ModemManager support
Oleksandr Andrushchenko [Wed, 3 Sep 2025 07:20:24 +0000 (10:20 +0300)] 
network: add ModemManager support

[Match]
Name=wwan*

[Network]
LLDP=no
LinkLocalAddressing=no
IPv6AcceptRA=no

[ModemManager]
SimpleConnectPropertie]s=apn=internet ip-type=ipv4 allow-roaming=no pin=1111 operator-id=25503
RouteMetric=200
UseGateway=yes

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
18 hours agobacklight: reduce clamp to 1%
David Santamaría Rogado [Mon, 29 Dec 2025 16:29:37 +0000 (17:29 +0100)] 
backlight: reduce clamp to 1%

Actually GNOME sets a clamp of 1% and divides in 20 steps the brightness
control. Using 5% clamp makes things like in a device with max value 640
to always be in the first brightness step in GNOME and we can't leave in
the minimum.

GNOME set steps of 640/20 = 32 with the zero step 640 * 1% = 6. When we
restart the device with the lowest bright systemd sees 6 but sets
640 * 5% = 32, so we get the brightness in the first step.

Tests in IPS and OLED panels have been done and 1% still seems a
comprensive minimun usable value so use that to allow all environments
to be able to set lower brightness values that won't be raised by
systemd at boot.

If your user enviroment allow to set excesive lower unusable values you
should blame it or yourself if you directle changes it through sysfs but
not systemd.

19 hours agoudev: rules: guess devices if internal or external 40649/head
David Santamaría Rogado [Wed, 11 Feb 2026 18:28:02 +0000 (19:28 +0100)] 
udev: rules: guess devices if internal or external

Set ID_INTEGRATION variable to hint if a device is internal (inherent
part of the system) or external otherwise.

19 hours agohwdb: don't error on empty hwdb file
David Santamaría Rogado [Sat, 14 Feb 2026 22:03:45 +0000 (23:03 +0100)] 
hwdb: don't error on empty hwdb file

22 hours agoboot: fix buffer alignment when doing block I/O (#40465)
Yu Watanabe [Mon, 16 Feb 2026 00:10:01 +0000 (09:10 +0900)] 
boot: fix buffer alignment when doing block I/O (#40465)

UEFI Block I/O Protocol has `Media->IoAlign` field dictating the minimum
alignment for I/O buffer. It's quite surprising this has been lingering
here unnoticed for years, seems like most UEFI implementations have
small or no alignment requirements. U-Boot is not the case here, and
requires at least 512 byte alignment, hence attempt to read GPT
partition table fail and in effect systemd-boot can not find XBOOTLDR
partition.

These patches allow to boot from XBOOTLDR partition on U-Boot - tested
with latest systemd revision and U-Boot master
(`8de6e8f8a076d2c9b6d38d8563db135c167077ec`) on x64 and ARM32, of which
both are failing without the patch.

Also fixes Bitlocker probing logic, which is the only other place where
raw block I/O is used, however this is untested.

23 hours agolocale-util: allow overriding locale directory via environment
andre4ik3 [Wed, 11 Feb 2026 07:04:00 +0000 (07:04 +0000)] 
locale-util: allow overriding locale directory via environment

29 hours agooomd: Prevent corruption of cgroup paths in Killed signal
Chris Down [Sat, 14 Feb 2026 16:05:12 +0000 (00:05 +0800)] 
oomd: Prevent corruption of cgroup paths in Killed signal

While looking at oomd behaviour in production I noticed that I always
get garbage cgroup paths for the Killed event. Looking more closely, I
noticed that while the signature is (string cgroup, string reason), we
currently erroneously pass the `OomdCGroupContext*` pointer itself as
the first argument to sd_bus_emit_signal(), rather than the ctx->path
string it contains.

The in-memory layout on affected machines in my case is:

    struct OomdCGroupContext {
        unsigned n_ref;
        /* padding */
        char *path;
        /* ... */
    }

...which explains the control characters, since they're garbage from
parsing n_ref, the path pointer, and later fields. At runtime, sd-bus
treats ctx as `const char *` and reads struct bytes as string data,
resulting in garbage being sent.

Pass ctx->path correctly so listeners receive the valid cgroup path.

31 hours agoboot: respect minimal I/O alignment when doing block i/o 40465/head
Artur Kowalski [Thu, 29 Jan 2026 19:55:42 +0000 (20:55 +0100)] 
boot: respect minimal I/O alignment when doing block i/o

Fixes XBOOTLDR partition detection and bitlocker support when using
U-Boot as UEFI.

31 hours agoboot: introduce xmalloc_aligned_pages
Artur Kowalski [Thu, 29 Jan 2026 17:42:24 +0000 (18:42 +0100)] 
boot: introduce xmalloc_aligned_pages

To be used for block I/O which may require specific buffer alignment.

33 hours agomkosi: Remove some packages from the image
Daan De Meyer [Sat, 14 Feb 2026 22:05:52 +0000 (23:05 +0100)] 
mkosi: Remove some packages from the image

Let's slim down the image size a bit. None of the removed packages
should be required.

2 days agostring-util: Prevent infinite loop pegging CPU on malformed ESC input
Chris Down [Sat, 14 Feb 2026 16:40:14 +0000 (00:40 +0800)] 
string-util: Prevent infinite loop pegging CPU on malformed ESC input

string_has_ansi_sequence() currently does this to look for ESC input:

    t = memchr(s, 0x1B, ...)

So each iteration re-searches from the original start pointer. But if we
find an ESC byte that does *not* start a valid ANSI sequence (like "\x1B
", or an ESC at the end of the string), then ansi_sequence_length()
returns 0, and if that ESC is still in the search window, we will just
spin consuming 100% CPU forever.

Fix this by always advancing past rejected ESC bytes.

2 days agomkosi: update mkosi ref to 4b18ea8395e9cc2b1d247be93944f5539affe964 (#40681)
Daan De Meyer [Sat, 14 Feb 2026 17:31:26 +0000 (18:31 +0100)] 
mkosi: update mkosi ref to 4b18ea8395e9cc2b1d247be93944f5539affe964 (#40681)

4b18ea8395 sandbox: Make sure eventfd is CLOEXEC
23ea86d0cf Revert "Bump minimum python version to 3.10"
81fd30ec77 Revert "sandbox: Use os.eventfd()"
717020c97b Revert "Use python3.12 as interpreter in CentOS Stream 9
zipapp"
e1d0e45e3b Rework sandbox globbing and exist checks

2 days agomkosi: update mkosi ref to 4b18ea8395e9cc2b1d247be93944f5539affe964 40681/head
Daan De Meyer [Sat, 14 Feb 2026 15:04:57 +0000 (16:04 +0100)] 
mkosi: update mkosi ref to 4b18ea8395e9cc2b1d247be93944f5539affe964

4b18ea8395 sandbox: Make sure eventfd is CLOEXEC
23ea86d0cf Revert "Bump minimum python version to 3.10"
81fd30ec77 Revert "sandbox: Use os.eventfd()"
717020c97b Revert "Use python3.12 as interpreter in CentOS Stream 9 zipapp"
e1d0e45e3b Rework sandbox globbing and exist checks

2 days agotools: Fix changelog generation (again)
Daan De Meyer [Sat, 14 Feb 2026 15:04:08 +0000 (16:04 +0100)] 
tools: Fix changelog generation (again)

Using --first-parent --no-merges seems to exclude not just the merge
commits but all the commits from the merge as well. Let's use only
--no-merges to get just the commits without merges.

2 days agomkosi: Update to latest and two speed improvements (#40678)
Yu Watanabe [Sat, 14 Feb 2026 14:08:00 +0000 (23:08 +0900)] 
mkosi: Update to latest and two speed improvements (#40678)

2 days agopo: Translated using Weblate (Kazakh)
Baurzhan Muftakhidinov [Sat, 14 Feb 2026 06:27:29 +0000 (06:27 +0000)] 
po: Translated using Weblate (Kazakh)

Currently translated at 100.0% (264 of 264 strings)

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

2 days agoTwo micro fixes for sd-json (#40676)
Zbigniew Jędrzejewski-Szmek [Sat, 14 Feb 2026 10:54:17 +0000 (11:54 +0100)] 
Two micro fixes for sd-json (#40676)

2 days agomkosi: Mark minimal images as Incremental=relaxed 40678/head
Daan De Meyer [Fri, 13 Feb 2026 21:21:35 +0000 (22:21 +0100)] 
mkosi: Mark minimal images as Incremental=relaxed

Building these over and over again is extremely wasteful. Let's just
build them once and not touch them again unless -ff is specified or
their cache is out-of-date, which is exactly what Incremental=relaxed
does.

This means mkosi.extra/ and such changes won't be picked up for these
anymore unless -ff is used, but that slight annoyance is totally
outweighed by the time saved building the images.

2 days agomkosi: Use mkosi.initrd.conf
Daan De Meyer [Fri, 13 Feb 2026 21:19:28 +0000 (22:19 +0100)] 
mkosi: Use mkosi.initrd.conf

A more straightforward way to extend the default initrd rather than
using a subimage. This mainly allows us to take advantage of mkosi
automatically figuring out whether the initrd needs to be built or not,
speeding up builds when building directory images as the initrd can be
skipped in that case.

2 days agomkosi: update mkosi ref to d6ddc66acb05d3d761d3f600c6b029319db9ae95
Daan De Meyer [Sat, 14 Feb 2026 09:36:09 +0000 (10:36 +0100)] 
mkosi: update mkosi ref to d6ddc66acb05d3d761d3f600c6b029319db9ae95

d6ddc66acb Use python3.12 as interpreter in CentOS Stream 9 zipapp
89d876c86f tests: fix running pytest on undetected distro
61a47eeb1c centos: Fix EPEL repositories for RHEL 10
e5aa19e2bc oci: allow user defined labels and annotations
1680fc5789 man: be more precise that the tools tree distribution is decided by the host distribution
7025b8e67d Support resizing output image

3 days agotest: do not fail when parsing PID that isn't thread-group leader (#40677)
Luca Boccassi [Fri, 13 Feb 2026 21:37:56 +0000 (21:37 +0000)] 
test: do not fail when parsing PID that isn't thread-group leader (#40677)

```
TEST-02-UNITTESTS.sh[4382]: [  707.393188] test-cgroup-util[426]: Failed to open pidfd for pid 414: Invalid argument
TEST-02-UNITTESTS.sh[4382]: [  707.393193] test-cgroup-util[426]: src/test/test-cgroup-util.c:249: Assertion failed: Expected "r = proc_dir_read_pidref(d, &pid)" to succeed, but got error: -22/EINVAL
```

The kernel can return EINVAL on pidfd_open() when the selected PID is
not a thread group leader. Don't fail the test, as we are iterating on
everything, so this can seldomly happen.

3 days agoAllow non-system users/groups in networkd and udevd again (#40612)
Yu Watanabe [Fri, 13 Feb 2026 20:41:01 +0000 (05:41 +0900)] 
Allow non-system users/groups in networkd and udevd again (#40612)

3 days agoFixes for option parsing (#40641)
Yu Watanabe [Fri, 13 Feb 2026 19:58:50 +0000 (04:58 +0900)] 
Fixes for option parsing (#40641)

Preparatory work split out of #40624.

3 days agosd-json: also skip assert_cc in VS Code parser 40676/head
Luca Boccassi [Fri, 13 Feb 2026 19:34:09 +0000 (19:34 +0000)] 
sd-json: also skip assert_cc in VS Code parser

For some reason the VS Code parser thinks sd_json_variant is still 48 bytes,
so skip the assert when running in that parser too

Follow-up for 337712e777bff389f53e26d5b378d2ceba7d98a8

3 days agosd-json: update comment regarding struct size
Luca Boccassi [Fri, 13 Feb 2026 19:32:37 +0000 (19:32 +0000)] 
sd-json: update comment regarding struct size

The assert at the bottom was updated when the size changed, but
the comment wasn't:

assert_cc(sizeof(sd_json_variant) == 40U);

Follow-up for 337712e777bff389f53e26d5b378d2ceba7d98a8

3 days agovarlinkctl: add pluggable protocol support to sd-varlink
Michael Vogt [Wed, 11 Feb 2026 15:01:18 +0000 (16:01 +0100)] 
varlinkctl: add pluggable protocol support to sd-varlink

When sd_varlink_connect_url() gets an unknown URL we now
check if there is a `$LIBEXECDIR/varlink-bridges/$scheme`
binary and execute it (with the url as the first arguments).

This makes varlink more flexible as it provides a way to
dynamically add "bridges" in LIBEXECDIR/varlink-bridges/. This is
conceptually similar to the libvarlink `varlink --bridge` command
and allows to e.g. call varlink over http{,s} via e.g. the new
varlink-http-bridge.

With a running varlink-http-bridge [0] one can do:
```console
$ varlinkctl call http://localhost:8080/ws/sockets/io.systemd.Hostname \
    io.systemd.Hostname.Describe {}
{
        "Hostname" : "top",
...
```

Closes: https://github.com/systemd/systemd/issues/40640
[0] https://github.com/mvo5/varlink-http-bridge/pull/1

3 days agodissect: Various cleanups and fixes
Daan De Meyer [Fri, 13 Feb 2026 13:13:28 +0000 (14:13 +0100)] 
dissect: Various cleanups and fixes

- Only call have_effective_cap() if needed
- Fix comments and logging

Follow up for #40212

3 days agokmod-setup: fix loading virtio modules, and load other vsock transport modules (...
Zbigniew Jędrzejewski-Szmek [Fri, 13 Feb 2026 15:56:59 +0000 (16:56 +0100)] 
kmod-setup: fix loading virtio modules, and load other vsock transport modules (#40557)

Fixes #40161.
Fixes #40503.

3 days agoudevadm: do not explicitly set white color
Yu Watanabe [Fri, 13 Feb 2026 05:31:54 +0000 (14:31 +0900)] 
udevadm: do not explicitly set white color

Otherwise, output on black-on-white terminals is not visible.

Follow-up for 13005c8f2c7f0169728fef804f164c3574b8e0f7.
Fixes #40629.

3 days agoAssorted minor follow-ups (#40673)
Mike Yuan [Fri, 13 Feb 2026 15:30:57 +0000 (16:30 +0100)] 
Assorted minor follow-ups (#40673)

3 days agocore/service: correct desc for first-level credential refreshing process 40673/head
Mike Yuan [Fri, 13 Feb 2026 10:14:51 +0000 (11:14 +0100)] 
core/service: correct desc for first-level credential refreshing process

It doesn't join the unit namespace. It would fork again to do so
if needed.

3 days agocore/service: fix typo
Mike Yuan [Fri, 13 Feb 2026 10:16:47 +0000 (11:16 +0100)] 
core/service: fix typo

Addresses https://github.com/systemd/systemd/pull/40093#discussion_r2803104490

3 days agologin/meson.build: pkgsysconfdir cannot be 'no'
Mike Yuan [Fri, 6 Feb 2026 16:13:38 +0000 (17:13 +0100)] 
login/meson.build: pkgsysconfdir cannot be 'no'

Whether to install example configs to sysconfdir should be
(solely) controlled via install_sysconfdir_samples, as done
everywhere else.

3 days agobasic/meson.build: realign table header
Mike Yuan [Fri, 6 Feb 2026 22:34:20 +0000 (23:34 +0100)] 
basic/meson.build: realign table header

3 days agotest-capability-util: Migrate to new test framework and macros
Daan De Meyer [Fri, 13 Feb 2026 12:04:58 +0000 (13:04 +0100)] 
test-capability-util: Migrate to new test framework and macros

3 days agoresolve: refuse traffic from the local host only for queries
Carlos Peón Costa [Wed, 11 Feb 2026 08:19:26 +0000 (09:19 +0100)] 
resolve: refuse traffic from the local host only for queries

3 days agoportable: /run/systemd/portables => /run/portables
Daan De Meyer [Fri, 13 Feb 2026 09:24:11 +0000 (10:24 +0100)] 
portable: /run/systemd/portables => /run/portables

3 days agossh-proxy: Fix runtime directory
Daan De Meyer [Fri, 13 Feb 2026 08:20:48 +0000 (09:20 +0100)] 
ssh-proxy: Fix runtime directory

3 days agoFollow-ups for the metrics/report tool (#40642)
Daan De Meyer [Fri, 13 Feb 2026 10:37:34 +0000 (11:37 +0100)] 
Follow-ups for the metrics/report tool (#40642)

/cc @YapingLi04

3 days agoman: make it clear that homectl -A/T/N do not take an argument 40641/head
Zbigniew Jędrzejewski-Szmek [Wed, 17 Dec 2025 14:19:29 +0000 (15:19 +0100)] 
man: make it clear that homectl -A/T/N do not take an argument

Just like in the --help strings, we need to avoid confusion between
short options which take an argument and those that don't.

3 days agohomectl: drop --and-resize and --and-change-password
Zbigniew Jędrzejewski-Szmek [Wed, 17 Dec 2025 14:11:07 +0000 (15:11 +0100)] 
homectl: drop --and-resize and --and-change-password

The two options are were not documented or ever used in the codebase.
Additionally, the parser expected an argumentless option, while the option
table declared a required argument. So I think this was added for debugging
and never excercised properly. Since there was no public documentation for
those, it's as if they never existed, so it should be fine to drop them.

3 days agoresolvectl: split out helper to parse stdin
Zbigniew Jędrzejewski-Szmek [Tue, 9 Dec 2025 10:30:17 +0000 (11:30 +0100)] 
resolvectl: split out helper to parse stdin

No functional change, just splitting up of a lengthy function.

3 days agonspawn: split out helper to parse --private-users
Zbigniew Jędrzejewski-Szmek [Wed, 3 Dec 2025 22:18:13 +0000 (23:18 +0100)] 
nspawn: split out helper to parse --private-users

This is just to make parse_argv() slightly more managable.

3 days agocore/service: support credentials refreshing on reload (#40093)
Daan De Meyer [Fri, 13 Feb 2026 09:21:44 +0000 (10:21 +0100)] 
core/service: support credentials refreshing on reload (#40093)

Closes https://github.com/systemd/systemd/issues/21099
Closes https://github.com/systemd/systemd/issues/35227

3 days agometrics: fixing casing
Yaping Li [Wed, 11 Feb 2026 23:08:44 +0000 (15:08 -0800)] 
metrics: fixing casing

3 days agoTwo portabled fixes (#40664)
Yu Watanabe [Fri, 13 Feb 2026 07:53:29 +0000 (16:53 +0900)] 
Two portabled fixes (#40664)

3 days agorepart: set r/o GPT flag on verity sig partition too
Luca Boccassi [Fri, 13 Feb 2026 00:21:06 +0000 (00:21 +0000)] 
repart: set r/o GPT flag on verity sig partition too

The default image policy for the verity sig partition expects
the r/o flag to be set, but repart so far did not add it by
default if unset, like it does for the verity partition

3 days agokmod-setup: also load other vsock transport modules 40557/head
Yu Watanabe [Wed, 4 Feb 2026 07:11:38 +0000 (16:11 +0900)] 
kmod-setup: also load other vsock transport modules

Fixes #40161.

3 days agokmod-setup: fix loading virtio related drivers
Yu Watanabe [Tue, 3 Feb 2026 07:59:49 +0000 (16:59 +0900)] 
kmod-setup: fix loading virtio related drivers

It seems the device with modalias e.g. virtio:d00000013v, only appears
after the relevant module is loaded. So, we cannot use the string to
determine if we should load the module.

Fixes #40503.

3 days agopo: Added translation using Weblate (Kazakh)
Baurzhan Muftakhidinov [Thu, 12 Feb 2026 17:18:33 +0000 (17:18 +0000)] 
po: Added translation using Weblate (Kazakh)

Co-authored-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
3 days agoTEST-72-SYSUPDATE: Use some very long partition names
Daan De Meyer [Thu, 12 Feb 2026 19:34:27 +0000 (20:34 +0100)] 
TEST-72-SYSUPDATE: Use some very long partition names

To catch issues like https://github.com/systemd/systemd/issues/40658.
The commit that fixes that issue can make the name even longer to ensure
we don't regress again in this regard.

3 days agosysupdate: Compute temporary paths before vacuuming
Daan De Meyer [Thu, 12 Feb 2026 15:17:36 +0000 (16:17 +0100)] 
sysupdate: Compute temporary paths before vacuuming

We don't want to vacuum anything if we're just going to fail just
afterwards because a GPT partition label exceeds the maximum size
so let's compute the temporary paths for all transfers before we do
any vacuuming or acquiring.

3 days agoRevert "hwdb: fix arrow keys on HP Elite Dragonfly G3"
Han Sol Jin [Mon, 9 Feb 2026 10:23:03 +0000 (02:23 -0800)] 
Revert "hwdb: fix arrow keys on HP Elite Dragonfly G3"

Prior to this commit, the behaviour looked like this:

| Keypress | Result       |
| -------- | ------------ |
| Up       | KEY_PAGEUP   |
| Down     | KEY_PAGEDOWN |
| Left     | KEY_LEFT     |
| Right    | KEY_RIGHT    |
| Fn+Up    | KEY_UP       |
| Fn+Down  | KEY_DOWN     |
| Fn+Left  | KEY_HOME     |
| Fn+Right | KEY_END      |

This commit would fix it so that PGUP/PGDN would also require the Fn
key so that the arrow keys behave identically depending on whether Fn
was pressed.

Presumably after a BIOS update, HP seems to have fixed the order. This
now means this commit is now behaving exactly as the table above.

Revert the commit to restore the intended behaviour:

| Keypress | Result       |
| -------- | ------------ |
| Up       | KEY_UP       |
| Down     | KEY_DOWN     |
| Left     | KEY_LEFT     |
| Right    | KEY_RIGHT    |
| Fn+Up    | KEY_PAGEUP   |
| Fn+Down  | KEY_PAGEDOWN |
| Fn+Left  | KEY_HOME     |
| Fn+Right | KEY_END      |

This reverts commit 4fd7c712dcba3c4ed7183ba327d0b88d9b0be9bb.

Signed-off-by: Han Sol Jin <hansol@hansol.ca>
3 days agoportable: do not apply extension image policy if not attaching image 40664/head
Luca Boccassi [Thu, 12 Feb 2026 21:59:29 +0000 (21:59 +0000)] 
portable: do not apply extension image policy if not attaching image

Image policy is only for images, so skip for other types

Follow-up for d05961549277f15399a45cdf42d4d5f3e5ed8097

3 days agoportable: fix --force flag combination with directory extension
Luca Boccassi [Thu, 12 Feb 2026 21:57:26 +0000 (21:57 +0000)] 
portable: fix --force flag combination with directory extension

The check for image type uses the wrong variable, so it's applied
when it shouldn't.

Follow-up for 06768b90a32ac0d36252ebc5f426ad471bf29fce

4 days agoudev: rules: fix camera comparison
David Santamaría Rogado [Thu, 12 Feb 2026 16:29:12 +0000 (17:29 +0100)] 
udev: rules: fix camera comparison

actually that is intended to be a comparison

4 days agoquirks: sensor: squash toshiba tablets
David Santamaría Rogado [Thu, 12 Feb 2026 16:24:46 +0000 (17:24 +0100)] 
quirks: sensor: squash toshiba tablets

actually all of them have the same accel mount matrix.

4 days agoSwitch back to 'http' in SVG files (#40661)
Tabis Kabis [Thu, 12 Feb 2026 17:49:19 +0000 (18:49 +0100)] 
Switch back to 'http' in SVG files (#40661)

Firefox & Chrome don't render images because of 'https' being used in the SVG.
Switch back to 'http'.

Follow-up for 0922f62126297e59c03bc9e1b1f4bd6c362604ba

4 days agoCODING_STYLE: add a brief log msg style guide
Lennart Poettering [Tue, 10 Feb 2026 14:12:49 +0000 (15:12 +0100)] 
CODING_STYLE: add a brief log msg style guide

4 days agoAdd sensor entry for Toshiba Encore WT10A-108
Betacentury [Thu, 12 Feb 2026 09:20:14 +0000 (10:20 +0100)] 
Add sensor entry for Toshiba Encore WT10A-108

Added sensor configuration for Toshiba Encore WT10A-108 tablet.