]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 months agodissect-image: use strv_free_erase() at one more place
Lennart Poettering [Mon, 19 Feb 2024 15:38:01 +0000 (16:38 +0100)] 
dissect-image: use strv_free_erase() at one more place

3 months agocryptenroll: fix type confusion on acquire_tpm2_key() parameter
Lennart Poettering [Mon, 19 Feb 2024 15:37:36 +0000 (16:37 +0100)] 
cryptenroll: fix type confusion on acquire_tpm2_key() parameter

3 months agoask-password: rework how we pass request meta info when asking passwords
Lennart Poettering [Mon, 19 Feb 2024 15:35:12 +0000 (16:35 +0100)] 
ask-password: rework how we pass request meta info when asking passwords

Rather than adding more and more parameters to ask_password_auto(), let's
pass a structure of the fields that often are constant anyway.

This way, callers can fill in what they need, and we take the filled
structure which we can pass around internally as one.

This is in particular preparation for adding one more field in one of
the next commits.

3 months agocore/mount: if umount(8) fails but mount disappeared, assume success
Mike Yuan [Fri, 16 Feb 2024 19:03:50 +0000 (03:03 +0800)] 
core/mount: if umount(8) fails but mount disappeared, assume success

Fixes #31337

3 months agohwdb: Add support for MetawillBook01 to 60-sensor.hwdb
Zmyeir [Tue, 20 Feb 2024 10:50:03 +0000 (18:50 +0800)] 
hwdb: Add support for MetawillBook01 to 60-sensor.hwdb
Add accel orientation quirk for the METAPHYUNI MetawillBook01 2-in-1 laptop

3 months agoboot: padding for default arrow at too long lines
MrSmör [Thu, 16 Nov 2023 12:31:50 +0000 (13:31 +0100)] 
boot: padding for default arrow at too long lines

If the default boot entry name doesnt leave enough space for the
indicator arrow, it overwrote the first two characters of the entry

Now every line will always have enough padding.

3 months agoMerge pull request #31388 from keszybz/bitfield-cleanup
Luca Boccassi [Tue, 20 Feb 2024 12:15:24 +0000 (12:15 +0000)] 
Merge pull request #31388 from keszybz/bitfield-cleanup

Bitfield cleanup

3 months agoanalyze: skip to check ExecCommand for .mount and .swap units
Yu Watanabe [Tue, 20 Feb 2024 02:09:43 +0000 (11:09 +0900)] 
analyze: skip to check ExecCommand for .mount and .swap units

They are not set by a unit file, but dynamically generated.

Fixes a bug caused by abf0ccc1c6fb81fdcb801566695600a518a28b43.

Fixes #31396.

3 months agologind: drop bitfield annotations 31388/head
Zbigniew Jędrzejewski-Szmek [Mon, 19 Feb 2024 11:25:29 +0000 (12:25 +0100)] 
logind: drop bitfield annotations

As in other cases, this is simpler but better.

pahole:
- /* size: 336, cachelines: 6, members: 50 */
- /* sum members: 316, holes: 4, sum holes: 19 */
- /* sum bitfield members: 4 bits, bit holes: 1, sum bit holes: 4 bits */
- /* last cacheline: 16 bytes */
+ /* size: 328, cachelines: 6, members: 50 */
+ /* sum members: 320, holes: 3, sum holes: 8 */
+ /* last cacheline: 8 bytes */

3 months agotimesyncd: reorder structs instead of useless bitfields
Zbigniew Jędrzejewski-Szmek [Mon, 19 Feb 2024 11:20:20 +0000 (12:20 +0100)] 
timesyncd: reorder structs instead of useless bitfields

Because of alignment, those bitfields were not doing anything useful,
and were causing the generated code to be more complicated. But in this
case, at least potentially there might be a number of copies of those
structs (if we have a bunch of time servers configured), so let's actually
implement the intended space savings by reording the fields to reduce the
size of holes.

3 months agosystemctl: drop pointless bitfield
Zbigniew Jędrzejewski-Szmek [Mon, 19 Feb 2024 11:11:19 +0000 (12:11 +0100)] 
systemctl: drop pointless bitfield

3 months agosysupdate: drop pointless bitfields
Zbigniew Jędrzejewski-Szmek [Mon, 19 Feb 2024 11:10:34 +0000 (12:10 +0100)] 
sysupdate: drop pointless bitfields

Again, even without considering how many copies of the struct there
can be, this bitfield is useless because of alignment.

3 months agocore/kmod-setup: drop another pointless bitfield annotation
Zbigniew Jędrzejewski-Szmek [Mon, 19 Feb 2024 11:02:55 +0000 (12:02 +0100)] 
core/kmod-setup: drop another pointless bitfield annotation

We have two bools followed by a func pointer, which is aligned to e.g. 8 bytes,
so whether the two bools take one bit, one byte, or even a full word, makes no
difference in storage size. But the code generated to service a bitfield is
more complicated.

