]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 months agoman: emphasize that systemd-userdb-load-credentials.service doesn't do UID/GID allocation 37693/head
Lennart Poettering [Mon, 2 Jun 2025 13:15:33 +0000 (15:15 +0200)] 
man: emphasize that systemd-userdb-load-credentials.service doesn't do UID/GID allocation

5 months agoman: add reference from userdbctl man page to nss-systemd regarding user record drop-ins
Lennart Poettering [Mon, 2 Jun 2025 13:15:11 +0000 (15:15 +0200)] 
man: add reference from userdbctl man page to nss-systemd regarding user record drop-ins

5 months agoman: mention systemd-userdb-load-credentials.service when discussing /run/userdb...
Lennart Poettering [Mon, 2 Jun 2025 13:14:43 +0000 (15:14 +0200)] 
man: mention systemd-userdb-load-credentials.service when discussing /run/userdb/ drop-ins

5 months agorepart: fix generation of UUID= line for vfat in fstab entries (#37689)
Lennart Poettering [Mon, 2 Jun 2025 10:25:14 +0000 (12:25 +0200)] 
repart: fix generation of UUID= line for vfat in fstab entries (#37689)

Fixes: #36735
5 months agoDefine uid range for greeter
Adrian Vovk [Wed, 21 May 2025 21:32:03 +0000 (17:32 -0400)] 
Define uid range for greeter

In multi-seat scenarios, a display manager might need to start multiple
greeter sessions. But systemd allows at most one graphical session per
user. So, display managers now have a range of UIDs to dynamically
allocate users for their greeter sessions.

5 months agobuild(deps): bump github/codeql-action from 3.28.10 to 3.28.18
dependabot[bot] [Sun, 1 Jun 2025 09:12:40 +0000 (09:12 +0000)] 
build(deps): bump github/codeql-action from 3.28.10 to 3.28.18

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.10 to 3.28.18.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d...ff0a06e83cb2de871e5a09832bc6a81e7276941f)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months agoudevadm: allow to specify device by device ID (#37636)
Yu Watanabe [Mon, 2 Jun 2025 09:02:36 +0000 (18:02 +0900)] 
udevadm: allow to specify device by device ID (#37636)

5 months agorepart: set a useful access mode file for generated fstab files 37689/head
Lennart Poettering [Mon, 2 Jun 2025 08:12:33 +0000 (10:12 +0200)] 
repart: set a useful access mode file for generated fstab files

We create these as temporary files with 0600 access mode. Let's adjust
this before we install the files.

5 months agorepart: fix generation of UUID= line for vfat in fstab entries
Lennart Poettering [Mon, 2 Jun 2025 08:12:10 +0000 (10:12 +0200)] 
repart: fix generation of UUID= line for vfat in fstab entries

Fixes: #36735
5 months agobuild(deps): bump meson from 1.6.1 to 1.8.1 in /.github/workflows
dependabot[bot] [Sun, 1 Jun 2025 09:30:36 +0000 (09:30 +0000)] 
build(deps): bump meson from 1.6.1 to 1.8.1 in /.github/workflows

Bumps [meson](https://github.com/mesonbuild/meson) from 1.6.1 to 1.8.1.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.6.1...1.8.1)

---
updated-dependencies:
- dependency-name: meson
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months agobuild(deps): bump super-linter/super-linter from 7.3.0 to 7.4.0
dependabot[bot] [Sun, 1 Jun 2025 09:12:31 +0000 (09:12 +0000)] 
build(deps): bump super-linter/super-linter from 7.3.0 to 7.4.0

Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/super-linter/super-linter/compare/4e8a7c2bf106c4c766c816b35ec612638dc9b6b2...12150456a73e248bdc94d0794898f94e23127c88)

---
updated-dependencies:
- dependency-name: super-linter/super-linter
  dependency-version: 7.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months agoUpdate TODO
Lennart Poettering [Mon, 2 Jun 2025 07:34:59 +0000 (09:34 +0200)] 
Update TODO

5 months agorepart: CopyBlocks=auto fix for verity-sig partitions (#37688)
Daan De Meyer [Mon, 2 Jun 2025 07:15:46 +0000 (09:15 +0200)] 
repart: CopyBlocks=auto fix for verity-sig partitions (#37688)

Alternative to: #37687

5 months agorepart: make CopyBlock=auto work for verity sig partitions 37688/head
Lennart Poettering [Mon, 2 Jun 2025 04:43:09 +0000 (06:43 +0200)] 
repart: make CopyBlock=auto work for verity sig partitions

Note that this doesn't care which partition set (A or B in an A/B
scenario) is actually newer, it just picks the first suitable, but
that's something we should look into later. For now, let's just make
verity sig partitions work the same way as verity partitions.

Fixes #34835

5 months agorepart: make use of blkid_partition_get_type_id128() more
Lennart Poettering [Mon, 2 Jun 2025 04:42:52 +0000 (06:42 +0200)] 
repart: make use of blkid_partition_get_type_id128() more

5 months agorepart: Apply verity-sig max size based on partition type
Daan De Meyer [Sun, 1 Jun 2025 18:24:47 +0000 (20:24 +0200)] 
repart: Apply verity-sig max size based on partition type

We already do this for partition_min_size(), let's do it for
partition_max_size() as well. This makes sure repart doesn't accidentally
try to grow verity sig partitions to larger sizes than the hardcoded
max size in systemd.

5 months agobootctl: fix unclosed quote in debug log
Joaquim Monteiro [Sat, 31 May 2025 18:56:28 +0000 (19:56 +0100)] 
bootctl: fix unclosed quote in debug log

5 months agomount-util: avoid unnecessary mount_setattr() call in make_fsmount()
Lennart Poettering [Sat, 31 May 2025 05:58:30 +0000 (07:58 +0200)] 
mount-util: avoid unnecessary mount_setattr() call in make_fsmount()

If .attr_set is zero (and .att_clr, .propagation too), then there's no
point in calling mount_setattr().

Fixes: #37062
Note that this optimization is not precisely load-bearing anymore, since
3cc23a2c2345eb188551565349c89ec1fa8f650f got merged which removes the
only caller of make_fsmount() that might trigger it. But it's worth
fixing generic code anyway, in case it gets used like this later again.

5 months agotree-wide: only use .si_pid field in siginfo_t, if .si_code indicates that's safe
Lennart Poettering [Thu, 29 May 2025 06:22:07 +0000 (08:22 +0200)] 
tree-wide: only use .si_pid field in siginfo_t, if .si_code indicates that's safe

Fixes: #37498
5 months agobootctl: do not print slash more than once
Yu Watanabe [Sat, 31 May 2025 01:24:17 +0000 (10:24 +0900)] 
bootctl: do not print slash more than once

When bootctl is called by an unprivileged user, then previously we got
```
Failed to read "/boot/EFI/systemd": Permission denied
Failed to open '/boot//loader/loader.conf': Permission denied
```
Now, with this patch, we get
```
Failed to read "/boot/EFI/systemd": Permission denied
Failed to open '/boot/loader/loader.conf': Permission denied
```

5 months agoportable,sysext: match extension OS ID also against host ID_LIKE
Christian Glombek [Thu, 29 May 2025 14:53:19 +0000 (16:53 +0200)] 
portable,sysext: match extension OS ID also against host ID_LIKE

5 months agotest: wait for coredump to appear before parsing
Luca Boccassi [Fri, 30 May 2025 21:08:39 +0000 (22:08 +0100)] 
test: wait for coredump to appear before parsing

A new core was added to the test, but the loop counter was not increased
to wait for it, so the test races against systemd-coredump's processing.

This failed at least once in debci:

8015s [   32.227813] TEST-87-AUX-UTILS-VM.sh[1038]: + coredumpctl info COREDUMP_TIMESTAMP=1679509902000000
8015s [   32.228684] TEST-87-AUX-UTILS-VM.sh[1723]: No coredumps found.

Follow-up for 0c49e0049b7665bb7769a13ef346fef92e1ad4d6

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

5 months agoterminal-util: fix typo
Yu Watanabe [Fri, 30 May 2025 19:42:59 +0000 (04:42 +0900)] 
terminal-util: fix typo

Follow-up for 5321b957b4027be66873eac730d4ce141021e368.

5 months agodocs: add man page for sd_device_enumerator_get_device_first() and friends
Shubhendra Kushwaha [Sun, 25 May 2025 15:17:31 +0000 (20:47 +0530)] 
docs: add man page for sd_device_enumerator_get_device_first() and friends

For #20929.

5 months agocore/cgroup: update comment
Yu Watanabe [Fri, 30 May 2025 19:14:58 +0000 (04:14 +0900)] 
core/cgroup: update comment

We do not have SetProperty() method, but SetProperties().

5 months agocore/transaction: restart dependency loop when a new dependency is added (#37465)
Yu Watanabe [Fri, 30 May 2025 19:01:06 +0000 (04:01 +0900)] 
core/transaction: restart dependency loop when a new dependency is added (#37465)

Fixes #36031.

5 months agoTODO: drop entry about removal of unnecessary INTERFACE_OLD check in udevadm trigger
Yu Watanabe [Fri, 30 May 2025 18:44:51 +0000 (03:44 +0900)] 
TODO: drop entry about removal of unnecessary INTERFACE_OLD check in udevadm trigger

Done by fde9f2bc4857b4d34cdb89f93c52c10f7bcf90de.

5 months agodocs: small improvements for html man pages menu selector (#37663)
Luca Boccassi [Fri, 30 May 2025 11:33:48 +0000 (12:33 +0100)] 
docs: small improvements for html man pages menu selector (#37663)

Result is already live at
https://www.freedesktop.org/software/systemd/man

5 months agosync-docs: add '(latest stable)' next to the latest version in the menu 37663/head
Luca Boccassi [Fri, 30 May 2025 01:03:08 +0000 (02:03 +0100)] 
sync-docs: add '(latest stable)' next to the latest version in the menu

Add visual indicator of what is the latest version in the
version menu

5 months agosync-docs: fix selection menu when opening 'latest' man
Luca Boccassi [Fri, 30 May 2025 01:02:01 +0000 (02:02 +0100)] 
sync-docs: fix selection menu when opening 'latest' man

'devel' will always sort first, so the highest version is the second
entry, not the first one

5 months agosync-docs: fix syntax warning
Luca Boccassi [Fri, 30 May 2025 00:59:15 +0000 (01:59 +0100)] 
sync-docs: fix syntax warning

sync-docs.py:94: SyntaxWarning: invalid escape sequence '\d'
  m = re.match("v?(\d+).*", tag)

5 months agocore/exec-invoke: rework $TERM fallback logic (#37647)
Zbigniew Jędrzejewski-Szmek [Fri, 30 May 2025 10:39:51 +0000 (12:39 +0200)] 
core/exec-invoke: rework $TERM fallback logic (#37647)

Inspired by https://github.com/systemd/systemd/pull/37538, see a
detailed rationale in
https://github.com/systemd/systemd/pull/37538#discussion_r2110229075.

5 months agochore: fix editorconfig pattern and add setting for zsh
Eisuke Kawashima [Thu, 29 May 2025 22:37:26 +0000 (07:37 +0900)] 
chore: fix editorconfig pattern and add setting for zsh

5 months agoNEWS: fix typos
Jörg Behrmann [Thu, 29 May 2025 18:30:11 +0000 (20:30 +0200)] 
NEWS: fix typos

5 months agocore/exec-invoke: skip query of /dev/console $TERM if we're child of pid1 37647/head
Mike Yuan [Thu, 29 May 2025 00:16:13 +0000 (02:16 +0200)] 
core/exec-invoke: skip query of /dev/console $TERM if we're child of pid1

5 months agocore/exec-invoke: propagate $COLORTERM and $NO_COLOR from pid1 as well
Mike Yuan [Wed, 28 May 2025 18:40:33 +0000 (20:40 +0200)] 
core/exec-invoke: propagate $COLORTERM and $NO_COLOR from pid1 as well

Follow-up for 19aff5f775386a34224f710b88457c1e6bdf0e2f

5 months agocore/exec-invoke: rework where to apply $TERM fallback logic
Mike Yuan [Wed, 28 May 2025 18:24:59 +0000 (20:24 +0200)] 
core/exec-invoke: rework where to apply $TERM fallback logic

Follow-up for 728dbaeffb3e72872253c50ca5d1c100cc532634
and ad6ca4a6129fa0fb8e8c800d05cf2c7ed5d0bcbf

This is inspired by #37538, see the discussion in
https://github.com/systemd/systemd/pull/37538#discussion_r2110229075.

If the user already specifies $TERM (which is actually
quite common if you look at run0), we'd needlessly invoke
the "fallback" logic and
a) possibly issue a DCS query whose result we end up simply
   discarding in strv_env_merge()
b) set $COLORTERM to "truecolor" unconditionally, whereas
   the explicit $TERM value might intend to disable the color output

To address this, the logic of setting fallback $TERM and friends
has been split out of build_environment(), and we'd call into it
only after all envvars have been collected.

5 months agocore: strv_env_clean() modifies in-place, no need to set buf to itself
Mike Yuan [Wed, 28 May 2025 19:05:53 +0000 (21:05 +0200)] 
core: strv_env_clean() modifies in-place, no need to set buf to itself

5 months agoenv-util: add missing assertions
Mike Yuan [Wed, 28 May 2025 18:47:50 +0000 (20:47 +0200)] 
env-util: add missing assertions

5 months agoenv-util: modernize *_is_valid()
Mike Yuan [Wed, 28 May 2025 17:57:01 +0000 (19:57 +0200)] 
env-util: modernize *_is_valid()

5 months agoUse DCS sequence to query terminal name and set $TERM automatically (#37538)
Mike Yuan [Thu, 29 May 2025 19:01:01 +0000 (21:01 +0200)] 
Use DCS sequence to query terminal name and set $TERM automatically (#37538)

This code seems to work quickly and nicely for a bunch of modern
terminals. Setting $TERM automatically removes an common annoyance for
users. This code will not work for all terminal emulators, but by adding
it in systemd we'll entice maintainers of those terminals to add support
for the sequences. For the terminals that don't support the sequence, we
get a bit of a slowdown of `< 1 ms`, which seems hardly noticeable. The
user can always set TERM explicitly to avoid this if upgrading to a
newer terminal emulator is not possible.

Closes https://github.com/systemd/systemd/issues/36994.

5 months agopo: Translated using Weblate (Georgian)
Temuri Doghonadze [Thu, 29 May 2025 16:48:14 +0000 (16:48 +0000)] 
po: Translated using Weblate (Georgian)

Currently translated at 100.0% (257 of 257 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ka/
Translation: systemd/main

5 months agobasic/terminal-util: drop now-unused default_term_for_tty 37538/head
Zbigniew Jędrzejewski-Szmek [Tue, 27 May 2025 16:12:00 +0000 (18:12 +0200)] 
basic/terminal-util: drop now-unused default_term_for_tty

5 months agocore: use terminal DCS sequence to set $TERM
Zbigniew Jędrzejewski-Szmek [Tue, 20 May 2025 17:02:31 +0000 (19:02 +0200)] 
core: use terminal DCS sequence to set $TERM

query_term_for_tty() is used in two places: in fixup_environment(),
which affects PID1 itself, and in build_environment(), which affects
spawned services. There is obviously some cost to the extra call,
but I think it's worthwhile to do it. When $TERM is set incorrectly,
basic output works OK, but then there are various annoying corner
cases. In particular, we get the support for color (or lack of it)
wrong, and when output is garbled, users are annoyed. Things like
text editors are almost certain to behave incorrectly. Testing in
test-terminal-util indicates that the time required to make a successful
query is on the order of a dozen microseconds, and an unsuccessful
query costs as much as our timeout, i.e. currently 1/3 ms. I think
this is an acceptable tradeoff.

No caching is used, because fixup_environment() is only called once,
and the other place in build_environment(), only affects services
which are connected to a tty, which is only a handful of services,
and often only started in special circumstances.

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

5 months agobasic/terminal-util: add a heuristic check whether terminfo file exists
Zbigniew Jędrzejewski-Szmek [Mon, 19 May 2025 13:50:42 +0000 (15:50 +0200)] 
basic/terminal-util: add a heuristic check whether terminfo file exists

5 months agotest-terminal-util: print how long the asynchronous queries take
Zbigniew Jędrzejewski-Szmek [Sat, 17 May 2025 14:07:50 +0000 (16:07 +0200)] 
test-terminal-util: print how long the asynchronous queries take

5 months agobasic/terminal-util: query terminal name by DCS
Zbigniew Jędrzejewski-Szmek [Fri, 16 May 2025 13:30:02 +0000 (15:30 +0200)] 
basic/terminal-util: query terminal name by DCS

As requested in https://github.com/systemd/systemd/issues/36994,
use DCS + q name ST. This works, but has limited terminal support:
xterm, foot, kitty.

5 months agoMerge remote-tracking branch 'systemd-security/coredump-d'
Zbigniew Jędrzejewski-Szmek [Thu, 29 May 2025 15:22:19 +0000 (17:22 +0200)] 
Merge remote-tracking branch 'systemd-security/coredump-d'

5 months agologin: receive synthetic events for devices with 'uaccess' tag (#37654)
Luca Boccassi [Thu, 29 May 2025 14:11:14 +0000 (15:11 +0100)] 
login: receive synthetic events for devices with 'uaccess' tag (#37654)

Fixes #37579.

5 months agosysupdate: change status once operation has completed
Luca Boccassi [Wed, 28 May 2025 23:36:47 +0000 (00:36 +0100)] 
sysupdate: change status once operation has completed

Otherwise after the service exits it will still show
"Installing 'foobar'" as the status, which is confusing

5 months agoNEWS: fix description of CopyFiles==::fsverity=copy
Allison Karlitskaya [Thu, 29 May 2025 07:18:30 +0000 (09:18 +0200)] 
NEWS: fix description of CopyFiles==::fsverity=copy

This doesn't enable fs-verity on every file, but preserves the fs-verity
status that was present to start with.

5 months agodocs: add man pages for `sd_device_enumerator_add_match_*` (#37589)
Shubhendra Kushwaha [Thu, 29 May 2025 09:40:18 +0000 (15:10 +0530)] 
docs: add man pages for `sd_device_enumerator_add_match_*` (#37589)

Add man pages for:
- `sd_device_enumerator_add_all_parents`
- `sd_device_enumerator_add_match_parent`
- `sd_device_enumerator_add_match_property`
- `sd_device_enumerator_add_match_property_required`
- `sd_device_enumerator_add_match_subsystem`
- `sd_device_enumerator_add_match_sysattr`
- `sd_device_enumerator_add_match_sysname`
- `sd_device_enumerator_add_match_tag`
- `sd_device_enumerator_add_nomatch_sysname`
- `sd_device_enumerator_allow_uninitialized`.

Related to #20929

5 months agologin: add several debugging logs about synthetic events 37654/head
Yu Watanabe [Thu, 29 May 2025 02:05:29 +0000 (11:05 +0900)] 
login: add several debugging logs about synthetic events

5 months agologin: add device monitor instance to receive events for devices with uaccess tag
Yu Watanabe [Thu, 29 May 2025 01:22:21 +0000 (10:22 +0900)] 
login: add device monitor instance to receive events for devices with uaccess tag

With c960ca2be1cfd183675df581f049a0c022c1c802, logind triggers uevents
for devices with uaccess tag, and waits for the events being processed
by udevd.
However, logind received not all triggered events, and might lose some
events. That causes session and user state file not updated, and many
desktop environment application handled the session and user were inactive.

This introduces one more device monitor instance which monitor events
for devices with 'uaccess' tag. Hence, all triggered events will be
recieved by logind, and session and user state file will be updated.

Follow-up for c960ca2be1cfd183675df581f049a0c022c1c802.
Fixes #37579.

5 months agossh-generator: two cleanups (#37649)
Mike Yuan [Thu, 29 May 2025 00:26:44 +0000 (02:26 +0200)] 
ssh-generator: two cleanups (#37649)

5 months agotest: fix TEST-84-STORAGETM with nvme-cli < 2.7
Luca Boccassi [Wed, 28 May 2025 22:48:27 +0000 (23:48 +0100)] 
test: fix TEST-84-STORAGETM with nvme-cli < 2.7

The -vv parameter was added in version 2.7, check before using it

Follow-up for ebc0514a6507d51e536b269e30a036a7992beeb7

5 months agoDefine helper to call PR_SET_DUMPABLE
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 16:31:13 +0000 (18:31 +0200)] 
Define helper to call PR_SET_DUMPABLE

5 months agocoredump: introduce an enum to wrap dumpable constants
Zbigniew Jędrzejewski-Szmek [Tue, 27 May 2025 18:32:30 +0000 (20:32 +0200)] 
coredump: introduce an enum to wrap dumpable constants

Two constants are described in the man page, but are not defined by a header.
The third constant is described in the kernel docs. Use explicit values to
show that those are values are defined externally.

5 months agocoredump: when %F/pidfd is used, again allow forwarding to containers
Zbigniew Jędrzejewski-Szmek [Tue, 27 May 2025 08:44:32 +0000 (10:44 +0200)] 
coredump: when %F/pidfd is used, again allow forwarding to containers

5 months agocoredump: add support for new %F PIDFD specifier
Luca Boccassi [Sun, 13 Apr 2025 21:10:36 +0000 (22:10 +0100)] 
coredump: add support for new %F PIDFD specifier

A new core_pattern specifier was added, %F, to provide a PIDFD
to the usermode helper process referring to the crashed process.
This removes all possible race conditions, ensuring only the
crashed process gets inspected by systemd-coredump.

5 months agocoredump: get rid of a bogus assertion
Zbigniew Jędrzejewski-Szmek [Mon, 26 May 2025 13:24:04 +0000 (15:24 +0200)] 
coredump: get rid of a bogus assertion

The check looks plausible, but when I started checking whether it needs
to be lowered for the recent changes, I realized that it doesn't make
much sense.

context_parse_iovw() is called from a few places, e.g.:
- process_socket(), where the other side controls the contents of the
  message. We already do other checks on the correctness of the message
  and this assert is not needed.
- gather_pid_metadata_from_argv(), which is called after
  inserting MESSAGE_ID= and PRIORITY= into the array, so there is no
  direct relation between _META_ARGV_MAX and the number of args in the
  iovw.
- gather_pid_metadata_from_procfs(), where we insert a bazillion fields,
  but without any relation to _META_ARGV_MAX.

Since we already separately check if the required stuff was set, drop this
misleading check.

5 months agocoredump: also stop forwarding non-dumpable processes
Zbigniew Jędrzejewski-Szmek [Mon, 5 May 2025 13:48:40 +0000 (15:48 +0200)] 
coredump: also stop forwarding non-dumpable processes

See the comment in the patch for details.

Suggested-by: Qualys Security Advisory <qsa@qualys.com>
5 months agocoredump: use %d in kernel core pattern
Zbigniew Jędrzejewski-Szmek [Tue, 29 Apr 2025 12:47:59 +0000 (14:47 +0200)] 
coredump: use %d in kernel core pattern

The kernel provides %d which is documented as
"dump mode—same as value returned by prctl(2) PR_GET_DUMPABLE".

We already query /proc/pid/auxv for this information, but unfortunately this
check is subject to a race, because the crashed process may be replaced by an
attacker before we read this data, for example replacing a SUID process that
was killed by a signal with another process that is not SUID, tricking us into
making the coredump of the original process readable by the attacker.

With this patch, we effectively add one more check to the list of conditions
that need be satisfied if we are to make the coredump accessible to the user.

Reportedy-by: Qualys Security Advisory <qsa@qualys.com>
In principle, %d might return a value other than 0, 1, or 2 in the future.
Thus, we accept those, but emit a notice.

5 months agoupdate NEWS
Lennart Poettering [Wed, 28 May 2025 20:56:26 +0000 (22:56 +0200)] 
update NEWS

5 months agomeson: improve -ffinite-math-only option detection and silence warning when build...
Mike Yuan [Wed, 28 May 2025 20:42:39 +0000 (22:42 +0200)] 
meson: improve -ffinite-math-only option detection and silence warning when build with -Ofast (#37638)

5 months agotest: add test case for issue #36031 37465/head
Yu Watanabe [Thu, 15 May 2025 04:45:13 +0000 (13:45 +0900)] 
test: add test case for issue #36031

5 months agocore: introduce Unit.dependency_generation counter and restart loop when dependency...
Yu Watanabe [Thu, 15 May 2025 03:34:35 +0000 (12:34 +0900)] 
core: introduce Unit.dependency_generation counter and restart loop when dependency is updated in the loop

When starting unit A, a dependent unit B may be loaded if it is not
loaded yet, and the dependencies in unit A may be updated.
As Hashmap does not allow a new entry to be added in a loop, we need to
restart loop in such case.

Fixes a bug introduced by cda667722c2218cf1a0185284d2a87f8a25f1b2d.
Fixes #36031.

5 months agocore/transaction: do not override unit load state when unit_load() failed
Yu Watanabe [Tue, 20 May 2025 19:38:07 +0000 (04:38 +0900)] 
core/transaction: do not override unit load state when unit_load() failed

When unit_load() failed for some reasons, previously we overrided the
load state with UNIT_NOT_FOUND, but we did not update the
Unit.fragment_not_found_timestamp_hash. So, the unit may be loaded
multiple times when the unit is in a dependency list of another unit,
as manager_unit_cache_should_retry_load() will be true again even on
next call.
Let's not override the unit state set by unit_load().

Note, after unit_load(), the unit state should not be UNIT_STUB.
Let's also add the assertion about that.

This change is important when combined with the next commit, as with the
next commit we will restart the FOREACH_UNIT_DEPENDENCY() loop if an unit
is reloaded, hence overriding load state with UNIT_NOT_FOUND may cause
infinit loop.

5 months agocore/transaction: drop redundant call of bus_unit_validate_load_state()
Yu Watanabe [Tue, 20 May 2025 19:32:09 +0000 (04:32 +0900)] 
core/transaction: drop redundant call of bus_unit_validate_load_state()

The function manager_unit_cache_should_retry_load() reutrns true only
when the unit state is UNIT_NOT_FOUND. Hence, it is not necessary to
call bus_unit_validate_load_state() before checking
manager_unit_cache_should_retry_load().

5 months agocore/transaction: fix comment
Yu Watanabe [Thu, 15 May 2025 00:14:07 +0000 (09:14 +0900)] 
core/transaction: fix comment

5 months agocore/transaction: rename ret -> job
Yu Watanabe [Thu, 15 May 2025 00:10:36 +0000 (09:10 +0900)] 
core/transaction: rename ret -> job

5 months agossh-generator: add missing newline before [Service] and trailing NL to generated... 37649/head
Mike Yuan [Wed, 28 May 2025 20:30:46 +0000 (22:30 +0200)] 
ssh-generator: add missing newline before [Service] and trailing NL to generated service

5 months agossh-generator: fix typo
Mike Yuan [Wed, 28 May 2025 20:30:39 +0000 (22:30 +0200)] 
ssh-generator: fix typo

5 months agoNEWS: mention that udevadm can take device IDs to specify devices 37636/head
Yu Watanabe [Wed, 28 May 2025 18:59:16 +0000 (03:59 +0900)] 
NEWS: mention that udevadm can take device IDs to specify devices

5 months agoudevadm: allow to specify device by device ID
Yu Watanabe [Tue, 27 May 2025 18:18:14 +0000 (03:18 +0900)] 
udevadm: allow to specify device by device ID

We have already exposed device ID in the output of device ID in J
fields. Also sd_device_get_device_id() and sd_device_new_from_device_id()
are already public. Hence, making udevadm accept device IDs may be
useful.

With this change, as we save several data in /run/udev with device ID,
we can call udevadm something like the following:
```
udevadm info $(ls /run/udev/tags/uaccess)
```
Then, we can show all devices that has uaccess tag.

5 months agoudevadm-info: use RET_GATHER() at one more place
Yu Watanabe [Tue, 27 May 2025 18:20:16 +0000 (03:20 +0900)] 
udevadm-info: use RET_GATHER() at one more place

5 months agoman/udevadm: update command arguments
Yu Watanabe [Tue, 27 May 2025 18:11:15 +0000 (03:11 +0900)] 
man/udevadm: update command arguments

5 months agoNEWS: fix typo
Yu Watanabe [Wed, 28 May 2025 19:03:00 +0000 (04:03 +0900)] 
NEWS: fix typo

5 months agoNEWS: fix typos and formatting
Luca Boccassi [Wed, 28 May 2025 18:49:56 +0000 (19:49 +0100)] 
NEWS: fix typos and formatting

5 months agojournal-gatewayd: add /boots endpoint (#37574)
Jan Čermák [Wed, 28 May 2025 18:33:03 +0000 (20:33 +0200)] 
journal-gatewayd: add /boots endpoint (#37574)

Add endpoint for listing boots. Output format mimics `journalctl
--list-boots -o json`, so it's a plain array containing index, boot ID
and timestamps of the first and last entry. Initial implementation
returns boots ordered starting with the current one and doesn't allow
any filtering (i.e. equivalent of --lines argument).

Fixes: #37573
5 months agoMan page fixes (#37645)
Luca Boccassi [Wed, 28 May 2025 18:15:46 +0000 (19:15 +0100)] 
Man page fixes (#37645)

5 months agoNEWS: fix typo, reorganize a few entries
Mike Yuan [Wed, 28 May 2025 17:24:49 +0000 (19:24 +0200)] 
NEWS: fix typo, reorganize a few entries

5 months agoupdate TODO
Lennart Poettering [Wed, 28 May 2025 16:28:35 +0000 (18:28 +0200)] 
update TODO

5 months agoupdate NEWS in preparation for v258
Lennart Poettering [Wed, 28 May 2025 14:29:18 +0000 (16:29 +0200)] 
update NEWS in preparation for v258

5 months agopo: Translated using Weblate (Dutch)
Tim Vangehugten [Wed, 28 May 2025 09:31:44 +0000 (09:31 +0000)] 
po: Translated using Weblate (Dutch)

Currently translated at 92.2% (237 of 257 strings)

Co-authored-by: Tim Vangehugten <timvangehugten@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/nl/
Translation: systemd/main

5 months agoman: better tags, more links, minor grammar and formatting improvements 37645/head
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:20:50 +0000 (15:20 +0200)] 
man: better tags, more links, minor grammar and formatting improvements

Closes https://github.com/systemd/systemd/issues/35751.

5 months agoman/systemd.network: reword description of MulticastIGMPVersion=
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:31:19 +0000 (15:31 +0200)] 
man/systemd.network: reword description of MulticastIGMPVersion=

5 months agoman/systemd.timer: change to positive wording
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:30:20 +0000 (15:30 +0200)] 
man/systemd.timer: change to positive wording

5 months agoman: reword descriptions of numerical fields
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:30:05 +0000 (15:30 +0200)] 
man: reword descriptions of numerical fields

A "string" is a concept in C. In a text-based API, this is implicit, especially
if we say that something was "formatted". So change occurences of "decimal
string" to just "decimal". Similarly, "numerics" is unclear, say "digits".

Also, a "timestamp is in a clock" just sounds wrong. Reword those sentences.

5 months agoman/systemd-resolved: update description of routing
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:25:47 +0000 (15:25 +0200)] 
man/systemd-resolved: update description of routing

5 months agoman/systemd-analyze: rewrite "Exit status" section
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:25:23 +0000 (15:25 +0200)] 
man/systemd-analyze: rewrite "Exit status" section

5 months agoman/pam_systemd: use <constant> consistently
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:23:48 +0000 (15:23 +0200)] 
man/pam_systemd: use <constant> consistently

For some reason, <constant> and <literal> were used interchangeably.

5 months agoman: introduce openssl as man page provider and use it for ukify.1
Zbigniew Jędrzejewski-Szmek [Wed, 28 May 2025 13:23:03 +0000 (15:23 +0200)] 
man: introduce openssl as man page provider and use it for ukify.1

5 months agonetwork: fix handling of ENODATA when reading IFLA_MASTER attribute (#37633)
Luca Boccassi [Wed, 28 May 2025 11:20:00 +0000 (12:20 +0100)] 
network: fix handling of ENODATA when reading IFLA_MASTER attribute (#37633)

Fixes #37629.

5 months agosd-bus: rename internal structs and enums
Yu Watanabe [Wed, 28 May 2025 02:14:41 +0000 (11:14 +0900)] 
sd-bus: rename internal structs and enums

This renames e.g. struct bus_body_part -> BusMessageBodyPart to
follow our usual coding style. Also, several struct and enum
declarations are moved to relevant headers.
Also, this introduces bus-forward.h.

5 months agozsh-completion: improve systemd-run
Eisuke Kawashima [Tue, 27 May 2025 06:43:07 +0000 (15:43 +0900)] 
zsh-completion: improve systemd-run

- add missed options
- improve completion for property

5 months agocgroup-util: drop CGROUP_MASK_EXTEND_JOINED; move CGROUP_CPU_SHARES/BLKIO* to nspawn...
Yu Watanabe [Wed, 28 May 2025 00:50:05 +0000 (09:50 +0900)] 
cgroup-util: drop CGROUP_MASK_EXTEND_JOINED; move CGROUP_CPU_SHARES/BLKIO* to nspawn-oci (#37639)

5 months agocore/exec-invoke: don't set $TMPDIR if sandboxing is disabled (#37637)
Yu Watanabe [Wed, 28 May 2025 00:46:06 +0000 (09:46 +0900)] 
core/exec-invoke: don't set $TMPDIR if sandboxing is disabled (#37637)

Follow-ups for #37271.

5 months agocgroup-util: drop CGROUP_MASK_EXTEND_JOINED 37639/head
Mike Yuan [Tue, 27 May 2025 15:42:02 +0000 (17:42 +0200)] 
cgroup-util: drop CGROUP_MASK_EXTEND_JOINED

Also kill the "compat pair invalidation" logic in unit_invalidate_cgroup()

5 months agocgroup-util: move CGROUP_CPU_SHARES/BLKIO* to nspawn-oci
Mike Yuan [Tue, 27 May 2025 15:06:36 +0000 (17:06 +0200)] 
cgroup-util: move CGROUP_CPU_SHARES/BLKIO* to nspawn-oci

These are only used for translation from OCI metadata
to cgroup v2 values.