]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
6 weeks agocore/exec-credential: don't enable graceful for load_credential() 39040/head
Mike Yuan [Fri, 19 Sep 2025 22:42:43 +0000 (00:42 +0200)] 
core/exec-credential: don't enable graceful for load_credential()

Follow-up for 4be269563db777bb30f2609b3d4f5180fe9e2d2a

This contradicts the logic described in commit msg.

6 weeks agocore/exec-credential: log about errno
Mike Yuan [Fri, 19 Sep 2025 22:42:12 +0000 (00:42 +0200)] 
core/exec-credential: log about errno

6 weeks agocreds: uniformly use varlink error table
Mike Yuan [Fri, 19 Sep 2025 22:32:54 +0000 (00:32 +0200)] 
creds: uniformly use varlink error table

Follow-up for ffd4b3809681b940d7d1fb9bc64502306c0a3e7e

6 weeks agosd-device: use RET_GATHER() in device_tag_index() (#39053)
anthisfan [Sun, 21 Sep 2025 12:39:35 +0000 (21:39 +0900)] 
sd-device: use RET_GATHER() in device_tag_index() (#39053)

Replace manual error collection with RET_GATHER() macro.

6 weeks agomeson: fix type in comment
Lennart Poettering [Sat, 20 Sep 2025 06:41:56 +0000 (08:41 +0200)] 
meson: fix type in comment

As per https://github.com/systemd/systemd/pull/38999#discussion_r2363704203

6 weeks agopam: make libpam a dlopen() based dependency
Lennart Poettering [Mon, 8 Sep 2025 14:04:23 +0000 (16:04 +0200)] 
pam: make libpam a dlopen() based dependency

6 weeks agocore/manager: honor show_status_overridden in manager_watch_jobs_next_time()
Mike Yuan [Fri, 19 Sep 2025 17:35:08 +0000 (19:35 +0200)] 
core/manager: honor show_status_overridden in manager_watch_jobs_next_time()

Prompted by #39029

6 weeks agorun: include sys/stat.h again
Yu Watanabe [Fri, 19 Sep 2025 16:36:58 +0000 (01:36 +0900)] 
run: include sys/stat.h again

This partially reverts 9adb4685dffadb3991535a8d990ce35132b6d9a6.

For the case that sys/stat.h is not included indirectly by other headers.
Fixes the following error:
```
../src/run/run.c: In function 'fchown_to_capsule':
../src/run/run.c:2128:21: error: storage size of 'st' isn't known
 2128 |         struct stat st;
      |                     ^~
```

7 weeks agolibaudit-util: fix typo
Yu Watanabe [Fri, 19 Sep 2025 20:14:22 +0000 (05:14 +0900)] 
libaudit-util: fix typo

Follow-up for 4d8c5c657ae0829f93944a00302e7ce700913e54.

7 weeks agoVarious smaller tweaks to bootctl (#38996)
Yu Watanabe [Fri, 19 Sep 2025 19:28:00 +0000 (04:28 +0900)] 
Various smaller tweaks to bootctl (#38996)

7 weeks agocore: console status fixes (#39029)
Mike Yuan [Fri, 19 Sep 2025 18:30:11 +0000 (20:30 +0200)] 
core: console status fixes (#39029)

7 weeks agosmall refactorings of the machine-credential code (#38982)
Lennart Poettering [Fri, 19 Sep 2025 16:28:39 +0000 (18:28 +0200)] 
small refactorings of the machine-credential code (#38982)

This is ultimately preparation for #38764, but makes a lot of sense on
its own.

7 weeks agobootctl: split out auto-enroll cert load code into function of its own 38996/head
Lennart Poettering [Wed, 3 Sep 2025 10:20:32 +0000 (12:20 +0200)] 
bootctl: split out auto-enroll cert load code into function of its own

7 weeks agobootctl: output a more precise log message when updating existing EFI vars
Lennart Poettering [Wed, 3 Sep 2025 08:38:59 +0000 (10:38 +0200)] 
bootctl: output a more precise log message when updating existing EFI vars

7 weeks agobootctl: don't update $ESP/EFI/BOOTX64.EFI twice
Lennart Poettering [Tue, 2 Sep 2025 20:44:35 +0000 (22:44 +0200)] 
bootctl: don't update $ESP/EFI/BOOTX64.EFI twice

We update BOOTX64.EFI explicitly once (because we know that it's the
main entry point of UEFI) and then a second time when we update
everything in $ESP/EFI/*.EFI. That's redundant and pretty ugly/confusing
in the log output. Hence exclude the file we already updated explicitly
from the 2nd run.

7 weeks agobootctl: downgrade messages about foreign EFI files
Lennart Poettering [Tue, 2 Sep 2025 20:41:48 +0000 (22:41 +0200)] 
bootctl: downgrade messages about foreign EFI files

Given that we iterate through $ESP/EFI/BOOT/*.EFI these days this is a
pretty common case, hence it's not really noteworthy, hence downgrade
these log messages from LOG_NOTICE to LOG_INFO.

7 weeks agobootctl: split out varlink setup into a helper call of its own
Lennart Poettering [Sat, 30 Aug 2025 20:50:59 +0000 (22:50 +0200)] 
bootctl: split out varlink setup into a helper call of its own

7 weeks agobootctl: normalize some enum definitions
Lennart Poettering [Wed, 3 Sep 2025 09:48:39 +0000 (11:48 +0200)] 
bootctl: normalize some enum definitions

7 weeks agobootctl: use RET_GATHER() all over the place
Lennart Poettering [Wed, 3 Sep 2025 09:45:22 +0000 (11:45 +0200)] 
bootctl: use RET_GATHER() all over the place

7 weeks agobootctl: switch a few getenv() calls to secure_getenv()
Lennart Poettering [Wed, 3 Sep 2025 09:31:30 +0000 (11:31 +0200)] 
bootctl: switch a few getenv() calls to secure_getenv()

Following the rule that we should always prefer the secure flavour over
the regular one unless there's a clear reason for the regular one, let's
switch this over. Better safe than sorry.

7 weeks agorepart: some smaller tweaks (#38995)
Lennart Poettering [Fri, 19 Sep 2025 15:43:52 +0000 (17:43 +0200)] 
repart: some smaller tweaks (#38995)

7 weeks agodlopen() libaudit (#38998)
Lennart Poettering [Fri, 19 Sep 2025 15:43:33 +0000 (17:43 +0200)] 
dlopen() libaudit (#38998)

Split out of #38861

7 weeks agocore: fix status output suppression 39029/head
Lennart Poettering [Fri, 19 Sep 2025 08:13:45 +0000 (10:13 +0200)] 
core: fix status output suppression

This fixes two things: first of all it ensures we take the override
status output field properly into account, instead of going directly to
the regular one.

Moreover, it ensures that we bypass auto for both notice + emergency,
since both have the same "impact", and, don't limit this for notice
only.

7 weeks agounit: line-break overly long parameter list + add assert()
Lennart Poettering [Fri, 19 Sep 2025 08:12:52 +0000 (10:12 +0200)] 
unit: line-break overly long parameter list + add assert()

7 weeks agojob: shorten code
Lennart Poettering [Fri, 19 Sep 2025 08:12:13 +0000 (10:12 +0200)] 
job: shorten code

7 weeks agomachine-credential: add low-level machine_credential_add() as common back-end for... 38982/head
Lennart Poettering [Thu, 18 Sep 2025 07:20:00 +0000 (09:20 +0200)] 
machine-credential: add low-level machine_credential_add() as common back-end for machine_credential_set() + machine_credential_load()

7 weeks agomachine-credential: replace machine_credentials_contains() by machine_credential_find()
Lennart Poettering [Thu, 18 Sep 2025 07:19:28 +0000 (09:19 +0200)] 
machine-credential: replace machine_credentials_contains() by machine_credential_find()

7 weeks agomachine-credential: include the high-level not the low-level string-util.h
Lennart Poettering [Thu, 18 Sep 2025 07:18:59 +0000 (09:18 +0200)] 
machine-credential: include the high-level not the low-level string-util.h

7 weeks agorepart: tweak byte value output 38995/head
Lennart Poettering [Tue, 9 Sep 2025 20:52:45 +0000 (22:52 +0200)] 
repart: tweak byte value output

So far, when outputing information about copy progress we'd suppress the
digit after the dot if it is zero. That makes the progress bar a bit
"jumpy", because sometimes there are two more character cells used than
other times. Let's just always output one digit after the dot here
hence, to avoid this.

7 weeks agorepart: add some line breaks
Lennart Poettering [Thu, 28 Aug 2025 08:54:41 +0000 (10:54 +0200)] 
repart: add some line breaks

7 weeks agorepart: never use a grain size below sector size
Lennart Poettering [Fri, 29 Aug 2025 08:42:33 +0000 (10:42 +0200)] 
repart: never use a grain size below sector size

7 weeks agoopenssl-util: make openssl_load_private_key()'s ret_ui parameter optional
Lennart Poettering [Wed, 3 Sep 2025 08:40:21 +0000 (10:40 +0200)] 
openssl-util: make openssl_load_private_key()'s ret_ui parameter optional

7 weeks agoaudit: shortcut some audit syscalls if we are compiled without audit support anyway 38998/head
Lennart Poettering [Mon, 8 Sep 2025 13:28:00 +0000 (15:28 +0200)] 
audit: shortcut some audit syscalls if we are compiled without audit support anyway

7 weeks agobuild: make libaudit dep dlopen()
Lennart Poettering [Mon, 8 Sep 2025 10:26:35 +0000 (12:26 +0200)] 
build: make libaudit dep dlopen()

7 weeks agocore: Expose oom kills and managed oom kills as properties (#38906)
Daan De Meyer [Fri, 19 Sep 2025 14:19:19 +0000 (16:19 +0200)] 
core: Expose oom kills and managed oom kills as properties (#38906)

It can be useful for users to know this information so let's expose it
as properties so it can be queried.

7 weeks agotree-wide: Remove unused includes (#39023)
Daan De Meyer [Fri, 19 Sep 2025 14:07:04 +0000 (16:07 +0200)] 
tree-wide: Remove unused includes (#39023)

7 weeks agotree-wide: Remove unused includes 39023/head
Daan De Meyer [Fri, 19 Sep 2025 09:31:11 +0000 (11:31 +0200)] 
tree-wide: Remove unused includes

7 weeks agotest: Add tests for systemd's kernel oom kill handling 38906/head
Daan De Meyer [Thu, 18 Sep 2025 08:18:17 +0000 (10:18 +0200)] 
test: Add tests for systemd's kernel oom kill handling

7 weeks agocore: Expose oom kills and managed oom kills as properties
Daan De Meyer [Fri, 12 Sep 2025 12:14:26 +0000 (14:14 +0200)] 
core: Expose oom kills and managed oom kills as properties

It can be useful for users to know this information so let's expose
it as properties so it can be queried.

7 weeks agocore: Use oom_group_kill attribute if OOMPolicy=kill
Daan De Meyer [Thu, 18 Sep 2025 07:59:10 +0000 (09:59 +0200)] 
core: Use oom_group_kill attribute if OOMPolicy=kill

For managed oom kills, we check the user.oomd_ooms property which
reports how many times systemd-oomd recursively killed the entire
cgroup. For kernel OOM kills, we check the oom_kill property from
memory.events which reports how many processes were killed by the
kernel OOM killer in the corresponding cgroup and its child cgroups.
For units with Delegate=yes, this is problematic, becase OOM kills
in child cgroups that were handled by the delegated unit will still
be treated as unit OOM kills by systemd.

Specifically, if systemd is managing the delegated cgroup and
memory.oom.group=1 is set on both the service cgroup and the child
cgroup, if the child cgroup is OOM killed and this is handled by systemd
running inside the delegated units, when the unit exits later, it will
still be treated as oom-killed because oom_kill in memory.events will
contain the OOM kills that happened in the child cgroup.

To allow addressing this, the oom_group_kill property was added to the
memory.events and memory.events.local files which allows reading how many
times the entire cgroup was oom killed by the kernel if memory.oom.group=1.
If we read this from memory.events.local, we know how many times the unit's
entire cgroup (plus child cgroups) got oom killed by the kernel. This matches
what we report for systemd-oomd managed oom kills and avoids reporting the
unit as oom-killed if a child cgroup was oom killed by the kernel due to
having memory.oom.group=1 set on it.

Since this is only available from kernel 5.12 onwards, we fall back to
reading the oom_kill field from memory.events if the oom_group_kill property
is not available.

7 weeks agomkosi: Add stress-ng to sanitizer wrapper programs
Daan De Meyer [Fri, 19 Sep 2025 11:54:37 +0000 (13:54 +0200)] 
mkosi: Add stress-ng to sanitizer wrapper programs

7 weeks agoman/varlink: fix typo
Yu Watanabe [Fri, 19 Sep 2025 11:25:24 +0000 (20:25 +0900)] 
man/varlink: fix typo

Follow-up for 04e2cb892878574b4e5715a22c2901c34762cff6.

7 weeks agoman/repart: fix typo
Yu Watanabe [Fri, 19 Sep 2025 11:24:06 +0000 (20:24 +0900)] 
man/repart: fix typo

Follow-up for 49dcc89ddc15651ebca8da7a13e5c5b08ec247cb.

7 weeks agocreds-util: fix typo
Yu Watanabe [Fri, 19 Sep 2025 11:23:02 +0000 (20:23 +0900)] 
creds-util: fix typo

Follow-up for 9be0a94b9848096ad465eb3fc76fa9adc7118ab6.

7 weeks agovarlink: flag -> flags
Yu Watanabe [Fri, 19 Sep 2025 11:21:19 +0000 (20:21 +0900)] 
varlink: flag -> flags

Follow-up for 86fd19af1461bf407938dc69d2d0d4b54ac2c059.

7 weeks agodocs: use '_' as separator for OSC page
Luca Boccassi [Fri, 19 Sep 2025 10:41:30 +0000 (11:41 +0100)] 
docs: use '_' as separator for OSC page

Make it consistent with other pages

Fixes https://github.com/systemd/systemd/issues/39019

7 weeks agovirt: revert to detect chroot by comparing with / rather than /proc/PID/root
Mike Yuan [Thu, 18 Sep 2025 23:16:19 +0000 (01:16 +0200)] 
virt: revert to detect chroot by comparing with / rather than /proc/PID/root

This partially reverts d6267b9b18a30c81dd3335230ef71af04e1ea330

So, arch-chroot currently uses a rather cursed setup:
it sets up a PID namespace, but mounts /proc/ from the outside
into the chroot tree, and then call chroot(2), essentially
making it somewhere between chroot(8) and a full-blown
container. Hence, the PID dirs in /proc/ reveal the outer world.
The offending commit switched chroot detection to compare
/proc/1/root and /proc/OUR_PID/root, exhibiting the faulty behavior
where the mentioned environment now gets deemed to be non-chroot.

Now, this is very much an issue in arch-chroot. However,
if /proc/ is to be properly associated with the pidns,
then we'd treat it as a container and no longer a chroot.
Also, the previous logic feels more readable and more
honestly reported errors in proc_mounted(). Hence I opted
for reverting the change here. Still note that the culprit
(once again :/) lies in the arch-chroot's pidns impl, not
systemd.

Fixes https://gitlab.archlinux.org/archlinux/packaging/packages/systemd/-/issues/54

7 weeks agofirewall-util: remove iptables/libiptc backend support (#38976)
Yu Watanabe [Fri, 19 Sep 2025 10:54:17 +0000 (19:54 +0900)] 
firewall-util: remove iptables/libiptc backend support (#38976)

This removes iptables/libiptc backend support in firewall-util, as
already announced by 5c68c51045c27d77b7afc211df7304a958d8cf24.
Then, this drops meaningless `FirewallContext` wrapper.

7 weeks agoinclude: Add missing IWYU pragmas
Daan De Meyer [Fri, 19 Sep 2025 09:30:12 +0000 (11:30 +0200)] 
include: Add missing IWYU pragmas

7 weeks agotree-wide: Fix two curl warnings
Daan De Meyer [Fri, 19 Sep 2025 09:29:36 +0000 (11:29 +0200)] 
tree-wide: Fix two curl warnings

7 weeks agovarious: port remaining users of setmntent() to libmount (#38929)
Lennart Poettering [Fri, 19 Sep 2025 07:26:06 +0000 (09:26 +0200)] 
various: port remaining users of setmntent() to libmount (#38929)

7 weeks agovarious tweaks for systemd-creds & related (#38979)
Yu Watanabe [Fri, 19 Sep 2025 07:21:12 +0000 (16:21 +0900)] 
various tweaks for systemd-creds & related (#38979)

7 weeks agochase: tweaks to chase_open()/chase_openat() (#38984)
Yu Watanabe [Fri, 19 Sep 2025 07:11:24 +0000 (16:11 +0900)] 
chase: tweaks to chase_open()/chase_openat() (#38984)

7 weeks agochattr-util/acl-util: add helpers that tells us if an inode type can do chattr/acl...
Yu Watanabe [Fri, 19 Sep 2025 06:50:18 +0000 (15:50 +0900)] 
chattr-util/acl-util: add helpers that tells us if an inode type can do chattr/acl (#39003)

Split out of #38728 but I think this makes things more readable in
general and makes sense on its own.

7 weeks agoimportd: some minor tweaks (#39008)
Yu Watanabe [Fri, 19 Sep 2025 06:48:14 +0000 (15:48 +0900)] 
importd: some minor tweaks (#39008)

7 weeks agoimportd: port to PidRef
Lennart Poettering [Sun, 20 Jul 2025 06:56:28 +0000 (08:56 +0200)] 
importd: port to PidRef

7 weeks agofileio: modernize xopendirat() a bit
Lennart Poettering [Mon, 25 Aug 2025 09:05:48 +0000 (11:05 +0200)] 
fileio: modernize xopendirat() a bit

7 weeks agolocalectl: use XKB path specified from environment variable
ners [Sat, 2 Aug 2025 17:01:00 +0000 (19:01 +0200)] 
localectl: use XKB path specified from environment variable

7 weeks agofirewall-util: rename firewall-util-nft.c to firewall-util.c 38976/head
Yu Watanabe [Sun, 17 Aug 2025 20:22:22 +0000 (05:22 +0900)] 
firewall-util: rename firewall-util-nft.c to firewall-util.c

7 weeks agofirewall-util: drop FirewallContext
Yu Watanabe [Sun, 17 Aug 2025 19:24:02 +0000 (04:24 +0900)] 
firewall-util: drop FirewallContext

After iptables support is dropped, FirewallContext is a trivial
wrapper of sd_netlink. Let's drop it and directly use sd_netlink.

7 weeks agosd-netlink: make netlink_get_reply_callback_count() accept NULL
Yu Watanabe [Sun, 17 Aug 2025 18:54:04 +0000 (03:54 +0900)] 
sd-netlink: make netlink_get_reply_callback_count() accept NULL

7 weeks agofirewall-util: remove iptables backend
Yu Watanabe [Sun, 17 Aug 2025 18:37:07 +0000 (03:37 +0900)] 
firewall-util: remove iptables backend

As already announced by 5c68c51045c27d77b7afc211df7304a958d8cf24,
let's remove iptables backend of firewall-util through libiptc.

7 weeks agouserdb: suppress creation of empty userdb dirs
Mike Yuan [Thu, 18 Sep 2025 16:05:17 +0000 (18:05 +0200)] 
userdb: suppress creation of empty userdb dirs

7 weeks agounits: add missing Documentation=
Luca Boccassi [Thu, 18 Sep 2025 19:46:39 +0000 (20:46 +0100)] 
units: add missing Documentation=

The initrd units are described in the graphs in the bootup manpage,
so use that one for them.

7 weeks agocreds-util: don't reference superblocks when decrypting creds 38979/head
Lennart Poettering [Thu, 18 Sep 2025 06:44:02 +0000 (08:44 +0200)] 
creds-util: don't reference superblocks when decrypting creds

7 weeks agocore: if we cannot decode a TPM credential skip over it for ImportCredential=
Lennart Poettering [Wed, 17 Sep 2025 08:37:31 +0000 (10:37 +0200)] 
core: if we cannot decode a TPM credential skip over it for ImportCredential=

let's skip over credentials we cannot decode when they are found with
ImportCredential=. When installing an OS on some disk and using that
disk on a different machine than assumed we'll otherwise end up with a
broken boot, because the credentials cannot be decoded when starting
systemd-firstboot. Let's handle this somewhat gracefully.

This leaves handling for LoadCredential=/SetCredential= as it is (i.e.
failure to decrypt results in service failure), because it is a lot more
explicit and focussed as opposed to ImportCredentials= which looks
everywhere, uses globs and so on and is hence very vague and unfocussed.

Fixes: #34740
7 weeks agocreds: expose more errors as explicit varlink errors
Lennart Poettering [Wed, 17 Sep 2025 08:37:25 +0000 (10:37 +0200)] 
creds: expose more errors as explicit varlink errors

7 weeks agocreds-util: tweak error code generation in decrypt_credential_and_warn() a bit, and...
Lennart Poettering [Wed, 17 Sep 2025 08:22:02 +0000 (10:22 +0200)] 
creds-util: tweak error code generation in decrypt_credential_and_warn() a bit, and add a comment listing it

Let's make some specific condition more recognizable via error codes of
their own, and in particular remove confusion between EREMOTE as
returned by tpm2_unseal() and by us.

7 weeks agocreds: modernize varlink server setup a bit
Lennart Poettering [Thu, 28 Aug 2025 08:53:12 +0000 (10:53 +0200)] 
creds: modernize varlink server setup a bit

Let's make use of the userdata parameter of varlink_server_new(), and
split out the code into its own helper function.

7 weeks agoacl-util: add new inode_type_can_acl() helper 39003/head
Lennart Poettering [Fri, 22 Aug 2025 09:04:41 +0000 (11:04 +0200)] 
acl-util: add new inode_type_can_acl() helper

7 weeks agochattr-util: add inode_type_can_chattr() helper
Lennart Poettering [Thu, 21 Aug 2025 20:38:30 +0000 (22:38 +0200)] 
chattr-util: add inode_type_can_chattr() helper

7 weeks agosd-varlink: two small additions (#38994)
Lennart Poettering [Thu, 18 Sep 2025 19:34:09 +0000 (21:34 +0200)] 
sd-varlink: two small additions (#38994)

7 weeks agomountfsd: add recognizable error if we pass an fd with unexpected flags
Lennart Poettering [Tue, 19 Aug 2025 19:06:48 +0000 (21:06 +0200)] 
mountfsd: add recognizable error if we pass an fd with unexpected flags

7 weeks agobasic: validate timezones in get_timezones()
Nick Rosbrook [Thu, 18 Sep 2025 13:16:02 +0000 (09:16 -0400)] 
basic: validate timezones in get_timezones()

Depending on the packaging of tzdata, /usr/share/zoneinfo/tzdata.zi may
reference zones or links that are not actually present on the system.
E.g. on Debian and Ubuntu, there is a tzdata-legacy package that
contains "legacy" zones and links, but they are still referenced in
/usr/share/zoneinfo/tzdata.zi shipped by the main tzdata package.

Right now, get_timezoes() does not validate timezones when building the
list, which makes the following possible:

 $ timedatectl list-timezones | grep "US/Alaska"
 US/Alaska

 $ timedatectl set-timezone US/Alaska
 Failed to set time zone: Invalid or not installed time zone 'US/Alaska'

which feels buggy. Hence, simply validate timezones in get_timezones()
to avoid listing timezones that are not installed.

7 weeks agomountfsd: uncomment CapabilityBoundingSet= line
Lennart Poettering [Sat, 23 Aug 2025 06:08:06 +0000 (08:08 +0200)] 
mountfsd: uncomment CapabilityBoundingSet= line

Since mountfsd was added in 702a52f4b5d49cce11e2adbc740deb3b644e2de0 the
caps bounding set line was commented. That's an accident. Fix that. (We
need to add a bunch of caps to the list).

7 weeks agounits: explicitly reset TTY before running stuff on console
Lennart Poettering [Thu, 18 Sep 2025 15:50:06 +0000 (17:50 +0200)] 
units: explicitly reset TTY before running stuff on console

This adds TTYReset=yes to all units which run directly on the TTY. We
already had this in place for the gettys, but this adds it for the rest
that basically has StandardInput=tty + StandardOutput=tty set.

Originally, for these tools it wasn't necessary to reset the TTY,
because we after all already reset /dev/console very very early on once,
during PID1's early initialization, and hence there's no real reason to
do it again for these early boot services. But that's actually not
right, because since #36666 the TTY we reset from PID 1 is typically
/dev/console but the TTY those services are invoked on is typically the
resolved version of that, i.e. wherever that points. Now you might
think: if one is just an alias to the other, why does it matter to reset
this again? Well, because it's only a half-assed alias, and as it turns
out WIOCSWINSZ is not propagated from one to the other, i.e the terminal
dimesions we initialize for /dev/console don't propagate to whatever
that points to.

One option to address that would be to immediately propagate this down
ourselves (or to fix the kernel for it), but it felt safer to simply do
the reset again before the use, after all these one one-off services,
and there's no point in optimizing much here. Moreover, its probably
safer to give the guarantee that when the firstboot stuff (which after
all queries for pws to set) runs it definitely certainly guaranteed has
a properly reset terminal.

7 weeks agoTODO: drop completed entry 38929/head
Mike Yuan [Sun, 14 Sep 2025 19:13:24 +0000 (21:13 +0200)] 
TODO: drop completed entry

7 weeks agocodeql: taint setmntent() and getmntent()
Mike Yuan [Tue, 16 Sep 2025 17:38:09 +0000 (19:38 +0200)] 
codeql: taint setmntent() and getmntent()

7 weeks agomount-util: drop now unused _cleanup_endmntent_
Mike Yuan [Sat, 6 Sep 2025 15:24:45 +0000 (17:24 +0200)] 
mount-util: drop now unused _cleanup_endmntent_

7 weeks agoremount-fs: port to libmount parser
Mike Yuan [Sun, 14 Sep 2025 18:58:11 +0000 (20:58 +0200)] 
remount-fs: port to libmount parser

7 weeks agoremount-fs: minor coding style cleanups
Mike Yuan [Sun, 14 Sep 2025 19:03:15 +0000 (21:03 +0200)] 
remount-fs: minor coding style cleanups

7 weeks agocryptsetup: port from setmntent() to libmount parser
Mike Yuan [Sat, 6 Sep 2025 15:23:27 +0000 (17:23 +0200)] 
cryptsetup: port from setmntent() to libmount parser

7 weeks agofstab-generator: port to libmount parser
Mike Yuan [Sat, 6 Sep 2025 15:16:14 +0000 (17:16 +0200)] 
fstab-generator: port to libmount parser

7 weeks agoTEST-81-GENERATORS: libmount disallows omitting fstype
Mike Yuan [Thu, 18 Sep 2025 18:21:29 +0000 (20:21 +0200)] 
TEST-81-GENERATORS: libmount disallows omitting fstype

It's not well-formed to begin with. And util-linux's mount(8)
is pretty much ubiquitously employed, hence it will be rejected
elsewhere too. Just stop pretending it is valid just because
glibc parser is sloppy.

7 weeks agosystemd-boot-update.service & zsh: replace --no-variables with --variables= (#39011)
Mike Yuan [Thu, 18 Sep 2025 17:57:42 +0000 (19:57 +0200)] 
systemd-boot-update.service & zsh: replace --no-variables with --variables= (#39011)

7 weeks agoBump required minimum version of libfido2 to 1.5.0 (#38975)
Lennart Poettering [Thu, 18 Sep 2025 15:59:44 +0000 (17:59 +0200)] 
Bump required minimum version of libfido2 to 1.5.0 (#38975)

Major distributions already have libfido2 >= 1.12.0. Let's bump the
required minimum version to 1.5.0, which provides FIDO_ERR_UV_BLOCKED.

Note, libfido2 1.5.0 was released on 2020-09-01.

See also #38608.

7 weeks agobtrfs-util: try unlinkat(AT_REMOVEDIR) before resorting to btrfs ioctls
Lennart Poettering [Tue, 15 Jul 2025 16:29:03 +0000 (18:29 +0200)] 
btrfs-util: try unlinkat(AT_REMOVEDIR) before resorting to btrfs ioctls

An empty btrfs subvolume can always be removed without privs, hence try
to use unlinkat() first.

7 weeks agozsh: replace bootctl --no-variables with --variables= 39011/head
nl6720 [Thu, 18 Sep 2025 13:54:10 +0000 (16:54 +0300)] 
zsh: replace bootctl --no-variables with --variables=

bbeeea43625d22d2ab92b26ed93378acbad8ca66 replaced the option in bootctl.

7 weeks agosystemd-boot-update.service: replace --no-variables with --variables=no
nl6720 [Thu, 18 Sep 2025 13:52:31 +0000 (16:52 +0300)] 
systemd-boot-update.service: replace --no-variables with --variables=no

bbeeea43625d22d2ab92b26ed93378acbad8ca66 replaced the option in bootctl,
so systemd-boot-update.service should follow.

7 weeks agoman: run update-man-rules 38994/head
Lennart Poettering [Thu, 18 Sep 2025 09:00:36 +0000 (11:00 +0200)] 
man: run update-man-rules

7 weeks agosd-varlink: optionally handle SIGTERM/SIGINT explicitly in simple varlink event loop
Lennart Poettering [Mon, 15 Sep 2025 16:17:59 +0000 (18:17 +0200)] 
sd-varlink: optionally handle SIGTERM/SIGINT explicitly in simple varlink event loop

7 weeks agosd-varlink: add api for resetting timeout to default
Lennart Poettering [Fri, 5 Sep 2025 12:22:07 +0000 (14:22 +0200)] 
sd-varlink: add api for resetting timeout to default

We currently don't expose the literal default time-out as API. Let's at
least provide users with a way to reset the time-out to the default.

7 weeks agomeson: downgrade dep on libgcrypt
Lennart Poettering [Mon, 8 Sep 2025 19:48:39 +0000 (21:48 +0200)] 
meson: downgrade dep on libgcrypt

We don't link against libgcrypt anymore, we use dlopen()

7 weeks agoimport: always use the same buffer size 39008/head
Lennart Poettering [Fri, 22 Aug 2025 15:04:37 +0000 (17:04 +0200)] 
import: always use the same buffer size

Let's synchronize the buffer sizes used when passing around the disk
images, i.e. size both our internal buffers and the pipe buffers the
same (so that we can always write()/read() everything in one gone -
except for the noise compression inserts).

Let's also increase the buffer sizes from 16K to 128K, which made a
difference for me, because it reduces the number of syscalls quite a
bit.

7 weeks agoexport-tar: refuse to write tar to a TTY
Lennart Poettering [Thu, 21 Aug 2025 09:26:43 +0000 (11:26 +0200)] 
export-tar: refuse to write tar to a TTY

7 weeks agopull-job: fix include order
Lennart Poettering [Wed, 20 Aug 2025 15:36:37 +0000 (17:36 +0200)] 
pull-job: fix include order

7 weeks agosd-json: two small tweaks (#38980)
Mike Yuan [Thu, 18 Sep 2025 12:16:45 +0000 (14:16 +0200)] 
sd-json: two small tweaks (#38980)

7 weeks agoChange symlinks params to target & linkpath
Zbigniew JÄ™drzejewski-Szmek [Tue, 16 Sep 2025 14:58:34 +0000 (16:58 +0200)] 
Change symlinks params to target & linkpath

This is what the symlinkat.2 man page uses.

The old naming with 'to' and 'from', where 'to' is the symlink name
and 'from' is the symlink target is very confusing.

Follow-up for 892838911b21113a20a8ef0ad4f2e5336753afc8.

7 weeks agoman: Point to the nss-systemd manpage for more details.
Andreas Schneider [Thu, 18 Sep 2025 09:22:35 +0000 (11:22 +0200)] 
man: Point to the nss-systemd manpage for more details.

7 weeks agomeson tweaklets (#38978)
Luca Boccassi [Thu, 18 Sep 2025 10:00:19 +0000 (11:00 +0100)] 
meson tweaklets (#38978)