Also switch to FOREACH_ARRAY().

3 months agoudev: String substitutions can be done in ENV, too
runiq [Mon, 19 Feb 2024 11:03:57 +0000 (12:03 +0100)] 
udev: String substitutions can be done in ENV, too

Precedence for example in https://github.com/systemd/systemd/blob/ac63c8df309e37960618610d8b57ac19ac657254/rules.d/99-systemd.rules.in#L75.

Add ENV to the list of keys where string substitutions can be used.

While I'm at it, also sort the list in that paragraph alphabetically.

3 months agohome: fix typo
Yu Watanabe [Tue, 20 Feb 2024 00:24:24 +0000 (09:24 +0900)] 
home: fix typo

Follow-up for 25c89b89771adf3251b2398eaddc3a49c22752e3 and
a4d72746c776f820a440d72eaadd49ad158e10dc.

3 months agovconsole-setup: fix typo
Yu Watanabe [Tue, 20 Feb 2024 00:23:15 +0000 (09:23 +0900)] 
vconsole-setup: fix typo

Follow-up for 190ff0d0a8d1fc367ec04296f24cd1cab5b7543b.

3 months agoresolve: several follow-ups for resolving service via varlink
Yu Watanabe [Sat, 17 Feb 2024 21:50:39 +0000 (06:50 +0900)] 
resolve: several follow-ups for resolving service via varlink

Follow-ups for e1634bb8321c5534a8e5d16b474c7e9d43ef3baa.

- Allow to call the method without "name" and "type".
- Allow to specify SD_RESOLVE_NO_TXT and SD_RESOLVE_NO_ADDRESS.
- Allow to provide multiple services, and fix memory leak.
- Rearrange the return value format.
- Encode TXT field with octescape() to make the field matches with the
  io.systemd.Resolve.Monitor interface.

Fixes #31371.

3 months agogpt-auto-generator: fix argument passed to `parse_image_policy_argument`
Antonio Alvarez Feijoo [Mon, 19 Feb 2024 15:53:15 +0000 (16:53 +0100)] 
gpt-auto-generator: fix argument passed to `parse_image_policy_argument`

Otherwise:

```
Feb 19 16:35:34 localhost systemd-gpt-auto-generator[188]: Assertion 's' failed at src/shared/image-policy.c:656, function parse_image_policy_argument(). Aborting.
```

Fixes 06e78680e3c36589b785f90ecda64d124905a3f7

3 months agoMerge pull request #31351 from YHNdnzj/exit-status-no-executable
Luca Boccassi [Mon, 19 Feb 2024 19:17:31 +0000 (19:17 +0000)] 
Merge pull request #31351 from YHNdnzj/exit-status-no-executable

core/exec-invoke: record correct exit status when failed to locate executable

3 months agopkcs11-util: Explicitly initiaiize variable to avoid warning
Daan De Meyer [Mon, 19 Feb 2024 15:55:42 +0000 (16:55 +0100)] 
pkcs11-util: Explicitly initiaiize variable to avoid warning

Avoid the following warning on C9S by explicitly initializing
"object".

"""
[389/2801] Compiling C object src/shared/libsystemd-shared-256-devel.a.p/pkcs11-util.c.o
../src/src/shared/pkcs11-util.c: In function ‘pkcs11_token_find_private_key’:
../src/src/shared/pkcs11-util.c:983:21: warning: ‘object’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  983 |         *ret_object = object;
      |         ~~~~~~~~~~~~^~~~~~~~
"""

3 months agocgroup: typo fix initial_restric_ifaces_link_fds → initial_restrict_ifaces_link_fds
Lennart Poettering [Mon, 19 Feb 2024 15:37:27 +0000 (16:37 +0100)] 
cgroup: typo fix initial_restric_ifaces_link_fds → initial_restrict_ifaces_link_fds

3 months agoMerge pull request #31357 from keszybz/cleanups-vmspawn
Luca Boccassi [Mon, 19 Feb 2024 16:45:42 +0000 (16:45 +0000)] 
Merge pull request #31357 from keszybz/cleanups-vmspawn

Cleanups vmspawn

3 months agotest: add a test for #31384
David Tardon [Fri, 16 Feb 2024 15:22:05 +0000 (16:22 +0100)] 
test: add a test for #31384

3 months agocore/execute: clean up log_exec_full_errno and friends 31351/head
Mike Yuan [Mon, 19 Feb 2024 12:55:51 +0000 (20:55 +0800)] 
core/execute: clean up log_exec_full_errno and friends

Also drop unused log_exec_struct_iovec().

3 months agocore/exec-invoke: raise the log level of missing executable to notice
Mike Yuan [Mon, 19 Feb 2024 12:43:47 +0000 (20:43 +0800)] 
core/exec-invoke: raise the log level of missing executable to notice

Suggested in
https://github.com/systemd/systemd/pull/31351#discussion_r1494450831:

> one above just informational, but also not a warning yet.

