]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 months agofs-util: avoid overflow in MODE_TO_PTR() with MODE_INVALID 38341/head
Yu Watanabe [Fri, 25 Jul 2025 18:38:56 +0000 (03:38 +0900)] 
fs-util: avoid overflow in MODE_TO_PTR() with MODE_INVALID

Note, currently MODE_TO_PTR() and PTR_TO_MODE() are only used in
src/udev/udev-rules.c .

Fixes CID#1548060.

3 months agoinstall: skip later first_word() calls if one of earlier calls passes
Yu Watanabe [Fri, 25 Jul 2025 18:24:51 +0000 (03:24 +0900)] 
install: skip later first_word() calls if one of earlier calls passes

Prompted by CID#1587764, that is false-positive.

3 months agofuzz-efi-string: add missing OOM check
Yu Watanabe [Fri, 25 Jul 2025 18:05:20 +0000 (03:05 +0900)] 
fuzz-efi-string: add missing OOM check

Fixes CID#1610113 and CID#1610114.

3 months agodelta: add missing error check
Yu Watanabe [Fri, 25 Jul 2025 18:02:50 +0000 (03:02 +0900)] 
delta: add missing error check

Follow-up for 59829bb37a44a01c4394301fd65478037e6b01d8.
Fixes CID#1611425.

3 months agoordered-set: avoid overflow
Yu Watanabe [Fri, 25 Jul 2025 17:58:01 +0000 (02:58 +0900)] 
ordered-set: avoid overflow

Previously, ordered_set_put_strdupv() and friends returns the number of
pushed entries, but that is potentially larger than INT_MAX (of course,
realistically, OOM is triggered in that case).

No caller uses the number of the new entries. Let's return 1 when at
least one element is added.

Fixes CID#1611523.

3 months agotest: add explicit test cases for cpu_set_add() and cpu_set_add_range()
Yu Watanabe [Fri, 25 Jul 2025 17:31:37 +0000 (02:31 +0900)] 
test: add explicit test cases for cpu_set_add() and cpu_set_add_range()

cpu_set_add_range() is used in parse_cpu_set(), hence already tested.
But it is better to test these functions explicitly.

For CID#1611787 and CID#1611788, that should be false-positive.

3 months agocpu-set-util: check if cpu set is already allocated
Yu Watanabe [Fri, 25 Jul 2025 17:23:52 +0000 (02:23 +0900)] 
cpu-set-util: check if cpu set is already allocated

Prompted by CID#1611789, CID#1611790, and CID#1611791.

3 months agocpu-set-util: fix identical ternary expression
Yu Watanabe [Fri, 25 Jul 2025 17:15:56 +0000 (02:15 +0900)] 
cpu-set-util: fix identical ternary expression

Follow-up for fe3ada076ea8799a4d75f2e63adf540992d6fbb2.
Fixes CID#1611792.

3 months agocore/exec-invoke: check size of read size
Yu Watanabe [Fri, 25 Jul 2025 17:06:45 +0000 (02:06 +0900)] 
core/exec-invoke: check size of read size

Even though we do not use the read data, it is better to check the size
to prevent something spurious going.

Fixes CID#1612155.

3 months agoresolved: use usec_add() at one more place
Yu Watanabe [Fri, 25 Jul 2025 17:00:55 +0000 (02:00 +0900)] 
resolved: use usec_add() at one more place

Follow-up for 8458b7fb91ea5e5109b6f3c94f8a781a120c798b.
Fixes CID#1612580.

3 months agosyscalls table: add sh (#38338)
Luca Boccassi [Fri, 25 Jul 2025 18:23:00 +0000 (19:23 +0100)] 
syscalls table: add sh (#38338)

3 months agosyscalls-table: add sh and regenerated table 38338/head
Luca Boccassi [Fri, 25 Jul 2025 11:04:44 +0000 (12:04 +0100)] 
syscalls-table: add sh and regenerated table

3 months agoMeson: clean up "finding" of helper scripts (#38335)
Luca Boccassi [Fri, 25 Jul 2025 16:10:27 +0000 (17:10 +0100)] 
Meson: clean up "finding" of helper scripts (#38335)

Simplify meson definitions and use `files()` instead of `find_program()`
for internal scripts to make build logs cleaner.

3 months agomeson: add instructions for adding new arch to syscall.h
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 15:35:34 +0000 (17:35 +0200)] 
meson: add instructions for adding new arch to syscall.h

3 months agomeson: indent find_program() calls for readability 38335/head
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 10:18:40 +0000 (12:18 +0200)] 
meson: indent find_program() calls for readability

3 months agomeson: use files() not find_program() for helper scripts
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 10:18:19 +0000 (12:18 +0200)] 
meson: use files() not find_program() for helper scripts

We went back and forth between 'prog.sh', files('prog.sh'), and
find_program('prog.sh'). We want to use files() or find_program() so that we
get a good error message if the file is missing. Behaviour of meson changed
over time, and in the past not all forms could be used in all places. For
example 0f4c4f3824891aea6a76b2e861f38a6045b2a246 added find_program() in many
places to avoid repeated messages. But it seems that all recent meson versions
work fine with files().

find_program prints silly messages:
  Program tools/make-man-index.py found: YES
       (/home/zbyszek/src/systemd/tools/make-man-index.py)
  Program tools/meson-render-jinja2.py found: YES
       (/home/zbyszek/src/systemd/tools/meson-render-jinja2.py)
  ...
We know that those files will be found, they are part of the git checkout.
With files() this is gone and the meson output is easier to read.

3 months agotools: make all .py program files executable
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 10:12:08 +0000 (12:12 +0200)] 
tools: make all .py program files executable

