]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
14 months agotree-wide: drop msg argument for DEFINE_CONFIG_PARSE() macro and friends
Yu Watanabe [Tue, 27 Aug 2024 01:20:03 +0000 (10:20 +0900)] 
tree-wide: drop msg argument for DEFINE_CONFIG_PARSE() macro and friends

This makes the macros use log_syntax_parse_error(), hopefully which provides
more informative log message in general, and reduces binary size.

14 months agolog: protect errno from log_syntax_invalid_utf8_internal()
Yu Watanabe [Sun, 1 Sep 2024 07:17:08 +0000 (16:17 +0900)] 
log: protect errno from log_syntax_invalid_utf8_internal()

Potentially, utf8_escape_invalid() called by
log_syntax_invalid_utf8_internal() may update errno.

14 months agolog: introduce log_syntax_parse_error()
Yu Watanabe [Thu, 22 Aug 2024 05:14:03 +0000 (14:14 +0900)] 
log: introduce log_syntax_parse_error()

This provides generic error message for failures in conf parsers.
Currently this is not used, but will be used later.

14 months agotest: modernize test-networkd-conf
Yu Watanabe [Tue, 27 Aug 2024 02:47:35 +0000 (11:47 +0900)] 
test: modernize test-networkd-conf

14 months agotest: modernize test-conf-parser.c
Yu Watanabe [Tue, 27 Aug 2024 02:58:25 +0000 (11:58 +0900)] 
test: modernize test-conf-parser.c

14 months agoconf-parser: make config_parse_strv() stricter and optionally drop duplicated entries
Yu Watanabe [Sat, 31 Aug 2024 02:22:55 +0000 (11:22 +0900)] 
conf-parser: make config_parse_strv() stricter and optionally drop duplicated entries

14 months agoconf-parser: fix memleak in config_parse_calendar()
Yu Watanabe [Tue, 27 Aug 2024 02:17:56 +0000 (11:17 +0900)] 
conf-parser: fix memleak in config_parse_calendar()