3 months agocore/exec-invoke: record correct exit status when failed to locate executable
Mike Yuan [Fri, 16 Feb 2024 12:00:06 +0000 (20:00 +0800)] 
core/exec-invoke: record correct exit status when failed to locate executable

Follow-up for 4d8b0f0f7aeadc401ac02f67576ccb1de8cf79e6

After the mentioned commit, when the ExecCommand executable is missing,
and failure will be ignored by manager, we exit with EXIT_SUCCESS at executor
side too. The behavior however contradicts systemd.service(5), which states:

> If the executable path is prefixed with "-", an exit code of the command
> normally considered a failure (i.e. non-zero exit status or abnormal exit
> due to signal is _recorded_, but has no further effect and is considered
> equivalent to success.

and thus makes debugging unexpected failures harder. Therefore, let's still
exit with EXIT_EXEC, but just skip LOG_ERR level log.

3 months agoci(labeler): add policy for `escape` labeler
Jan Macku [Mon, 19 Feb 2024 15:00:25 +0000 (16:00 +0100)] 
ci(labeler): add policy for `escape` labeler

3 months agoSet SYSTEMD_LOG_LEVEL=info explicitly in test-sysusers
Daan De Meyer [Mon, 19 Feb 2024 13:35:07 +0000 (14:35 +0100)] 
Set SYSTEMD_LOG_LEVEL=info explicitly in test-sysusers

If we're looking for output on stderr, let's make sure it's not
littered with debug logs if SYSTEMD_LOG_LEVEL=debug.

3 months agoMerge pull request #31386 from mrc0mmand/test-tweaks
Frantisek Sumsal [Mon, 19 Feb 2024 13:53:31 +0000 (14:53 +0100)] 
Merge pull request #31386 from mrc0mmand/test-tweaks

Revert "test: use btrfs by default on Arch as well"

3 months agoMerge pull request #30840 from AdrianVovk/homed-bulk-v2
Luca Boccassi [Mon, 19 Feb 2024 13:39:26 +0000 (13:39 +0000)] 
Merge pull request #30840 from AdrianVovk/homed-bulk-v2

Homed bulk directories v2

3 months agoupdate TODO 30840/head
Adrian Vovk [Wed, 17 Jan 2024 02:34:10 +0000 (21:34 -0500)] 
update TODO

3 months agoTEST-46-HOMED: Add tests for blob directories
Adrian Vovk [Thu, 11 Jan 2024 23:23:47 +0000 (18:23 -0500)] 
TEST-46-HOMED: Add tests for blob directories

3 months agohomectl: Add flags to edit blob directories
Adrian Vovk [Wed, 10 Jan 2024 22:25:00 +0000 (17:25 -0500)] 
homectl: Add flags to edit blob directories

This makes it possible to edit blob directories using homectl. The
following syntax is available:

* `--blob-directory=/path/somewhere`: Replaces the entire blob directory
with the contents of /path/somewhere

* `--blob-directory=foobar=/path/somewhere`: Replaces just the file
foobar in the blob directory with the contents of /path/somewhere

* `--blob-directory=foobar=`: Deletes the file foobar from the blob
directory

* `--blob-directory=`: Resets all previous flags

* `--avatar=`, etc: Shortcuts for `--blob-directory=FILENAME=` for the
known files in the blob directory

3 months agohomework: Handle Update & Create w/ blob dir
Adrian Vovk [Wed, 10 Jan 2024 03:06:35 +0000 (22:06 -0500)] 
homework: Handle Update & Create w/ blob dir

Introduces new extended variants of the various incarnations of
Create and Update, which take a map of filenames to FDs. This map is
then used to populate the bulk directory.

FDs are used to prevent the client from abusing homed's blob directory
permissions (everything is made world-readable by homed) to open files
that they normally aren't allowed to open. Passing along an FD ensures
that the client has read access to the file it wants homed to make
world-readable.

Internally, homework uses the map to overwrite the system blob dir.
Later, homework's existing blob dir reconciliation logic will propagate
the new contents from the system blob dir into the embedded blob
dir

3 months agohomework: Reconcile blob directories
Adrian Vovk [Tue, 9 Jan 2024 19:39:38 +0000 (14:39 -0500)] 
homework: Reconcile blob directories

Whenever the host & embedded records are reconciled, the host & embedded
blob directories are now reconciled too in the same direction.
Reconciling the blob directories serves exactly the same purpose as
reconciling the user records, and thus should behave in the same way.

3 months agohomed: Create & advertise blob directory
Adrian Vovk [Mon, 8 Jan 2024 23:37:52 +0000 (18:37 -0500)] 
homed: Create & advertise blob directory

This ensures that a user-specific blob directory exists in
/var/cache/systemd/homed for as long as the user exists, and gets
deleted if the user gets deleted.

It also advertises this blob directory via the user record, so that
clients can find and use it.

3 months agouser-record: Add blobDirectory and blobManifest
Adrian Vovk [Mon, 8 Jan 2024 23:11:43 +0000 (18:11 -0500)] 
user-record: Add blobDirectory and blobManifest

These fields are used to connect a JSON user record to its blob
directory, and to include the directory's contents in the record's
signature

3 months agoDocument blob directory behavior
Adrian Vovk [Mon, 8 Jan 2024 22:21:55 +0000 (17:21 -0500)] 
Document blob directory behavior

We're documenting the behavior of blob directories here. These docs
refer to things that aren't yet implemented at the time of the commit, but will be later in the same PR.

3 months agofd-util: Expose helper to pack fds into 3,4,5,...
Adrian Vovk [Tue, 13 Feb 2024 20:09:54 +0000 (15:09 -0500)] 
fd-util: Expose helper to pack fds into 3,4,5,...

This is useful for situations where an array of FDs is to be passed into
a child process (i.e. by passing it through safe_fork). This function
can be called in the child (before calling exec) to pack the FDs to all
be next to each-other starting from SD_LISTEN_FDS_START (i.e. 3)

3 months agoMerge pull request #31364 from bluca/vpick_ext
Luca Boccassi [Mon, 19 Feb 2024 11:15:54 +0000 (11:15 +0000)] 
Merge pull request #31364 from bluca/vpick_ext

core: add support for vpick for ExtensionImages=/ExtensionDirectories=

3 months agojournal: use the usual spelling of "serialize" 31357/head
Zbigniew Jędrzejewski-Szmek [Mon, 19 Feb 2024 10:54:06 +0000 (11:54 +0100)] 
journal: use the usual spelling of "serialize"

3 months agovmspawn: rework --help
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2024 15:09:46 +0000 (16:09 +0100)] 
vmspawn: rework --help