All those files are standalone programs that can be executed directly.
Some .py files were marked executable, others weren't, probably accidentally.
Mark them all as executable in preparation for subsequent changes.

3 months agotools: consistently use #!/usr/bin/env python3
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 10:09:46 +0000 (12:09 +0200)] 
tools: consistently use #!/usr/bin/env python3

It's ugly, but it's better to be consistently ugly.

3 months agoman: consistently use #!/usr/bin/python
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 10:06:14 +0000 (12:06 +0200)] 
man: consistently use #!/usr/bin/python

Some files were using that, others weren't. Since those are user-facing
docs, we should use the nice clean form, not the workaround for strange
systems that we use in other places.

3 months agomeson: inline output file names
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 09:37:29 +0000 (11:37 +0200)] 
meson: inline output file names

Before 7d247d3cb875e1778e6cc81dbf255b13092b29e0, we needed the file name
twice. But now we only need it once, so no need to overcomplicate things
by defining a variable with a single use.

When a variable is used, it's also easier to make a mistake and e.g.
accidentally reuse the variable later.

3 months agoLogging fixlets (#38313)
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jul 2025 10:27:24 +0000 (12:27 +0200)] 
Logging fixlets (#38313)

3 months agotest-sd-device: filter out dm block devices at several more places
Yu Watanabe [Fri, 25 Jul 2025 00:30:01 +0000 (09:30 +0900)] 
test-sd-device: filter out dm block devices at several more places

Follow-up for 911a52b769e477fd13fbc84d9ac098b8c0298eaf.

Fixes #38332.

3 months agotest: modernize test-oomd-util (#38329)
Luca Boccassi [Fri, 25 Jul 2025 10:01:32 +0000 (11:01 +0100)] 
test: modernize test-oomd-util (#38329)

3 months agotest: stop firewalld and friends to make them not disturb test-firewall-util
Yu Watanabe [Thu, 24 Jul 2025 20:55:20 +0000 (05:55 +0900)] 
test: stop firewalld and friends to make them not disturb test-firewall-util

Hopefully fixes #35526.

3 months agotest: wait for userspace mount options applied (#38327)
Luca Boccassi [Fri, 25 Jul 2025 09:57:13 +0000 (10:57 +0100)] 
test: wait for userspace mount options applied (#38327)

Hopefully fixes #32712.

3 months agosysupdate: Prevent unnecessary failure when a transfer Path is not present
Nick Labich [Thu, 24 Jul 2025 19:25:58 +0000 (15:25 -0400)] 
sysupdate: Prevent unnecessary failure when a transfer Path is not present

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

3 months agoerrno-list: fallback to use our errno name table
Yu Watanabe [Fri, 25 Jul 2025 00:40:00 +0000 (09:40 +0900)] 
errno-list: fallback to use our errno name table

Some architecture specific errno may not be known by glibc.
Let's fallback to our table when strerrorname_np() returns NULL.

Fixes the following error in mips:
```
src/test/test-errno-list.c:14: Assertion failed: Expected "errno_to_name(i) == errno_names[i]", got "(null) != EINIT"
```

Follow-up for 03ccee19396ae604d9ac1570dddb8b41ec0e7253.

3 months agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Fri, 25 Jul 2025 00:08:00 +0000 (00:08 +0000)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

3 months agotest: modernize tests.c and tests.h 38329/head
Yu Watanabe [Thu, 24 Jul 2025 23:50:11 +0000 (08:50 +0900)] 
test: modernize tests.c and tests.h

- use ASSERT_OK() and friends,
- use mkdtemp_malloc(),
- use pidref_safe_fork() and pidref_wait_for_terminate_and_check().

3 months agotest: modernize test-oomd-util
Yu Watanabe [Thu, 24 Jul 2025 21:15:38 +0000 (06:15 +0900)] 
test: modernize test-oomd-util

- use DEFINE_TEST_MAIN() macro,
- use ASSERT_OK() and friends,
- drop restriction that the test must run as root,
- replace sleep(2) with loop of shorter sleep and cg_is_empty(),
- applied several coding style cleanups.

3 months agotest: several fixlets for journal related failures (#38308)
Yu Watanabe [Thu, 24 Jul 2025 23:03:08 +0000 (08:03 +0900)] 
test: several fixlets for journal related failures (#38308)

Hopefully fixes #37818, #37143, #38287.

3 months agocore/dbus-manager: validate unit type before calling into service-specific methods...
Luca Boccassi [Thu, 24 Jul 2025 22:17:41 +0000 (23:17 +0100)] 
core/dbus-manager: validate unit type before calling into service-specific methods (#38323)

Fixes #38320

3 months agoTEST-10-MOUNT: wait for userspace mount options being loaded 38327/head
Yu Watanabe [Thu, 24 Jul 2025 19:12:10 +0000 (04:12 +0900)] 
TEST-10-MOUNT: wait for userspace mount options being loaded

When a device is mounted with userspace options such as _netdev, even when the mount event source is
triggered, only /proc/self/mountinfo may be updated, and /run/mount/utab may not be updated yet.
Hence, the mount unit may be created/updated without the userspace options. In that case, the mount
event source will be retriggered when /run/mount/utab is updated, and the mount unit will be updated
again with the userspace options. Typically, the window between the two calls is very short, but when
the mount event source is ratelimited after the first event, processing the second event may be delayed
about 1 secound. Hence, here we need to wait for a while.

By adding a debugging logs in mount_setup_unit(), the userspace mount is
not obtained in the first event, and the second event is delayed by the ratelimit.
```
[   20.023086] H TEST-10-MOUNT.sh[446]: + mount -t ext4 -o _netdev /dev/loop1p1 /tmp/deptest
[   20.026255] H kernel: EXT4-fs (loop1p1): mounted filesystem c1fa00ea-2ba8-46b2-9002-2ac997f4cda9 r/w with ordered data mode. Quota mode: none.
[   20.026537] H TEST-10-MOUNT.sh[446]: + timeout 10 bash -c 'until systemctl -q is-active tmp-deptest.mount; do sleep .1; done'
[   20.032293] H systemd[1]: tmp-deptest.mount: mount_setup_unit: proc: yes, netdev: no
[   20.035978] H systemd[1]: Unit blockdev@dev-loop1p1.target has alias blockdev@.target.
[   20.039765] H systemd[1]: tmp-deptest.mount: Changed dead -> mounted
[   20.046598] H systemd[1]: Event source 0x7c73093e05e0 (mount-monitor-dispatch) entered rate limit state.
```

Hopefully fixes #32712.

3 months agoTEST-10-MOUNT: make cleanup function run on error
Yu Watanabe [Thu, 24 Jul 2025 16:17:44 +0000 (01:17 +0900)] 
TEST-10-MOUNT: make cleanup function run on error

3 months agoTEST-60-MOUNT-RATELIMIT: use reload to make new config applied
Yu Watanabe [Thu, 24 Jul 2025 15:17:08 +0000 (00:17 +0900)] 
TEST-60-MOUNT-RATELIMIT: use reload to make new config applied

3 months agotest: move testcase_dependencies() to TEST-10-MOUNT
Yu Watanabe [Thu, 24 Jul 2025 15:14:59 +0000 (00:14 +0900)] 
test: move testcase_dependencies() to TEST-10-MOUNT

TEST-60-MOUNT_RATELIMIT is run on nspawn by default, and currently run
on vm only on arch mkosi. Let's move the test case to new TEST-10-MOUNT,
which always run on vm.

3 months agointegration-test: mention TEST_SAVE_JOURNAL in README
Yu Watanabe [Thu, 24 Jul 2025 17:50:06 +0000 (02:50 +0900)] 
integration-test: mention TEST_SAVE_JOURNAL in README

3 months agointegration-test: show journalctl command for showing saved journal when TEST_SAVE_JO...
Yu Watanabe [Thu, 24 Jul 2025 17:46:07 +0000 (02:46 +0900)] 
integration-test: show journalctl command for showing saved journal when TEST_SAVE_JOURNAL=1

3 months agoNEWS: document BPF delegate options
Matteo Croce [Thu, 24 Jul 2025 12:43:23 +0000 (14:43 +0200)] 
NEWS: document BPF delegate options

Document the new BPF delegate options, AKA BPF tokens.

3 months agopo: Translated using Weblate (Arabic)
joo es [Thu, 24 Jul 2025 14:54:26 +0000 (14:54 +0000)] 
po: Translated using Weblate (Arabic)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: joo es <jonnyse@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ar/
Translation: systemd/main

3 months agopo: Translated using Weblate (Georgian)
Temuri Doghonadze [Thu, 24 Jul 2025 14:54:26 +0000 (14:54 +0000)] 
po: Translated using Weblate (Georgian)

Currently translated at 100.0% (264 of 264 strings)

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

3 months agopo: Translated using Weblate (Portuguese)
Américo Monteiro [Thu, 24 Jul 2025 14:54:25 +0000 (14:54 +0000)] 
po: Translated using Weblate (Portuguese)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Américo Monteiro <a_monteiro@gmx.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/pt/
Translation: systemd/main

3 months agopo: Translated using Weblate (Polish)
Piotr Drąg [Thu, 24 Jul 2025 14:54:25 +0000 (14:54 +0000)] 
po: Translated using Weblate (Polish)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Piotr Drąg <piotrdrag@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/pl/
Translation: systemd/main

3 months agopo: Translated using Weblate (French)
Léane GRASSER [Thu, 24 Jul 2025 14:54:25 +0000 (14:54 +0000)] 
po: Translated using Weblate (French)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main

3 months agovmspawn: add machine types for m68k/sparc64 and default to 'none' if unknown
Luca Boccassi [Thu, 24 Jul 2025 13:13:11 +0000 (14:13 +0100)] 
vmspawn: add machine types for m68k/sparc64 and default to 'none' if unknown

Qemu has a 'none' machine that can be used for very basic booting
on weird arches, just default to that unless otherwise specified

3 months agotpm2-clear: build only if bootloader/openssl are enabled
Luca Boccassi [Thu, 24 Jul 2025 12:15:32 +0000 (13:15 +0100)] 
tpm2-clear: build only if bootloader/openssl are enabled

The tpm2-clear units are only installed if tpm/bootloader/ssl are
enabled. The tpm2-setup binary/units are built and installed only
if tpm/bootloader/ssl are enabled.
Do the same for the tpm2-clear binary to keep it consistent.

3 months agoTEST-07-PID1: add test case for #38320 38323/head
Mike Yuan [Thu, 24 Jul 2025 14:29:41 +0000 (16:29 +0200)] 
TEST-07-PID1: add test case for #38320

3 months agotest: various cleanups for TEST-04-JOURNAL.journal-reload.sh 38308/head
Yu Watanabe [Wed, 23 Jul 2025 20:04:52 +0000 (05:04 +0900)] 
test: various cleanups for TEST-04-JOURNAL.journal-reload.sh

- rename to TEST-04-JOURNAL.reload.sh,
- use trap to call cleanup(),
- use systemd-run to write journals, to make each journal entries to be
  distinguished by the service name,
- greatly simplifies verify_journals(),
- drop unnecessary calls of sleep command, etc, etc.

Follow-ups for df5b3426f60bb626f46f93fbdacecae274c1645b.
Hopefully fixes #38287.

3 months agocore/dbus-manager: validate unit type before calling into service-specific methods
Mike Yuan [Thu, 24 Jul 2025 13:55:29 +0000 (15:55 +0200)] 
core/dbus-manager: validate unit type before calling into service-specific methods

Fixes #38320

3 months agocore/dbus-manager: don't ever try to dump fdstore for units not properly loaded
Mike Yuan [Thu, 24 Jul 2025 14:07:28 +0000 (16:07 +0200)] 
core/dbus-manager: don't ever try to dump fdstore for units not properly loaded

3 months agojournal: clear cached journal storage space before vacuum journals
Yu Watanabe [Thu, 24 Jul 2025 12:14:13 +0000 (21:14 +0900)] 
journal: clear cached journal storage space before vacuum journals

Otherwise, the cached storage space may be calculated based on the old
journald.conf settings.

Follow-up for 922d037f349b72139480cdded41b3fa23a3001be and
df5b3426f60bb626f46f93fbdacecae274c1645b.

3 months agoTEST-04-JOURNAL: use bash to make builtin echo command used
Yu Watanabe [Wed, 23 Jul 2025 18:34:26 +0000 (03:34 +0900)] 
TEST-04-JOURNAL: use bash to make builtin echo command used

When non-builtin echo command is used, then the command may exit before
journald find the source of the stream, and the log filtering may not be
applied.

Hopefully fixes #37143.

3 months agoTEST-07-PID: journalctl -u may not work for short living processes
Yu Watanabe [Wed, 23 Jul 2025 18:16:11 +0000 (03:16 +0900)] 
TEST-07-PID: journalctl -u may not work for short living processes

Hopefully fixes #37818.

3 months agotest: drop executable flag from prefix-shell.service
Yu Watanabe [Wed, 23 Jul 2025 18:11:47 +0000 (03:11 +0900)] 
test: drop executable flag from prefix-shell.service

3 months agotest-memstream-util.c: Migrate to new assertion macros
Yaping Li [Wed, 23 Jul 2025 21:16:03 +0000 (14:16 -0700)] 
test-memstream-util.c: Migrate to new assertion macros

We recently added a new set of assertion macros such as ASSERT_GE, ASSERT_OK, ASSERT_EQ, ... which show not
only the expression that failed but also the values of the arguments of the expression. Let's use them.

3 months agoLICENSES/README: update file paths after moves
Luca Boccassi [Thu, 24 Jul 2025 11:20:26 +0000 (12:20 +0100)] 
LICENSES/README: update file paths after moves

Follow-up for 1a60b97524d8408e5f059b09ae316987c698e671

3 months agoFix typos found by Lintian
Luca Boccassi [Thu, 24 Jul 2025 08:00:25 +0000 (09:00 +0100)] 
Fix typos found by Lintian

3 months agoudev: downgrade ENOMEDIUM warnings 38313/head
Zbigniew Jędrzejewski-Szmek [Thu, 24 Jul 2025 08:42:50 +0000 (10:42 +0200)] 
udev: downgrade ENOMEDIUM warnings

I noticed similar warnings in many VM boots:
  fedora (udev-worker)[475]: sr0: Failed to open device node: No medium found
This particular one is from src/udev/udev-builtin-uaccess.c:125, but I think the
same principle should be used in all places: if we are ignoring errors that the
device has been removed, we should also ignore ENOMEDIUM.

3 months agocore/socket: shorten/reword message about restarted sockets
Zbigniew Jędrzejewski-Szmek [Thu, 24 Jul 2025 08:25:59 +0000 (10:25 +0200)] 
core/socket: shorten/reword message about restarted sockets

log_unit_warning() already prints the full unit name, so we don't need to say
that it is a socket unit. And in technical messages articles like "the" are
generally skipped to make the messages shorter. Use simpler tense and simpler
wording.

Example from log: fedora.local systemd[1]: systemd-initctl.socket: Socket unit
        configuration has changed while unit has been running, no open socket file
        descriptor left. The socket unit is not functional until restarted.
This is just too wordy and says "socket" four times.

3 months agoNEWS: add description for DHCPv6 SIP feature
Zbigniew Jędrzejewski-Szmek [Thu, 24 Jul 2025 06:53:19 +0000 (08:53 +0200)] 
NEWS: add description for DHCPv6 SIP feature

Also move the description of IPv4DuplicateAddressDetectionTimeoutSec=
to the section about systemd-networkd. The change of the timeout doesn't
have to be described as "incompatible". It's more of a bugfix, the previous
timeout was just strangely large and hopefully nobody relied on this detail
of implementation.

Also, reword to say that MPLSRouting= just controls enablement, nothing more.

3 months agoNEWS: some typos and whitespace fixes
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 21:05:16 +0000 (23:05 +0200)] 
NEWS: some typos and whitespace fixes

3 months agotest-unit-serialize.c: Migrate to new assertion macros
Yaping Li [Wed, 23 Jul 2025 00:30:35 +0000 (17:30 -0700)] 
test-unit-serialize.c: Migrate to new assertion macros

We recently added a new set of assertion macros such as ASSERT_GE, ASSERT_OK, ASSERT_EQ, ... which show not
only the expression that failed but also the values of the arguments of the expression. Let's use them.

3 months agomeson: Detect ELF ABI version for bpf build on ppc64 (#38307)
Cosima Neidahl [Wed, 23 Jul 2025 20:42:13 +0000 (22:42 +0200)] 
meson: Detect ELF ABI version for bpf build on ppc64 (#38307)

On 64-bit POWER, there are multiple versions of the ELF ABI in use.

- little-endian powerpc64 is ELFv2
- big-endian powerpc64 is
  - ELFv2 when using musl
  - either ELFv1 or ELFv2 when using glibc

Previously, the BPF build was hard-coding `-D_CALL_ELF=2`, which is
ELFv2. This makes the build fail on ELFv1, similarly to the original
issue that necessitated the addition of this flag on powerpc64le.

To fix this:

1. Use ELFv1 as the default (when `_CALL_ELF` is not defined, this is
the assumption that should be made about the ABI version).
2. Check if the C compiler has `_CALL_ELF` defined, and if it does,
override the default with that.
That's technically not the *correct* compiler in this situation, but I'm
unsure how to get a compiler object for the BPF one from Meson to do the
`*_define('_CALL_ELF')` checks with, and they *should* both be targeting
the same ABI version anyway.
3. Add the ABI version to the `_CALL_ELF` definition for the BPF
compiler flags.

This makes a BPF-enabled build succeed on powerpc64 w/ ELFv1 glibc.

3 months agopo: update Japanese translations
Yu Watanabe [Wed, 23 Jul 2025 17:29:57 +0000 (02:29 +0900)] 
po: update Japanese translations

3 months agopo: Update translation files
Weblate [Wed, 23 Jul 2025 16:54:47 +0000 (16:54 +0000)] 
po: Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/
Translation: systemd/main

3 months agoRevert "po: update Japanese translations"
Yu Watanabe [Wed, 23 Jul 2025 17:58:07 +0000 (02:58 +0900)] 
Revert "po: update Japanese translations"

This reverts commit 59af98ab204aa6381c0c592cd0d14f8c604647e6.

The commit conflicts with Weblate's one. Tentatively revert the commit to
resolve the conflict.

3 months agopo: update Japanese translations
Yu Watanabe [Wed, 23 Jul 2025 17:29:57 +0000 (02:29 +0900)] 
po: update Japanese translations

3 months agoChores for RC1 (#38300) v258-rc1
Luca Boccassi [Wed, 23 Jul 2025 16:54:25 +0000 (17:54 +0100)] 
Chores for RC1 (#38300)

3 months agoFix Positivo K116J search key and www shortcut
luc-salles [Wed, 23 Jul 2025 15:30:26 +0000 (11:30 -0400)] 
Fix Positivo K116J search key and www shortcut

3 months agonetwork: several follow-ups for recent changes (#38298)
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 15:16:17 +0000 (17:16 +0200)] 
network: several follow-ups for recent changes (#38298)

3 months agomeson: update version numbers for v258~rc1 38300/head
Luca Boccassi [Wed, 23 Jul 2025 13:33:35 +0000 (14:33 +0100)] 
meson: update version numbers for v258~rc1

3 months agopo: update systemd-pot
Luca Boccassi [Wed, 23 Jul 2025 14:39:17 +0000 (15:39 +0100)] 
po: update systemd-pot

ninja -C build systemd-pot

3 months agohwdb: update
Luca Boccassi [Wed, 23 Jul 2025 13:27:38 +0000 (14:27 +0100)] 
hwdb: update

ninja -C build update-hwdb

3 months agoNEWS: add time/place
Luca Boccassi [Wed, 23 Jul 2025 13:32:09 +0000 (14:32 +0100)] 
NEWS: add time/place

3 months agoNEWS: update contributors list
Luca Boccassi [Wed, 23 Jul 2025 13:25:25 +0000 (14:25 +0100)] 
NEWS: update contributors list

3 months agonetwork/state-file: coding style fixlet 38298/head
Yu Watanabe [Wed, 23 Jul 2025 13:21:31 +0000 (22:21 +0900)] 
network/state-file: coding style fixlet

Follow-up for 168ad243cc7d5632e24dfc75f28d8e25c2076f83.

3 months agonetwork/state-file: ignore any errors in sd_dhcp6_lease_get_dnr()
Yu Watanabe [Wed, 23 Jul 2025 13:21:03 +0000 (22:21 +0900)] 
network/state-file: ignore any errors in sd_dhcp6_lease_get_dnr()

Follow-up for 168ad243cc7d5632e24dfc75f28d8e25c2076f83.

For consistency with other places.

3 months agonetwork/json: ignore -ENODATA and any failures from sd_dhcp_lease_get_sip()
Yu Watanabe [Wed, 23 Jul 2025 13:18:17 +0000 (22:18 +0900)] 
network/json: ignore -ENODATA and any failures from sd_dhcp_lease_get_sip()

Addresses https://github.com/systemd/systemd/pull/38269#discussion_r2225375899.

Follow-up for 238c427aa9c4bc28c1840e550551a984b33d44da.

3 months agoNEWS: fix wrong path for sd-stub global extensions directory
Luca Boccassi [Wed, 23 Jul 2025 13:22:08 +0000 (14:22 +0100)] 
NEWS: fix wrong path for sd-stub global extensions directory

3 months agostub: check if security override is available before using it (#38295)
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 13:16:01 +0000 (15:16 +0200)] 
stub: check if security override is available before using it (#38295)

Avoids fallback that requires it if it is not available. Can be dropped
once support for shim < 16 is no longer needed

Follow-up for 23d56ae890f8e7c8e29ef51e05494e445725d3ff

3 months agoNEWS: add new entries
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 13:10:56 +0000 (15:10 +0200)] 
NEWS: add new entries

The section for systemd-vmspawn is grouped with systemd-nspawn
and systemd-machined, and systemd-analyze gets a new section of
its own.

3 months agoNEWS: adjust style
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 13:10:01 +0000 (15:10 +0200)] 
NEWS: adjust style

For meson options, say '-Dfoo=' to make them visually different.
Adjust grammar and punctuation in various places.
Break very long lines where feasible.

3 months agomeson: crypt.h must always exist
Yu Watanabe [Wed, 23 Jul 2025 04:13:29 +0000 (13:13 +0900)] 
meson: crypt.h must always exist

We require at least crypt_r() exists, and it is provided since glibc-2.0
(and dropped in glibc-2.39) or by libxcrypt, and the function is
provided in crypt.h regardless it is provided by glibc or libxcrypt.
Hence, we cannot fallback to unistd.h.

This makes the condition about crypt.h more strict, and stop compilation
earlier when crypt.h does not exist.

3 months agonetworkctl-config-file: validate args are valid filenames
Mike Yuan [Wed, 23 Jul 2025 08:30:18 +0000 (10:30 +0200)] 
networkctl-config-file: validate args are valid filenames

... as opposed to full paths

Fixes #38288

3 months agostub: check if security override is available before using it 38295/head
Luca Boccassi [Wed, 23 Jul 2025 09:11:34 +0000 (10:11 +0100)] 
stub: check if security override is available before using it

Avoids fallback that requires it if it is not available. Can
be dropped once support for shim < 16 is no longer needed

Follow-up for 23d56ae890f8e7c8e29ef51e05494e445725d3ff

3 months agotree-wide: several fixlets for log message and comment (#38263)
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 08:17:33 +0000 (10:17 +0200)] 
tree-wide: several fixlets for log message and comment (#38263)

3 months agogetty-generator: fine-grained execution control (#38258)
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jul 2025 07:58:27 +0000 (09:58 +0200)] 
getty-generator: fine-grained execution control (#38258)

Closes #37928.

3 months agostub: restore compatibility for shim (< 16.0) -> UKI case
Luca Boccassi [Mon, 14 Jul 2025 23:52:01 +0000 (00:52 +0100)] 
stub: restore compatibility for shim (< 16.0) -> UKI case

It is possible to boot directly a UKI from shim, and Fedora Cloud Base UKI
does exactly this.
This used to work fine until https://github.com/systemd/systemd/pull/37372
which broke compatibility when shim < 16.0 (no loader protocol override) is
used. Shim 15.8 is still in use in several distributions, and will be for
a long time.

Restore a part of the previous implementation, and if running with secure
boot enabled, and with shim but < 16.0, apply a security override.

Follow-up for cab9c7b5a42effa8a45611fc6b8556138c869b5f

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

3 months agotest-user-record.c: Migrate to new assertion MACROs
Yaping Li [Tue, 22 Jul 2025 22:23:48 +0000 (15:23 -0700)] 
test-user-record.c: Migrate to new assertion MACROs

We recently added a new set of assertion macros such as ASSERT_GE, ASSERT_OK, ASSERT_EQ, ... which show not
only the expression that failed but also the values of the arguments of the expression. Let's use them.

3 months agotest-web-util.c: Use ASSERT_FALSE() instead of ASSERT_TRUE() where appropriate
Yaping Li [Tue, 22 Jul 2025 21:20:14 +0000 (14:20 -0700)] 
test-web-util.c: Use ASSERT_FALSE() instead of ASSERT_TRUE() where appropriate

3 months agomeson: prepend sys_root to bpf isystem
James Hilliard [Mon, 21 Jul 2025 19:04:49 +0000 (13:04 -0600)] 
meson: prepend sys_root to bpf isystem

These sort of absolute include paths are generally unsafe when cross compiling.

3 months agoTEST-81-GENERATORS: add test cases for systemd.getty_auto=console and friends 38258/head
Yu Watanabe [Fri, 18 Jul 2025 17:10:15 +0000 (02:10 +0900)] 
TEST-81-GENERATORS: add test cases for systemd.getty_auto=console and friends

3 months agogetty-generator: add support for fine-grained control of execution modes
Allison Karlitskaya [Tue, 24 Jun 2025 08:15:14 +0000 (10:15 +0200)] 
getty-generator: add support for fine-grained control of execution modes

This makes the systemd.getty_auto= kernel command line option and the
$SYSTEMD_GETTY_AUTO environment variable takes the list of classes of
services: credential, container, console, builtin.

This also add getty.auto credential that can take the same value as the
kernel command line option.

Closes #37928.

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
3 months agogetty-generator: show original path in the log message
Yu Watanabe [Fri, 18 Jul 2025 17:55:01 +0000 (02:55 +0900)] 
getty-generator: show original path in the log message

This fixes the following log message:
Before:
```
Invalid container tty device specified, ignoring: (null)
```
After:
```
Invalid container tty device specified, ignoring: /dev/tty0
```

If a non-pts device path is passed to add_container_getty(), we call
add_getty_impl() with NULL tty, so previously (null) was logged.
Let's log the original path when an invalid tty is specified.

3 months agonetworkd/dhcp6: Add support for IPv6 SIP servers (#38269)
Yu Watanabe [Tue, 22 Jul 2025 23:09:06 +0000 (08:09 +0900)] 
networkd/dhcp6: Add support for IPv6 SIP servers (#38269)

This pull-request adds support for IPv6 SIP servers, which can be
obtained from DHCPv6 options.

[RFC3319](https://www.rfc-editor.org/rfc/rfc3319.html) defines two
options for this: option 21 (SIP Servers Domain Name List) and option 22
(SIP Servers IPv6 Address List).

systemd-networkd currently only supports IPv4 SIP servers, but ISPs like
NTT EAST provide IPv6 SIP servers. Exposing this in the D-Bus API would
allow other programs, such as downstream DHCPv6 servers, to utilize it.

Usage:

```
[DHCPv6]
UseSIP=yes
```

Partial output of `run0 systemd-networkd-tests.py
NetworkdDHCPClientTests.test_dhcp_client_use_sip`:

```console
> networkctl status veth99
● 17: veth99
                 NetDev File: /run/systemd/network/25-veth.netdev
                   Link File: /usr/lib/systemd/network/99-default.link
                Network File: /run/systemd/network/25-dhcp-client.network
                              └─/run/systemd/network/25-dhcp-client.network.d/override.conf
                       State: routable (configured)
                Online state: online
                        Type: ether
                        Kind: veth
                      Driver: veth
            Hardware Address: 12:34:56:78:9a:bc
                         MTU: 1500 (min: 68, max: 65535)
                       QDisc: noqueue
IPv6 Address Generation Mode: eui64
    Number of Queues (Tx/Rx): 2/2
            Auto negotiation: no
                       Speed: 10Gbps
                      Duplex: full
                        Port: tp
                     Address: 192.168.5.181 (DHCPv4 via 192.168.5.1)
                              2600::15
                              fe80::1034:56ff:fe78:9abc
                     Gateway: 192.168.5.1
                              fe80::1034:56ff:fe78:9abd
                         SIP: 192.168.5.1
                              2600::1
                              foo.example.com
           Activation Policy: up
         Required For Online: yes
            DHCPv4 Client ID: IAID:0x7ec6b6c/DUID
          DHCPv6 Client IAID: 0x7ec6b6c
          DHCPv6 Client DUID: DUID-EN/Vendor:0000ab11617740de1342c3a2
```

3 months agodocs: fix SurviveFinalKillSignal typo
Nick Owens [Tue, 22 Jul 2025 16:59:47 +0000 (09:59 -0700)] 
docs: fix SurviveFinalKillSignal typo

3 months agodocs: mention LoaderTpm2ActivePcrBanks in BLI
Luca Boccassi [Fri, 18 Jul 2025 22:13:35 +0000 (23:13 +0100)] 
docs: mention LoaderTpm2ActivePcrBanks in BLI

Follow-up for 6eab4cd44c3c43698dcfc2c3bc8cd31ed610a812

3 months agounits/ssh-access.target: enable StopWhenUnneeded=
Mike Yuan [Sat, 19 Jul 2025 09:11:31 +0000 (11:11 +0200)] 
units/ssh-access.target: enable StopWhenUnneeded=

This combines nicely with the X_SYSTEMD_UNIT_INACTIVE= notification
we send out, to ensure when all sshd units go down the actual
status is always reflected on the target.

3 months agoUpdate USER_RECORD.md (#38283)
Philip Freeman [Tue, 22 Jul 2025 09:27:37 +0000 (02:27 -0700)] 
Update USER_RECORD.md (#38283)

trailing comma here is invalid json.

3 months agotest-network: add test cases for SIP servers 38269/head
haxibami [Tue, 22 Jul 2025 08:06:11 +0000 (17:06 +0900)] 
test-network: add test cases for SIP servers