Fixes a bug introduced by 0e10c3d8724b0a5d07871c9de71565ac91dd55b7 (#25049).

14 months agonetwork/route: fix typo
Yu Watanabe [Sun, 1 Sep 2024 13:03:09 +0000 (22:03 +0900)] 
network/route: fix typo

Follow-up for c8dbf9acc10939f2d6c4bdd8cdee1d2ff9a4204e.

14 months agoMerge pull request #34213 from yuwata/network-route-fix-weight
Luca Boccassi [Sun, 1 Sep 2024 10:54:05 +0000 (11:54 +0100)] 
Merge pull request #34213 from yuwata/network-route-fix-weight

network/route: fix adjustment of nexthop weight

14 months agonetwork/route: fix adjustment of nexthop weight 34213/head
Yu Watanabe [Sun, 1 Sep 2024 02:52:12 +0000 (11:52 +0900)] 
network/route: fix adjustment of nexthop weight

Fixes #34167.

14 months agonetwork/route: also update source, status, and so on EEXIST
Yu Watanabe [Sun, 1 Sep 2024 01:39:51 +0000 (10:39 +0900)] 
network/route: also update source, status, and so on EEXIST

Otherwise, an existing route may be labeled as foreign even after we
reconfigure it.

14 months agonetwork/route: also show weight of gateway in debugging logs
Yu Watanabe [Sun, 1 Sep 2024 02:09:45 +0000 (11:09 +0900)] 
network/route: also show weight of gateway in debugging logs

14 months agobasic/raw-clone: refuse CLONE_PIDFD too
Mike Yuan [Wed, 28 Aug 2024 17:15:10 +0000 (19:15 +0200)] 
basic/raw-clone: refuse CLONE_PIDFD too

14 months agodocs/UIDS-GIDS: drop obsolete comment about Fedora
Zbigniew Jędrzejewski-Szmek [Sat, 31 Aug 2024 10:58:00 +0000 (13:58 +0300)] 
docs/UIDS-GIDS: drop obsolete comment about Fedora

https://fedoraproject.org/wiki/Changes/RenameNobodyUser, 2018:
> Use "nobody:nobody" as the names for the kernel overflow UID:GID pair, and
> retire the old "nfsnobody" name and the old "nobody:nobody" pair with 99:99
> numbers.

14 months agotest-network: use the same MTU bytes for veth interfaces
Yu Watanabe [Sat, 31 Aug 2024 07:28:14 +0000 (16:28 +0900)] 
test-network: use the same MTU bytes for veth interfaces

Hopefully fixes #34204.

14 months agolabeler: set network label when tests for networkd or friends are updated
Yu Watanabe [Sat, 31 Aug 2024 07:33:59 +0000 (16:33 +0900)] 
labeler: set network label when tests for networkd or friends are updated

14 months agoMerge pull request #34198 from AdrianVovk/updatectl-bugfixes
Yu Watanabe [Sat, 31 Aug 2024 06:20:15 +0000 (15:20 +0900)] 
Merge pull request #34198 from AdrianVovk/updatectl-bugfixes

updatectl: Bugfixes

14 months agoman: fix typos
Christoph Anton Mitterer [Sat, 31 Aug 2024 03:40:52 +0000 (05:40 +0200)] 
man: fix typos

Closes #34199.

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
14 months agoprogress-bar: Add unbuffered variant 34198/head
Adrian Vovk [Sat, 31 Aug 2024 02:39:17 +0000 (22:39 -0400)] 
progress-bar: Add unbuffered variant

The progress_bar functions do their own buffering: they reconfigure
stderr, then print, then flush and disable buffering on their own. In
situations where multiple progress bars are being drawn at a time (for
example, in updatectl), it's even more efficient to hoist the buffering
and flushing to the call site, and avoid drawing each progress bar
individually.

To that end, new _unbuffered variants of the progress_bar functions. And
we use them in updatectl.

14 months agoupdatectl: Improve behavior of progress logging
Adrian Vovk [Sat, 31 Aug 2024 01:57:07 +0000 (21:57 -0400)] 
updatectl: Improve behavior of progress logging

This applies a couple of aesthetic changes to the way updatectl renders
progress information

1. We invert from "ICON TARGET MESSAGE" to "TARGET: ICON MESSAGE" to
   better fit in with the systemd progress bars, which look like
   "TARGET [==========---------] XX%". The original version of the
   sysupdated PR implemented its own progress bars that were oriented
   differently: "[==========---------] TARGET XX%". When we swapped
   the progress bar we didn't swap the status messages

2. When a target finishes updating, instead of leaving a 100% progress
   bar on screen for potentially extended periods of time (which implies
   to the user that the update isn't actually done...), we show a status
   message saying the target is done updating.

3. Fixed a minor bug where an extra newline would be printed after the
   total progress bar. At the top of the rendering function, we scroll
   the terminal's scroll-back just enough to fit a line for each target,
   and one for the total. This means that we should not print an
   additional line after the total, or else it'll scroll the terminal's
   buffer by an additional character. This bug was introduced at some
   point during review

4. Clears the Total progress bar before quitting. By the time we're
   quitting, that progress bar will be showing no useful status for the
   user. Also, the fix in point 3 will cause the shell's prompt to
   appear on the same line as the Total progress bar, partially
   overwriting it and leaving the shell in a glitchy state.

14 months agoman: fix typo
Yu Watanabe [Sat, 31 Aug 2024 02:19:13 +0000 (11:19 +0900)] 
man: fix typo

Follow-up for 1ff0164be5978b824d2213bc546dac66619e1a48.

14 months agoupdatectl: Ensure we clear the progress bar
Adrian Vovk [Sat, 31 Aug 2024 01:53:14 +0000 (21:53 -0400)] 
updatectl: Ensure we clear the progress bar

Otherwise we end up half-overwriting the progress bar, which looks buggy

14 months agosysupdated: Register known error types
Adrian Vovk [Sat, 31 Aug 2024 01:43:44 +0000 (21:43 -0400)] 
sysupdated: Register known error types

This fixes a bug introduced during review of sysupdated. Originally,
we just returned EALREADY verbatim to signify that the target is
already up-to-date. Then we switched this to a proper error
(org.freedesktop.sysupdate1.NoCandidate) during review. But that now
maps to EIO, not EALREADY. Thus, whenever there's nothing to update,
updatectl would report I/O errors to the user, even though nothing
actually went wrong.

14 months agoprogress-bar: Put a space after the prefix
Adrian Vovk [Sat, 31 Aug 2024 01:25:37 +0000 (21:25 -0400)] 
progress-bar: Put a space after the prefix

We always want a space there. So let's just put one in the drawing
routine, and adjust the call cites to avoid adding a second one.

15 months agoMerge pull request #34189 from poettering/cryptenroll-slot-fix
Yu Watanabe [Fri, 30 Aug 2024 19:26:02 +0000 (04:26 +0900)] 
Merge pull request #34189 from poettering/cryptenroll-slot-fix

cryptenroll: don't return slot 0 when we have no policy to search for

15 months agorepart: Keep existing directory timestamps intact when copying
Daan De Meyer [Thu, 29 Aug 2024 20:59:48 +0000 (22:59 +0200)] 
repart: Keep existing directory timestamps intact when copying

Otherwise, when merging multiple directory trees, the output becomes
unreproducible as the directory timestamps will be changed to the current
time when copying identical directories from the second tree.

We introduce a new copy flag to achieve this behavior.

15 months agoUse correct error code in log message in pkcs11_token_find_x509_certificate (#34187)
PavlNekrasov [Fri, 30 Aug 2024 14:18:56 +0000 (17:18 +0300)] 
Use correct error code in log message in pkcs11_token_find_x509_certificate (#34187)

15 months agotest: when refusing to run slow tests, mention how to run them 34189/head
Lennart Poettering [Thu, 29 Aug 2024 15:07:46 +0000 (17:07 +0200)] 
test: when refusing to run slow tests, mention how to run them

Let's be helpful and provide an actionable hint.

15 months agocrypenroll: make slot wiping on pin change a bit more explicit
Lennart Poettering [Wed, 28 Aug 2024 14:52:43 +0000 (16:52 +0200)] 
crypenroll: make slot wiping on pin change a bit more explicit

15 months agocryptenroll: don't return slot 0 when we have no policy to search for
Lennart Poettering [Thu, 29 Aug 2024 10:54:40 +0000 (12:54 +0200)] 
cryptenroll: don't return slot 0 when we have no policy to search for

If the policy hash is empty we shouldn't return "0" from
search_policy_hash(), because that is understood as slot index 0, but
that's unlikely to match the policy.

Hence, return -ENOENT instead, indicating that we can't find a matching
slot.

15 months agocryptenroll: iovec'ify a few more things
Lennart Poettering [Tue, 27 Aug 2024 14:31:39 +0000 (16:31 +0200)] 
cryptenroll: iovec'ify a few more things

15 months agomkosi: update debian commit reference
Luca Boccassi [Fri, 30 Aug 2024 08:30:28 +0000 (09:30 +0100)] 
mkosi: update debian commit reference

bb6db3edfe Install new sd-sysupdated files in systemd-container

15 months agotreewide: use sd_json_variant_un{hex|base64}() pervasively
Lennart Poettering [Thu, 29 Aug 2024 19:36:05 +0000 (21:36 +0200)] 
treewide: use sd_json_variant_un{hex|base64}() pervasively

Use these helpers whenever appropriate. Drop separate string checks,
since these helpers already do them anyway.

No actual code change, just a rework to make use of a nice helper we
have already.

15 months agoupdate TODO
Lennart Poettering [Thu, 29 Aug 2024 14:13:42 +0000 (16:13 +0200)] 
update TODO

15 months agohwdb: add entry for Dell AlpsPS/2 ALPS DualPoint TouchPad
Yu Watanabe [Fri, 30 Aug 2024 04:08:40 +0000 (13:08 +0900)] 
hwdb: add entry for Dell AlpsPS/2 ALPS DualPoint TouchPad

Closes #34133.

15 months agomkosi: Don't fetch remote if the commit to check out already exists
Daan De Meyer [Thu, 29 Aug 2024 16:36:55 +0000 (18:36 +0200)] 
mkosi: Don't fetch remote if the commit to check out already exists

If the commit we're about to check out already exists in the local
repository, don't fetch from the remote repository.

15 months ago hwdb.d/60-keyboard.hwdb: add Clevo mic mute quirk for V5x dGPU
Filip Lewiński [Wed, 28 Aug 2024 17:33:43 +0000 (19:33 +0200)] 
 hwdb.d/60-keyboard.hwdb: add Clevo mic mute quirk for V5x dGPU

Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
15 months agopo: Translated using Weblate (Swedish)
Göran Uddeborg [Thu, 29 Aug 2024 13:33:49 +0000 (15:33 +0200)] 
po: Translated using Weblate (Swedish)

Currently translated at 100.0% (253 of 253 strings)

Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sv/
Translation: systemd/main

15 months agotest: add test for GetUnitByPID() D-Bus method
Yu Watanabe [Thu, 29 Aug 2024 09:53:31 +0000 (18:53 +0900)] 
test: add test for GetUnitByPID() D-Bus method

For issue #34104.

15 months agocore: Fix log message typo
Daan De Meyer [Thu, 29 Aug 2024 11:58:52 +0000 (13:58 +0200)] 
core: Fix log message typo

15 months agomkosi: update fedora commit reference
Daan De Meyer [Thu, 29 Aug 2024 11:26:28 +0000 (13:26 +0200)] 
mkosi: update fedora commit reference

a67221c3f0 Always build ukify package
abb115a905 Do not use patch to modify systemd-user pam config file
196ec98228 Drop %upstream conditionalization for patches

15 months agocore: do BindMount/MountImage operations in async control process
Luca Boccassi [Mon, 29 Apr 2024 15:14:12 +0000 (16:14 +0100)] 
core: do BindMount/MountImage operations in async control process

These operations might require slow I/O, and thus might block PID1's main
loop for an undeterminated amount of time. Instead of performing them
inline, fork a worker process and stash away the D-Bus message, and reply
once we get a SIGCHILD indicating they have completed. That way we don't
break compatibility and callers can continue to rely on the fact that when
they get the method reply the operation either succeeded or failed.

To keep backward compatibility, unlike reload control processes, these
are ran inside init.scope and not the target cgroup. Unlike ExecReload,
this is under our control and is not defined by the unit. This is necessary
because previously the operation also wasn't ran from the target cgroup,
so suddenly forking a copy-on-write copy of pid1 into the target cgroup
will make memory usage spike, and if there is a MemoryMax= or MemoryHigh=
set and the cgroup is already close to the limit, it will cause an OOM
kill, where previously it would have worked fine.

15 months agoukify: Skip test on architectures without UEFI
Daan De Meyer [Wed, 28 Aug 2024 12:08:30 +0000 (14:08 +0200)] 
ukify: Skip test on architectures without UEFI

15 months agotest: mount ld.so.cache in minimal nspawn container if present
Luca Boccassi [Wed, 28 Aug 2024 21:08:33 +0000 (22:08 +0100)] 
test: mount ld.so.cache in minimal nspawn container if present

In some cases (SUSE Tumbleweed) this is needed as a library (libz) is
not in the default path, so it fails to run.

15 months agoMerge pull request #34160 from weblate/weblate-systemd-main
Yu Watanabe [Wed, 28 Aug 2024 22:54:03 +0000 (07:54 +0900)] 
Merge pull request #34160 from weblate/weblate-systemd-main

Translations update from Fedora Weblate

15 months agopo: Translated using Weblate (Swedish) 34160/head
Göran Uddeborg [Wed, 28 Aug 2024 19:48:51 +0000 (21:48 +0200)] 
po: Translated using Weblate (Swedish)

Currently translated at 92.8% (235 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 92.4% (234 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 91.3% (231 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 90.9% (230 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 90.5% (229 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 90.1% (228 of 253 strings)

Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sv/
Translation: systemd/main

15 months agopo: Translated using Weblate (Swedish)
Weblate Translation Memory [Wed, 28 Aug 2024 19:48:50 +0000 (21:48 +0200)] 
po: Translated using Weblate (Swedish)

Currently translated at 92.8% (235 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 92.4% (234 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 91.3% (231 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 90.9% (230 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 90.5% (229 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 90.1% (228 of 253 strings)

po: Translated using Weblate (Swedish)

Currently translated at 89.7% (227 of 253 strings)

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

15 months agomkosi: Switch back to src.opensuse.org for opensuse spec
Daan De Meyer [Wed, 28 Aug 2024 15:52:40 +0000 (17:52 +0200)] 
mkosi: Switch back to src.opensuse.org for opensuse spec

Supposedly they're never going to rewrite their git history again
so let's give src.opensuse.org another try given that code.opensuse.org
is down again.

15 months agotest: Set show_status=error
Daan De Meyer [Wed, 28 Aug 2024 15:32:53 +0000 (17:32 +0200)] 
test: Set show_status=error

The TEST-64-UDEV-STORAGE tests fail before we even start the test.
Let's set show_status=error to get more information when those failures
happen.

15 months agouser-record: add helper that checks if a user record is root or the nobody user
Lennart Poettering [Mon, 26 Aug 2024 14:38:59 +0000 (16:38 +0200)] 
user-record: add helper that checks if a user record is root or the nobody user

15 months agoMerge pull request #34142 from DaanDeMeyer/update-distributions
Luca Boccassi [Wed, 28 Aug 2024 16:17:12 +0000 (17:17 +0100)] 
Merge pull request #34142 from DaanDeMeyer/update-distributions

mkosi: Update distribution packaging commits

15 months agonspawn: propagate SSH authorized keys when binding user into contaier via --bind...
Lennart Poettering [Mon, 26 Aug 2024 15:29:15 +0000 (17:29 +0200)] 
nspawn: propagate SSH authorized keys when binding user into contaier via --bind-user=

This means the host user typically can just log into his own account
bound into the container via SSH.

15 months agoTODO: add note about live mounting via pinned namespace fd
Luca Boccassi [Wed, 28 Aug 2024 15:57:07 +0000 (16:57 +0100)] 
TODO: add note about live mounting via pinned namespace fd

15 months agomkosi: use util-linux's autologin
Luca Boccassi [Wed, 28 Aug 2024 12:53:31 +0000 (13:53 +0100)] 
mkosi: use util-linux's autologin

login is now from util-linux so credentials are supported.
It also needs to be pulled in as it's Protected: yes rather than
Essential: yes.

Keep the old setting for Ubuntu as that still uses login from shadow.

15 months agomkosi: update debian commit reference 34142/head
Daan De Meyer [Wed, 28 Aug 2024 07:46:10 +0000 (09:46 +0200)] 
mkosi: update debian commit reference

aa17b7ddf9 Fix stage1 build
2c13391e33 Update changelog for 256.5-1 release
7d13196926 autopkgtest: skip TEST-64-UDEV-STORAGE due to qemu crash
47769e8d7c Drop patch merged upstream
*   4e8e9315b5 Update upstream source from tag 'upstream/256.5'
|\
| * 71b885347d New upstream version 256.5
89a33e5408 d/e/checkout-upstream: undo quilt patches before switching debian branch
3c942ecb0d d/e/checkout-upstream: do not rebase on main when building stable branches

15 months agomkosi: update fedora commit reference
Daan De Meyer [Wed, 28 Aug 2024 07:46:07 +0000 (09:46 +0200)] 
mkosi: update fedora commit reference

28076e6232 Only make python3-pillow Recommends on Fedora
a9807c4486 Do not require grubby on CentOS Stream 9
d38cacfd3a Version 256.5
38291e13c1 Disable integration of userdb in sshd
53118d2112 Backport patch to only read /proc/cmdline when not in container
903e8e0f88 Backport upstream patch to try more initrd variants in 90-loaderentry.install
b29a66006c Version 256.4
1cdae03391 Update tmpfiles --destroy-data patch
4fd4ef72a6 Upload sources
3c3772150d Version 256.3

15 months agomkosi: update opensuse commit reference
Daan De Meyer [Wed, 28 Aug 2024 07:46:05 +0000 (09:46 +0200)] 
mkosi: update opensuse commit reference

2866762da8 Update systemd to version 256.4 / rev 429 via SR 1192932

15 months agomkosi: update arch commit reference
Daan De Meyer [Wed, 28 Aug 2024 07:46:04 +0000 (09:46 +0200)] 
mkosi: update arch commit reference

ea5f086275 handle uncommon license
43e43faab8 upgpkg: 256.5-1: new upstream release
7f4443062f Provide /etc/cryptsetup-keys.d/
262a14b8e5 upgpkg: 256.4-1: new upstream release
1aff4eb5f6 upgpkg: 256.3-1: new upstream release

15 months agomkosi: Include noarch in dnf repoquery architectures
Daan De Meyer [Wed, 28 Aug 2024 10:10:12 +0000 (12:10 +0200)] 
mkosi: Include noarch in dnf repoquery architectures

ukify is noarch so we should include noarch to get all results.

15 months agomkosi: Always specify _sourcedir as an absolute path
Daan De Meyer [Mon, 12 Aug 2024 10:19:37 +0000 (12:19 +0200)] 
mkosi: Always specify _sourcedir as an absolute path

A relative path is not supported by rpm so let's make sure we specify
it as an absolute path.

15 months agomkosi: Don't apply distribution specific patches
Daan De Meyer [Tue, 27 Aug 2024 11:17:38 +0000 (13:17 +0200)] 
mkosi: Don't apply distribution specific patches

rpm upstream is going to imply --noprep when running with --build-in-place so let's do the same on older
versions of rpm (https://github.com/rpm-software-management/rpm/commit/e0925ad6e3185030b004343f73a5917fdc562d6c)

Also, to keep things consistent between distros, run with --noprepare
on Arch Linux as well (we already skip patches on Debian/Ubuntu).

To keep things working on Arch, we apply the one downstream patch
manually ourselves.

15 months agomkosi: Update to latest
Daan De Meyer [Tue, 27 Aug 2024 10:56:07 +0000 (12:56 +0200)] 
mkosi: Update to latest

15 months agoMerge pull request #34143 from DaanDeMeyer/tests
Daan De Meyer [Wed, 28 Aug 2024 13:17:55 +0000 (15:17 +0200)] 
Merge pull request #34143 from DaanDeMeyer/tests

 test-dhcp-server: Migrate to new assertion macros

15 months agotest-dhcp-server: Migrate to new assertion macros 34143/head
Daan De Meyer [Tue, 27 Aug 2024 10:21:18 +0000 (12:21 +0200)] 
test-dhcp-server: Migrate to new assertion macros

15 months agoMerge pull request #34123 from yuwata/sd-device
Yu Watanabe [Wed, 28 Aug 2024 02:33:09 +0000 (11:33 +0900)] 
Merge pull request #34123 from yuwata/sd-device

sd-device: expose sd_device_get_device_id() and sd_device_get_driver_subsystem()

15 months agoMerge pull request #34139 from yuwata/sd-device-monitor
Yu Watanabe [Wed, 28 Aug 2024 02:32:51 +0000 (11:32 +0900)] 
Merge pull request #34139 from yuwata/sd-device-monitor

sd-device-monitor: introduce sd_device_monitor_get_events() and _get_timeout()

15 months agosd-device-monitor: introduce sd_device_monitor_get_events() and _get_timeout() 34139/head
Yu Watanabe [Mon, 26 Aug 2024 21:23:43 +0000 (06:23 +0900)] 
sd-device-monitor: introduce sd_device_monitor_get_events() and _get_timeout()

Follow-up for bab889c51e888c1b288fed253c349e979a6cf31a (#33032).

Currently, they unconditionally returns EPOLLIN and USEC_INFINITY, respectively.
Just for consistency with sd-bus, sd-journal, sd-varlink, and so on. All
they have _get_fd(), _get_events(), and _get_timeout().

Closes #34094.

15 months agotest: use more suitable assertions
Yu Watanabe [Mon, 26 Aug 2024 21:22:19 +0000 (06:22 +0900)] 
test: use more suitable assertions

15 months agosd-varlink: make the argument type consistent with header
Yu Watanabe [Mon, 26 Aug 2024 21:29:15 +0000 (06:29 +0900)] 
sd-varlink: make the argument type consistent with header

15 months agoudevadm/info: also show driver subsystem and device ID 34123/head
Yu Watanabe [Mon, 26 Aug 2024 19:14:12 +0000 (04:14 +0900)] 
udevadm/info: also show driver subsystem and device ID

This adds two more fields in 'udevadm info':
- J for device ID, e.g. b128:1, c10:1, n1, and so on.
- B for driver subsystem, e.g. pci, i2c, and so on.

These, especially the device ID field may be useful to find udev
database file under /run/udev/data for a device.

15 months agosd-device: make sd_device_new_from_subsystem_sysname() stricter
Yu Watanabe [Sun, 25 Aug 2024 21:24:24 +0000 (06:24 +0900)] 
sd-device: make sd_device_new_from_subsystem_sysname() stricter

As workarounded by fc0cbed2db860d163d59d04c32fa6ec30bd0606f, the pair of
subsystem and sysname is not unique. For examples,
- /sys/bus/gpio and /sys/class/gpio, both have gpiochip%N. However, these point to different devpaths.
- /sys/bus/mdio_bus and /sys/class/mdio_bus,
- /sys/bus/mei and /sys/class/mei,
- /sys/bus/typec and /sys/class/typec, and so on.

Let's refuse to provide sd_device object in such cases.

15 months agosd-device: make device_get_device_id() public
Yu Watanabe [Sun, 25 Aug 2024 19:36:16 +0000 (04:36 +0900)] 
sd-device: make device_get_device_id() public

We have already exposed sd_device_new_from_device_id(), but we have
never provide the way to get device ID from an existing sd_device
object.

15 months agosd-device: introduce sd_device_get_driver_subsystem()
Yu Watanabe [Sun, 25 Aug 2024 19:09:49 +0000 (04:09 +0900)] 
sd-device: introduce sd_device_get_driver_subsystem()

To create the sd_device object of a driver, the function
sd_device_new_from_subsystem_sysname() requires "drivers" for subsystem
and e.g. "pci:iwlwifi" for sysname. Similarly, sd_device_new_from_device_id()
also requires driver subsystem. However, we have never provided a
way to get the driver subsystem ("pci" for the previous example) from
an existing sd_device object.

Let's introduce a way to get driver subsystem.

15 months agosd-device: refuse earlier when too long ifname is passed to sd_device_new_from_ifname()
Yu Watanabe [Sun, 25 Aug 2024 21:33:42 +0000 (06:33 +0900)] 
sd-device: refuse earlier when too long ifname is passed to sd_device_new_from_ifname()

Otherwise, alloca() called in strjoina() may trigger assertion.

This partially reverts 3652891c3904992e21739e9bfb004073841db63c.
The commit mistakenly dropped the check.

15 months agosd-device: make sd_device_get_devtype() return 0 on success again
Yu Watanabe [Sun, 25 Aug 2024 19:01:47 +0000 (04:01 +0900)] 
sd-device: make sd_device_get_devtype() return 0 on success again

This partially reverts the commit 730b76bd2cd5f0866baa738ae283e3b62544a28f.

Before the commit, the function returned 0 on success, but the commit
made the function always return 1, as if device->devtype is NULL, the
function returns -ENOENT in the above.

Fortunately, udev_device_get_devtype() does not propagate any
non-negative value from sd_device_get_devtype(). Hence, hopefully we can
safely revert the change.

15 months agostub: restore random seed update logic
Vitaly Kuznetsov [Tue, 27 Aug 2024 10:51:45 +0000 (12:51 +0200)] 
stub: restore random seed update logic

Commit 201e0d53bdd43 ("stub: split out random seed part out of run()")
looks like refactoring but apparently it changed the logic when random
seed is refreshed in the ESP completely. Previously, process_random_seed()
was called when either:
- sd-stub was not present (LoaderFeatures var is unset) OR
- sd-stub was present but EFI_LOADER_FEATURE_RANDOM_SEED flag was unset.
Post-change, refresh_random_seed() bails under the exact same conditions (no
sd-stub or EFI_LOADER_FEATURE_RANDOM_SEED is unset) and thus
process_random_seed() is NOT called.

Restore the original logic. efivar_get_uint64_le()'s return value doesn't
require checking: loader_features is initialized to 0 and in case of failure it
stays untouched.

15 months agovmspawn: fix duplicate logging on oom
Lennart Poettering [Tue, 27 Aug 2024 10:37:56 +0000 (12:37 +0200)] 
vmspawn: fix duplicate logging on oom

15 months agoMerge pull request #33570 from AdrianVovk/sysupdate-incomplete
Adrian Vovk [Tue, 27 Aug 2024 17:04:02 +0000 (13:04 -0400)] 
Merge pull request #33570 from AdrianVovk/sysupdate-incomplete

sysupdate: Handle incomplete versions

15 months agoexec-invoke: remove redundant empty lines
Lennart Poettering [Tue, 27 Aug 2024 10:37:13 +0000 (12:37 +0200)] 
exec-invoke: remove redundant empty lines

15 months agoservice: add 'debug' option to RestartMode=
Luca Boccassi [Fri, 26 Jul 2024 18:07:23 +0000 (19:07 +0100)] 
service: add 'debug' option to RestartMode=

One of the major pait points of managing fleets of headless nodes is
that when something fails at startup, unless debug level was already
enabled (which usually isn't, as it's a firehose), one needs to manually
enable it and pray the issue can be reproduced, which often is really
hard and time consuming, just to get extra info. Usually the extra log
messages are enough to triage an issue.

This new option makes it so that when a service fails and is restarted
due to Restart=, log level for that unit is set to debug, so that all
setup code in pid1 and sd-executor logs at debug level, and also a new
DEBUG_INVOCATION=1 env var is passed to the service itself, so that it
knows it should start with a higher log level. Once the unit succeeds
or reaches the rate limit the original level is restored.

15 months agoMerge pull request #34114 from yuwata/resolvconf-p
Luca Boccassi [Tue, 27 Aug 2024 10:18:34 +0000 (11:18 +0100)] 
Merge pull request #34114 from yuwata/resolvconf-p

resolve: support 'resolvconf -p'

15 months agotests: Add ASSERT_OK_EQ()
Daan De Meyer [Tue, 27 Aug 2024 10:15:24 +0000 (12:15 +0200)] 
tests: Add ASSERT_OK_EQ()

15 months agotests: Remove some unnecessary quotes
Daan De Meyer [Tue, 27 Aug 2024 10:15:05 +0000 (12:15 +0200)] 
tests: Remove some unnecessary quotes

15 months agocore-varlink: add missing runtime scope check for manager_varlink_managed_oom_connect()
Mike Yuan [Mon, 26 Aug 2024 14:44:00 +0000 (16:44 +0200)] 
core-varlink: add missing runtime scope check for manager_varlink_managed_oom_connect()

Follow-up for 2250c996cfc41afb30cd086adeed18fd41a683ba

15 months agoMerge pull request #34124 from YHNdnzj/socket-accept-name
Yu Watanabe [Tue, 27 Aug 2024 03:11:20 +0000 (12:11 +0900)] 
Merge pull request #34124 from YHNdnzj/socket-accept-name

core: honor FileDescriptorName= too for Accept=yes sockets, plus several other cleanups

15 months agoNEWS: mention "resolvconf -p" 34114/head
Yu Watanabe [Mon, 26 Aug 2024 20:42:34 +0000 (05:42 +0900)] 
NEWS: mention "resolvconf -p"

15 months agotest: add more test cases for resolvconf
Yu Watanabe [Sat, 24 Aug 2024 21:54:00 +0000 (06:54 +0900)] 
test: add more test cases for resolvconf

15 months agoresolvconf: disable default route when -p is specified
Yu Watanabe [Sat, 24 Aug 2024 01:37:30 +0000 (10:37 +0900)] 
resolvconf: disable default route when -p is specified

Internally, the switch triggers 'resolvectl default-route INTERFACE no'.

Closes #34112.

15 months agoresolvconf: clear domains if nothing specified
Yu Watanabe [Mon, 26 Aug 2024 20:21:41 +0000 (05:21 +0900)] 
resolvconf: clear domains if nothing specified

15 months agoresolvectl: make enum name consistent with the option name
Yu Watanabe [Sat, 24 Aug 2024 01:01:10 +0000 (10:01 +0900)] 
resolvectl: make enum name consistent with the option name

15 months agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Mon, 26 Aug 2024 19:38:32 +0000 (21:38 +0200)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (253 of 253 strings)

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

15 months agoresolved: clear the AD bit for bypass packets
Ronan Pigott [Mon, 26 Aug 2024 08:39:20 +0000 (01:39 -0700)] 
resolved: clear the AD bit for bypass packets

When the bypass logic is invoked, such as for queries to the stub with
the DO bit set, be certain to clear the AD bit in the reply before
forwarding it if the answer is not known to be authentic.

15 months agorepart: Use streq_ptr() in one more place
Daan De Meyer [Mon, 26 Aug 2024 10:18:37 +0000 (12:18 +0200)] 
repart: Use streq_ptr() in one more place

15 months agoman: document "web" session type
Allison Karlitskaya [Mon, 26 Aug 2024 08:32:47 +0000 (10:32 +0200)] 
man: document "web" session type

This has been supported since e9e74f28d783 but never got documented.
Add it to the man pages (plus one comment in a header).

Closes #34127.

15 months agocrash-handler: Add back notice log message
Daan De Meyer [Mon, 26 Aug 2024 10:02:30 +0000 (12:02 +0200)] 
crash-handler: Add back notice log message

Fixes https://github.com/systemd/systemd/pull/33959#discussion_r1730987738

15 months agoupdate TODO
Lennart Poettering [Tue, 20 Aug 2024 08:28:38 +0000 (10:28 +0200)] 
update TODO

15 months agounits: don't set LISTEN_FDNAMES for varlink services explicitly 34124/head
Lennart Poettering [Thu, 22 Aug 2024 09:49:25 +0000 (11:49 +0200)] 
units: don't set LISTEN_FDNAMES for varlink services explicitly

Now that FileDescriptorName= is properly honored by Accept=yes sockets,
this explicit override is pointless.

15 months agocore: honor FileDescriptorName= too for Accept=yes sockets
Mike Yuan [Sun, 25 Aug 2024 21:21:47 +0000 (23:21 +0200)] 
core: honor FileDescriptorName= too for Accept=yes sockets

So far we manually hardcoded $LISTEN_FDNAMES to "varlink" in various
varlink service units we ship, even though FileDescriptorName=varlink
is specified in associated socket units already, because
FileDescriptorName= is currently silently ignored when combined with
Accept=yes. Let's step away from this, which seems saner.

Note that this is technically a compat break, but a mostly negligible
one as there shall be few users setting FileDescriptorName= but
still expecting LISTEN_FDNAMES=connection in the actual executable.

Preparation for #34080

15 months agomkosi: Stop using git commit timestamps for package releases
Daan De Meyer [Mon, 26 Aug 2024 11:08:25 +0000 (13:08 +0200)] 
mkosi: Stop using git commit timestamps for package releases

This prevents bisecting to figure out which commit broke something
as when going backwards the git commit timestamp will be older meaning
package managers will refuse to upgrade to the "older" version. Let's
make sure the release is always newer by using the current date unless
$SOURCE_DATE_EPOCH is set.

15 months agocore: move check for combination of PAMName= + KillMode= to unit_verify_contexts()
Mike Yuan [Sun, 25 Aug 2024 21:42:07 +0000 (23:42 +0200)] 
core: move check for combination of PAMName= + KillMode= to unit_verify_contexts()

While at it, allow "mixed" for all unit types too, i.e.
also apply ebc2259da1d1579347b86fc2ebca9f96334b6f22 to
socket/mount/swap units.