In this context, "VM" doesn't need explaining. Make the texts more precise
and try to make them fit in one line. Help output is much easier to read
when it's not wrapped.

3 months agoman: reword paragraph about --forward-journal= and adjust spacing
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2024 14:55:35 +0000 (15:55 +0100)] 
man: reword paragraph about --forward-journal= and adjust spacing

The previous text did not look right when rendered.

The text is much easier to read when paragraphs are separated by an empty
line, latex-style.

3 months agotest-journald-config: indentation
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2024 14:37:23 +0000 (15:37 +0100)] 
test-journald-config: indentation

3 months agojournald: shorten code a bit and return error where it's useful
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2024 14:29:29 +0000 (15:29 +0100)] 
journald: shorten code a bit and return error where it's useful

Follow-up for f31cff849d3db074d0d8157e4117d9b8372c03e8.

3 months agotest: temporarily enable session lingering for the test user 31386/head
Frantisek Sumsal [Mon, 19 Feb 2024 09:37:30 +0000 (10:37 +0100)] 
test: temporarily enable session lingering for the test user

So the user daemon with the long-running service is not killed while we
test the journal:

[  834.077080] testsuite-04.sh[10937]: Running as unit: user-sleep.service; invocation ID: b1f2c9c9a14a40ce836c867139d14dc8
[  834.077687] systemd[10943]: Started user-sleep.service.
[  834.078437] (sd-pam)[10952]: pam_unix(login:session): session closed for user testuser
[  834.078643] systemd[1]: run-u3.service: Deactivated successfully.
[  834.078710] testsuite-04.sh[10930]: + for _ in {0..9}
[  834.078710] testsuite-04.sh[10930]: + journalctl --rotate
...
[  834.081253] systemd[1]: session-7.scope: Deactivated successfully.
...
[  844.602065] testsuite-04.sh[10930]: + journalctl --rotate
[  844.630414] testsuite-04.sh[10930]: + journalctl --sync
[  844.632005] systemd[1]: Stopping user@4711.service...
[  844.634179] systemd[10943]: Activating special unit exit.target...
[  844.635769] systemd[10943]: Stopped target default.target.
[  844.636136] systemd[10943]: Stopped target timers.target.
[  844.636479] systemd[10943]: Stopping user-sleep.service...
[  844.636998] systemd[10943]: Stopped user-sleep.service.
...
[  844.758893] testsuite-04.sh[10930]: + systemctl stop --user -M testuser@ user-sleep.service
[  845.213399] systemctl[11066]: Failed to stop user-sleep.service: Unit user-sleep.service not loaded.

3 months agoRevert "test: use btrfs by default on Arch as well"
Frantisek Sumsal [Mon, 19 Feb 2024 10:23:31 +0000 (11:23 +0100)] 
Revert "test: use btrfs by default on Arch as well"

There's something very wrong going on when using btrfs for the test
images, namely:
  - there's a significant performance hit, i.e. the Arch Linux run is
    ~20% slower, in the coverage run the situation is even worse
  - intermittent boot failures
  - intermittent "No space left on device" errors (even though there's
    enough free space)

Since debugging this might take a while, let's temporarily revert back
to ext4 to make the CI stable again.

