Commit Graph
86224 Commits
Author SHA1 Message Date
Daan De Meyer 71de0a22ff core/service: support credentials refreshing on reload (#40093)
Closes https://github.com/systemd/systemd/issues/21099
Closes https://github.com/systemd/systemd/issues/35227
2026-02-13 10:21:44 +01:00
Yaping Li fffba61b78 metrics: fixing casing 2026-02-13 16:55:25 +09:00
Yu Watanabe 559dabbbde Two portabled fixes (#40664) 2026-02-13 16:53:29 +09:00
Luca Boccassi 421821d1e3 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
2026-02-13 16:50:45 +09:00
Baurzhan Muftakhidinov 2cef4057f5 po: Added translation using Weblate (Kazakh)
Co-authored-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
2026-02-13 15:49:34 +09:00
Daan De Meyer 48f0f1fd81 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.
2026-02-13 15:46:52 +09:00
Daan De Meyer 7b9600a6b2 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.
2026-02-13 15:46:52 +09:00
Han Sol Jin 09b9466e8c 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 4fd7c712dc.

Signed-off-by: Han Sol Jin <hansol@hansol.ca>
2026-02-13 14:21:16 +09:00
Luca Boccassi 03f6a8b9d9 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 d059615492
2026-02-12 23:20:47 +00:00
Luca Boccassi d07aa23c87 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 06768b90a3
2026-02-12 23:20:47 +00:00
David Santamaría Rogado 155ae657b1 udev: rules: fix camera comparison
actually that is intended to be a comparison
2026-02-12 20:11:27 +00:00
David Santamaría Rogado 3ca5d96411 quirks: sensor: squash toshiba tablets
actually all of them have the same accel mount matrix.
2026-02-12 20:11:05 +00:00
Tabis Kabis b15b337f8e 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 0922f62126
2026-02-12 17:49:19 +00:00
Lennart Poettering 83b4a5bb3d CODING_STYLE: add a brief log msg style guide 2026-02-12 18:00:37 +01:00
Betacentury 8732896857 Add sensor entry for Toshiba Encore WT10A-108
Added sensor configuration for Toshiba Encore WT10A-108 tablet.
2026-02-12 12:00:53 +00:00
Daan De Meyer 3bba7fee4f dissect: Various fixes and improvements (#40212) 2026-02-12 11:26:18 +01:00
Daan De Meyer 01fb2d4a9e dissect: Use must_be_root() 2026-02-12 10:38:33 +01:00
Daan De Meyer f933e959b1 shift-uid: Add debug logging 2026-02-12 09:46:37 +01:00
Daan De Meyer dbd1a6e34f dissect: Allow --shift for users with CAP_CHOWN 2026-02-12 09:46:37 +01:00
DaanDeMeyer ba37ed9634 dissect: Introduce --copy-ownership= to configure chown behavior
Currently, if we're copying a file, we won't copy the owner UID/GID
from the source. If we're copying a directory, we will copy the owner
UID/GID from the source. Let's give users a bit more control over this
behavior by introducing --copy-ownership= which will default to the
current behavior but allows users to explicitly enable/disable copying
of ownership.
2026-02-12 09:45:13 +01:00
DaanDeMeyer ef155c909a dissect: Make --mount/--unmount/--with work unprivileged
Let's check for CAP_SYS_ADMIN instead of root for these, and make
unmounting more graceful if we can't access the backing loop device
because of permission issues. This allows mounting and unmounting images
from an unprvileged mount namespace. The actual files in the image will
end up owned by nobody:nobody because we'll be in an unprivileged user
namespace, but assuming the directory permissions are not too strict, this
still allows interacting with the image in useful ways.
2026-02-12 09:43:07 +01:00
DaanDeMeyer fe0114db8e dissect: Fix wrong errno passed to log message 2026-02-12 09:43:07 +01:00
DaanDeMeyer a0a4e9d7d2 dissect: Fix segmentation fault if loop device is not provided 2026-02-12 09:43:07 +01:00
DaanDeMeyer 53d1d6e49c dissect: Fix logging in (with) 2026-02-12 09:43:07 +01:00
DaanDeMeyer 09e38c2709 dissect: Don't use private userns for --copy-to/--copy-from
These actions interact with the host. The former needs privileges to
write into the image, the latter needs privileges to write on the host.
Neither will have the privileges required if the image is attached under
a private userns, hence, don't use one.
2026-02-12 09:43:07 +01:00
Daan De Meyer 5bc11cd4e6 sd-varlink: Allow using sd_varlink_reply() in streaming methods (#40546) 2026-02-11 14:58:12 +01:00
Daan De Meyer 9f01cffc39 bootctl: Drop SD_VARLINK_NULLABLE from ListBootEntries IDL
9e10f3a7e8 changed the implementation
to report an error instead of an empty object but the IDL was not
adjusted. Let's fix that.
2026-02-11 14:25:36 +01:00
Daan De Meyer 4f5d44ef53 tree-wide: Migrate to varlink_set_sentinel() 2026-02-11 14:25:36 +01:00
Daan De Meyer dc28940745 resolve: Make sure we free varlink subscription sets 2026-02-11 14:24:03 +01:00
Daan De Meyer c0696f1f5d sd-varlink: Introduce varlink_set_sentinel()
Streaming methods which are not used as a continuous subscription but
instead only send a series of objects all end up with the same workaround
to be able to figure out when to send sd_varlink_reply() or sd_varlink_notify().
Let's generalize this in sd-varlink itself.

Let's introduce the concept of a sentinel, which is a reply that will be sent
by sd-varlink if no other reply was queued by a method callback. The sentinel
is configured with varlink_set_sentinel(). If a sentinel is configured,
sd_varlink_reply() can be used more than once in streaming methods to queue
multiple values to stream to the client. The last queued reply is not sent
until the callback finishes. When the callback finishes, the last reply is
sent without "continues: more". If no reply was queued, the sentinel is sent.

This always using only sd_varlink_reply() in such streaming methods and
leaves sd_varlink_notify() available solely for continuous subscription
streaming methods, where we never use sd_varlink_reply() and instead disconnect
when the server exits.
2026-02-11 14:24:03 +01:00
Daan De Meyer 22f1d5a625 sd-varlink: Move code around
Preparation for next commits
2026-02-11 14:24:03 +01:00
Daan De Meyer edc1515cf8 varlink-unit: Coding style cleanups 2026-02-11 14:24:03 +01:00
Yaping Li a0f2d74cba Metrics: Refactor to drop usage of strv
This addresses Daan's feedback on #39202
2026-02-11 12:43:28 +01:00
Mike Yuan 5b501abfc2 terminal-util: handle the case where no system console is active (#40630)
/dev/console might have no backing driver, in which case
/sys/class/tty/console/active is empty. Unlike get_kernel_consoles()
resolve_dev_console() currently proceeds with empty devnode, resulting
in setup_input() -> acquire_terminal() emitting -EISDIR as we're trying
to open /dev/. Let's catch this and report -ENXIO.
2026-02-10 23:59:07 +01:00
Mike Yuan 7d551b00e3 TEST-54-CREDS: add test cases for credential refreshing 2026-02-10 23:21:11 +01:00
Mike Yuan 48c1393bfb terminal-util: also protect from empty /sys/class/tty/tty0/active 2026-02-10 22:21:53 +01:00
Mike Yuan a01cf5b2e0 terminal-util: handle the case where no system console is active
/dev/console might have no backing driver, in which case
/sys/class/tty/console/active is empty. Unlike get_kernel_consoles()
resolve_dev_console() currently proceeds with empty devnode,
resulting in setup_input() -> acquire_terminal() emitting -EISDIR
as we're trying to open /dev/. Let's catch this and report -ENXIO.
2026-02-10 22:04:02 +01:00
Mike Yuan d83f9cc112 test-load-fragment: add unit test for RefreshOnReload= parser 2026-02-10 21:54:13 +01:00
Mike Yuan 24f458da81 man: document RefreshOnReload= 2026-02-10 21:54:13 +01:00
Mike Yuan 21292677f6 core/service: if RefreshOnReload= is explicitly enabled, allow reload even without exec/notify-reload
This was originally brought up by @poettering. If the process
loads stuff on demand and flushes them out after each use,
or actively monitors file changes, they can be reloaded
by merely refreshing the resources.
2026-02-10 21:54:13 +01:00
Mike Yuan f385b3f3dd core/service: pass credentials to ExecReload*= if refreshed
Closes #35227
2026-02-10 21:54:13 +01:00
Mike Yuan fff07be411 core/service: support credential refreshing on reload
Closes #21099
2026-02-10 21:54:12 +01:00
Mike Yuan cb5c6dc599 macro: add 22nd case for IN_SET
Dejavu moment ;)
2026-02-10 21:54:12 +01:00
Mike Yuan a43bc1aed8 core/service: introduce RefreshOnReload= setting
This allows controlling resources to be refreshed before performing
reload, with one extra benefit that in the future we can permit
"seemless reload"s, i.e. no active signaling is done to the main process
after refreshing get updated. This could come in handy for programs
that loads stuff on demand or watches changes via inotify.
2026-02-10 21:54:12 +01:00
Mike Yuan 65ea71ead7 core/exec-credential: introduce unit_refresh_credentials() 2026-02-10 21:54:12 +01:00
Mike Yuan 8f89ed439d process-util: teach namespace_fork() to optionally use namespace_enter_delegated() 2026-02-10 21:54:12 +01:00
Mike Yuan 1a1c5ab758 namespace-util: introduce namespace_enter_delegated()
Typically when entering a namespace the userns is handled last,
because we assume our process is more privileged than the userns.
However, that assumption no longer holds for user managers, which
have no privilege over initial userns and all other namespaces
are actually owned by the userns unshared first (in executor).
Hence, let's add another flavor namespace_enter_delegated() to
accommodate that use case.
2026-02-10 21:54:11 +01:00
Mike Yuan bae58ceff7 core/exec-credential: only pass needed bits of ExecParameters down in exec_setup_credentials()
No functional change, preparation for credential reloading support,
where we'd operate on Unit rather than ExecParameters.
2026-02-10 21:54:11 +01:00
Mike Yuan 7c358751a4 core/exec-credential: avoid duplicate call to hashmap_contains() 2026-02-10 21:54:11 +01:00
Mike Yuan 482fb9ae40 core/exec-credential: stop removing empty credentials dir
Starting from cfbf7538d8 we'd always
install the credentials dir regardless of whether it's empty,
with the correct permissions. Hence the problem stated in the comment
should no longer be a concern. Moreover, this ensures later in
setup_namespace() the mountpoint would be in-place. This is important
for credential reloading as it saves the trouble of remounting
the upper tmpfs as rw again and create the mountpoint.
2026-02-10 21:54:11 +01:00