This reverts commit 7eb7e3ec4f5dbc13ee729557e1544527f3101187.

3 months agosd-radv: fix potential buffer overflow
Yu Watanabe [Mon, 19 Feb 2024 00:30:17 +0000 (09:30 +0900)] 
sd-radv: fix potential buffer overflow

Fixes a bug in 1925f829ab17cee7d65cc8c350d8281f8f41588e and
6a6d27bc5b08388964118e922f0c1b49b3c6a8ae (v255).

3 months agopam-util: include cache ID of bus connection in the log message
Yu Watanabe [Mon, 19 Feb 2024 03:02:04 +0000 (12:02 +0900)] 
pam-util: include cache ID of bus connection in the log message

To make it easier to debug issues like #31375.

3 months agocore/exec: do not crash with UtmpMode=user without User= setting
Yu Watanabe [Mon, 19 Feb 2024 04:04:28 +0000 (13:04 +0900)] 
core/exec: do not crash with UtmpMode=user without User= setting

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2264404.

Replaces #31356.

3 months agovconsole-setup: don't fail if the only found vc is already used by plymouth
Franck Bui [Thu, 1 Feb 2024 08:13:10 +0000 (09:13 +0100)] 
vconsole-setup: don't fail if the only found vc is already used by plymouth

During the boot process, systemd-vconsole-setup can be started when the only
allocated VC is already taken by plymouth.

This case is expected when a boot splash is displayed hence
systemd-vconsole-setup.service should not fail if it happens.

However rather than doing nothing, the sysfs utf8 flag is set before exiting
early.

3 months agotest: make testcase_owneridmap() compatible with coverage runs
Frantisek Sumsal [Sun, 18 Feb 2024 09:25:56 +0000 (10:25 +0100)] 
test: make testcase_owneridmap() compatible with coverage runs

Follow-up for 614d09a.

3 months agoman: fix typo in uid0.xml
Luca Boccassi [Sun, 18 Feb 2024 13:01:21 +0000 (13:01 +0000)] 
man: fix typo in uid0.xml

Follow-up for 72eb3081b21a12252159e24188e25d04f14af83c

3 months agoTODO: fix typo
Yu Watanabe [Sat, 17 Feb 2024 22:14:42 +0000 (07:14 +0900)] 
TODO: fix typo

Follow-up for 10e3f15ac1258dd62bbb01e29375264d33e17deb.

3 months agoMerge pull request #31318 from mrc0mmand/test-switch-to-btrfs
Yu Watanabe [Sat, 17 Feb 2024 19:55:56 +0000 (04:55 +0900)] 
Merge pull request #31318 from mrc0mmand/test-switch-to-btrfs

test: use btrfs by default on Arch as well

3 months agoMerge pull request #31362 from yuwata/network-fix-dhcp-pd-ready
Yu Watanabe [Sat, 17 Feb 2024 19:55:13 +0000 (04:55 +0900)] 
Merge pull request #31362 from yuwata/network-fix-dhcp-pd-ready

network: do not request DHCP addresses configured on checking prefix delegation

3 months agotest: "modernize" TEST-55-OOMD's init 31318/head
Frantisek Sumsal [Fri, 16 Feb 2024 12:53:01 +0000 (13:53 +0100)] 
test: "modernize" TEST-55-OOMD's init

3 months agotest: don't abbreviate log messages when dumping the test journal
Frantisek Sumsal [Fri, 16 Feb 2024 12:49:50 +0000 (13:49 +0100)] 
test: don't abbreviate log messages when dumping the test journal

To make debugging test fails easier.

3 months agotest: use btrfs' mkswapfile on btrfs
Frantisek Sumsal [Wed, 14 Feb 2024 10:48:56 +0000 (11:48 +0100)] 
test: use btrfs' mkswapfile on btrfs

So it's created automagically with proper attributes.

3 months agotest: make TEST-08-INITRD slightly less annoying to debug
Frantisek Sumsal [Wed, 14 Feb 2024 15:45:18 +0000 (16:45 +0100)] 
test: make TEST-08-INITRD slightly less annoying to debug

Forward journal to console, since we won't have any journal from initrd
and shutdown/exit initrd phases. Also, mention
systemd.journald.max_level_console=debug that is very handy for
debugging initrd shenanigans, but don't use it by default since it
sends a _lot_ of stuff to the serial console, which slows down the test
a lot.

3 months agotest: always try to install the ext4 module
Frantisek Sumsal [Wed, 14 Feb 2024 10:24:05 +0000 (11:24 +0100)] 
test: always try to install the ext4 module

So the tests work even if the base image filesystem is not ext4.

3 months agotest: use btrfs by default on Arch as well
Frantisek Sumsal [Wed, 14 Feb 2024 09:36:55 +0000 (10:36 +0100)] 
test: use btrfs by default on Arch as well

3 months agotest-network: add one more test case for DHCP prefix delegation 31362/head
Yu Watanabe [Fri, 16 Feb 2024 20:56:27 +0000 (05:56 +0900)] 
test-network: add one more test case for DHCP prefix delegation

For issue #31349.

3 months agotest-network: split test_dhcp6pd() into small pieces
Yu Watanabe [Fri, 16 Feb 2024 20:47:55 +0000 (05:47 +0900)] 
test-network: split test_dhcp6pd() into small pieces

3 months agonetwork: do not request DHCP addresses configured on checking prefix delegation
Yu Watanabe [Fri, 16 Feb 2024 19:30:34 +0000 (04:30 +0900)] 
network: do not request DHCP addresses configured on checking prefix delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83edf852f4e40e0d3a3b630cde97c84d77ba.

Fixes #31349.

3 months agonetwork/dhcp6: deem DHCPv6 configuration to be finished even if no IA_NA is provided
Yu Watanabe [Fri, 16 Feb 2024 20:52:40 +0000 (05:52 +0900)] 
network/dhcp6: deem DHCPv6 configuration to be finished even if no IA_NA is provided

Follow-up for fc4aa64c2d7bf1443bf30b66d334e33addb0d27a.

Otherwise, even if we request no address, Link.dhcp6_configured stuck on
false.

3 months agocore: add support for vpick for ExtensionDirectories= 31364/head
Luca Boccassi [Fri, 16 Feb 2024 22:05:03 +0000 (22:05 +0000)] 
core: add support for vpick for ExtensionDirectories=

3 months agocore: add support for vpick for ExtensionImages=
Luca Boccassi [Fri, 16 Feb 2024 21:45:42 +0000 (21:45 +0000)] 
core: add support for vpick for ExtensionImages=

3 months agoman: create reusable snippet for 'vpick' entries
Luca Boccassi [Fri, 16 Feb 2024 21:45:01 +0000 (21:45 +0000)] 
man: create reusable snippet for 'vpick' entries

3 months agoMerge pull request #31367 from yuwata/cgroup-runtime-fix
Luca Boccassi [Sat, 17 Feb 2024 10:24:06 +0000 (10:24 +0000)] 
Merge pull request #31367 from yuwata/cgroup-runtime-fix

core/cgroup: several follow-up about CGroupRuntime

3 months agoresolve: name field may be NULL
Yu Watanabe [Sat, 17 Feb 2024 08:26:06 +0000 (17:26 +0900)] 
resolve: name field may be NULL

Follow-up for e1634bb8321c5534a8e5d16b474c7e9d43ef3baa.

Fixes #31361.

3 months agocore/unit: fix superficial NULL-pointer dereference 31367/head
Yu Watanabe [Sat, 17 Feb 2024 07:50:42 +0000 (16:50 +0900)] 
core/unit: fix superficial NULL-pointer dereference

Though, when unit_prepare_exec() is called, the unit should always
have the cgroup runtime context 'crt'. So, I think we can insert assert().
But, for consistency with other places that call unit_get_cgroup_runtime(),
here use the simple non-NULL check for 'crt' instead of using assert().

Follow-up for 9cc545447e31ed38d71c00d5957c4dee0b5bce97.

Fixes CID#1534667.

3 months agocore/cgroup: drop duplicated free()s
Yu Watanabe [Sat, 17 Feb 2024 07:46:16 +0000 (16:46 +0900)] 
core/cgroup: drop duplicated free()s

Follow-up for 9cc545447e31ed38d71c00d5957c4dee0b5bce97.

Fixes CID#1534665 and CID#1534666.

3 months agoMerge pull request #31127 from poettering/cgroup-runtime2
Luca Boccassi [Fri, 16 Feb 2024 23:38:53 +0000 (23:38 +0000)] 
Merge pull request #31127 from poettering/cgroup-runtime2

core: split out cgroup specific state fields from Unit → CGroupRuntime

3 months agoMerge pull request #31338 from ssahani/network-bond-missed
Yu Watanabe [Fri, 16 Feb 2024 21:16:42 +0000 (06:16 +0900)] 
Merge pull request #31338 from ssahani/network-bond-missed

network: netdev - bond add support for ARP missed max

3 months agoresolve: provide service resolve over varlink
Vishal Chillara Srinivas [Wed, 15 Nov 2023 07:08:23 +0000 (12:38 +0530)] 
resolve: provide service resolve over varlink

ported the d-bus implementation of service resolve to varlink
extended TEST-75-RESOLVED to cover this use-case

3 months agoMerge pull request #31218 from CodethinkLabs/vmspawn/journal_forwarding
Luca Boccassi [Fri, 16 Feb 2024 12:09:52 +0000 (12:09 +0000)] 
Merge pull request #31218 from CodethinkLabs/vmspawn/journal_forwarding

vmspawn: support journal forwarding

3 months agovarlink: fix varlink_collect_full not resetting state
Tomáš Pecka [Fri, 16 Feb 2024 08:43:18 +0000 (09:43 +0100)] 
varlink: fix varlink_collect_full not resetting state

The varlink_collect_full function did not set varlink client's state
when the reply was an error. The state was stuck in "collecting-reply".

I discovered that while hacking on network varlink interface (adding a
new varlink method). The debug logs shows the process of performing the
first query which replies with an error:

  varlink: Setting state idle-client
  network: Sending message: {"method":"io.systemd.Network.LLDPNeighbors","parameters":{"ifindex":1},"more":true}
  network: Changing state idle-client → collecting
  network: Received message: {"error":"org.varlink.service.MethodNotFound","parameters":{"method":"io.systemd.Network.LLDPNeighbors"}}
  network: Changing state collecting → collecting-reply

Now another varlink_collect call is being made, but

  network: Connection busy.
  Failed to execute varlink call: Device or resource busy

This was not caught by the tests because there were no varlink_collect
calls that resulted in error reply.

3 months agoMerge pull request #31311 from yuwata/journal-user-corruption
Luca Boccassi [Fri, 16 Feb 2024 12:07:50 +0000 (12:07 +0000)] 
Merge pull request #31311 from yuwata/journal-user-corruption

journal: fix user journal corruption on rotation

3 months agohwdb: Remove version check in CH Pro Pedals rule
Colin Geniet [Thu, 15 Feb 2024 19:23:49 +0000 (20:23 +0100)] 
hwdb: Remove version check in CH Pro Pedals rule

CH Pedals are incorrectly reported as an accelerometer [1], because they
have no button.  This is fixed by a rule in 60-input-id.hwdb [2], but
the rule checks id/version="0100", while my pedals report id/version="0111".

So there are several versions of the pedals, presumably all affected
by the bug. Remove the version check in the rule to fix them all.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=81889
[2] commit: 230ed4c4ba (hwdb: CH Pro Pedals not classified correctly due to no buttons, 2022-01-19)
    PR: https://github.com/systemd/systemd/pull/22184

3 months agovmspawn: fix possible NULL dereference in discover_boot_entry
Sam Leonard [Thu, 15 Feb 2024 18:16:17 +0000 (18:16 +0000)] 
vmspawn: fix possible NULL dereference in discover_boot_entry

3 months agoMerge pull request #30263 from msizanoen1/fix-onboot-rotate-2
Lennart Poettering [Fri, 16 Feb 2024 11:02:09 +0000 (12:02 +0100)] 
Merge pull request #30263 from msizanoen1/fix-onboot-rotate-2

journal: Reset runtime seqnum data when flushing to system journal

3 months agotest: properly preserve journal from sd-bsod tests
Frantisek Sumsal [Thu, 15 Feb 2024 20:13:07 +0000 (21:13 +0100)] 
test: properly preserve journal from sd-bsod tests

I (incorrectly) assumed that --relinquish-var does everything --flush
does, including moving already existing stuff from /var/log/journal/ to
/run/log/journal/, but that's not the case. To actually do that we need
to shuffle things manually, so let's do just that.

This should make issues like #31334 easier to debug, since with this
patch we now have a coredump in the test journal as well:

~# make -C test/TEST-04-JOURNAL/ clean setup run TEST_MATCH_SUBTEST=bsod BUILD_DIR=$PWD/build TEST_NO_NSPAWN=1
...
[   12.176089] testsuite-04.sh[712]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/testsuite-04.bsod.sh failed'
[   12.176089] testsuite-04.sh[712]: Subtest /usr/lib/systemd/tests/testdata/units/testsuite-04.bsod.sh failed
[   12.176089] testsuite-04.sh[712]: + return 1
[   12.177347] systemd[1]: testsuite-04.service: Failed with result 'exit-code'.
[   12.220580] systemd[1]: Failed to start testsuite-04.service.
Spawning getter /home/mrc0mmand/repos/@systemd/systemd/build/journalctl -o export -D /var/tmp/systemd-tests/systemd-test.Qtqmmr/root/var/log/journal...
Finishing after writing 7649 entries
TEST-04-JOURNAL: (failed; see logs)
-rw-r----- 1 root root 16777216 Feb 15 21:13 /var/tmp/systemd-tests/systemd-test.Qtqmmr/system.journal
...

~# coredumpctl --file /var/tmp/systemd-tests/systemd-test.Qtqmmr/system.journal
TIME                        PID UID GID SIG     COREFILE EXE                           SIZE
Thu 2024-02-15 21:13:38 CET 812   0   0 SIGABRT journal  /usr/lib/systemd/systemd-bsod    -

3 months agotest-network: Add test for bond arp_missed_max option 31338/head
Susant Sahani [Thu, 15 Feb 2024 15:44:58 +0000 (21:14 +0530)] 
test-network: Add test for bond arp_missed_max option

3 months agoupdate TODO 31127/head
Lennart Poettering [Tue, 6 Feb 2024 17:33:33 +0000 (18:33 +0100)] 
update TODO

3 months agocore: split out cgroup specific state fields from Unit → CGroupRuntime
Lennart Poettering [Sat, 27 Jan 2024 09:59:15 +0000 (10:59 +0100)] 
core: split out cgroup specific state fields from Unit → CGroupRuntime

This refactors the Unit structure a bit: all cgroup-related state fields
are moved to a new structure CGroupRuntime, which is only allocated as
we realize a cgroup.

This is both a nice cleanup and should make unit structures considerably
smaller that have no cgroup associated, because never realized or
because they belong to a unit type that doesn#t have cgroups anyway.

This makes things nicely symmetric:

        ExecContext → static user configuration about execution
        ExecRuntime → dynamic user state of execution
        CGroupContext → static user configuration about cgroups
        CGroupRuntime → dynamic user state of cgroups

And each time the XyzContext is part of the unit type structures such as
Service or Slice that need it, but the runtime object is only allocated
when a unit is started.

3 months agocgroup: normalize parameter order in format_cgroup_memory_comparison()
Lennart Poettering [Tue, 6 Feb 2024 14:57:35 +0000 (15:57 +0100)] 
cgroup: normalize parameter order in format_cgroup_memory_comparison()

We usually put the return parameter last. Do so here too.

3 months agonetwork: netdev - bond add support for ARP missed max
Susant Sahani [Thu, 15 Feb 2024 10:41:22 +0000 (16:11 +0530)] 
network: netdev - bond add support for ARP missed max

Allows to configure bond arp_missed_max is the maximum number of arp_interval monitor cycle
for missed ARP replies. If this number is exceeded, link is reported as
down.

3 months agopo: Translated using Weblate (Lithuanian)
mooo [Thu, 15 Feb 2024 23:36:05 +0000 (00:36 +0100)] 
po: Translated using Weblate (Lithuanian)

Currently translated at 69.6% (158 of 227 strings)

Co-authored-by: mooo <hazap@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/lt/
Translation: systemd/main

3 months agoMerge pull request #31320 from DaanDeMeyer/versioning
Daan De Meyer [Thu, 15 Feb 2024 19:15:04 +0000 (20:15 +0100)] 
Merge pull request #31320 from DaanDeMeyer/versioning

meson: Start adding devel and rc suffixes to the project version

3 months agotest: add test cases for journal corruption on btrfs 31311/head
Frantisek Sumsal [Sat, 10 Feb 2024 07:24:10 +0000 (16:24 +0900)] 
test: add test cases for journal corruption on btrfs

For issue #24150 and #31222.

3 months agojournal-file-util: use COPY_VERIFY_LINKED
Yu Watanabe [Thu, 15 Feb 2024 13:46:06 +0000 (22:46 +0900)] 
journal-file-util: use COPY_VERIFY_LINKED

As the main thread may call journal_directory_vacuum() ->
unlinkat_deallocate() while another thread is copying the file.

Fixes #24150 and #31222.

3 months agocopy: introduce COPY_VERIFY_LINKED flag
Yu Watanabe [Thu, 15 Feb 2024 10:37:43 +0000 (19:37 +0900)] 
copy: introduce COPY_VERIFY_LINKED flag

If the flag is set, then copy_file() and friends check if the source
file still exists when the copy operation finished.

3 months agosd-journal: use stat_verify_linked()
Yu Watanabe [Thu, 15 Feb 2024 01:08:23 +0000 (10:08 +0900)] 
sd-journal: use stat_verify_linked()

3 months agostat-util: introduce {stat,fd}_verify_linked()
Yu Watanabe [Thu, 15 Feb 2024 10:16:36 +0000 (19:16 +0900)] 
stat-util: introduce {stat,fd}_verify_linked()

3 months agostat-util: rebreak comment
Yu Watanabe [Thu, 15 Feb 2024 10:16:16 +0000 (19:16 +0900)] 
stat-util: rebreak comment

3 months agobsod: fix -c/--continuous support
Yu Watanabe [Thu, 15 Feb 2024 16:05:51 +0000 (01:05 +0900)] 
bsod: fix -c/--continuous support

Fixes a bug introduced by f7f062bf9f194dc14a4ffc6e7fff9d8bfdea2147.

Fixes #31334.

3 months agoMerge pull request #31331 from yuwata/xopenat
Yu Watanabe [Thu, 15 Feb 2024 16:32:21 +0000 (01:32 +0900)] 
Merge pull request #31331 from yuwata/xopenat

tree-wide: several cleanups related to xopenat()

3 months agojournal-file-util: use the file descriptor of journal file on copy 31331/head
Yu Watanabe [Wed, 14 Feb 2024 00:36:45 +0000 (09:36 +0900)] 
journal-file-util: use the file descriptor of journal file on copy

No effective functionality changed, just refactoring.

3 months agotest: add test for copying symlink with copy_tree_at()
Yu Watanabe [Thu, 15 Feb 2024 10:00:54 +0000 (19:00 +0900)] 
test: add test for copying symlink with copy_tree_at()