Kamil Szczęk [Tue, 25 Jun 2024 15:44:53 +0000 (17:44 +0200)]
cryptsetup: improve TPM2 blob display
Just a tiny change to fix an eyesore in cryptsetup luksDump display :)
Luca Boccassi [Wed, 26 Jun 2024 16:21:20 +0000 (18:21 +0200)]
Merge pull request #33495 from bluca/mkosi_update
mkosi: update to latest, fix opensuse, use standalone shutdown package in Debian
Luca Boccassi [Wed, 26 Jun 2024 14:52:23 +0000 (15:52 +0100)]
mkosi: switch opensuse to devel branch
The factory branch seems to have been reset to 9 years ago, switch
to devel
Luca Boccassi [Wed, 26 Jun 2024 14:21:33 +0000 (15:21 +0100)]
mkosi: use new standalone-shutdown package for debian's exitrd
Mike Yuan [Wed, 26 Jun 2024 14:47:48 +0000 (16:47 +0200)]
man/capsule@.service: the capsule user is prefixed with "c-" rather than "p_"
Luca Boccassi [Wed, 26 Jun 2024 14:21:14 +0000 (15:21 +0100)]
mkosi: bump to latest commit
Carlo Teubner [Wed, 26 Jun 2024 14:39:53 +0000 (15:39 +0100)]
man/capsule@.service.xml: fix typo
Daan De Meyer [Wed, 26 Jun 2024 13:35:30 +0000 (15:35 +0200)]
docs: Add section to HACKING.md on distribution packages
Mike Yuan [Tue, 25 Jun 2024 12:50:11 +0000 (14:50 +0200)]
import-generator: open up NotifyAccess for varlinkctl
So that it can report errors through VARLINKERROR=.
Daan De Meyer [Tue, 25 Jun 2024 14:34:28 +0000 (16:34 +0200)]
mkosi: update fedora commit reference
*
8153d9b0f9 Revert "Remove tmpfiles snippet for /home and /srv"
*
a76669ee22 Remove tmpfiles snippet for /home and /srv
*
b3e1d52cb4 Soft-disable tmpfiles --purge until a good use case comes up
*
4a29ab3f3b Version 256.1
*
ebf352d292 disable auto-features when bootstrapping
*
1ae0516ae7 Version 256
*
b32641170e Restore patch to drop varlink method call
*
421f0041b3 Version 256~rc4
*
65d9b49791 Fix typo
*
c56891fb68 Drop sysusers.d/basic.conf
*
69472997b9 Renumber sources and make order more consistent
Daan De Meyer [Tue, 25 Jun 2024 14:18:02 +0000 (16:18 +0200)]
mkosi: update debian commit reference
*
3b4368d4b8 d/not-installed: fix shutdown.standalone path
*
2de05155e8 Update changelog for 256.1-2 release
*
cd98bcef06 autopkgtest: add dependency on libcryptsetup-dev in unit-tests suite
*
e220ce22f1 Bump breaks/replaces to conflicts for DEP17
Luca Boccassi [Tue, 25 Jun 2024 12:44:21 +0000 (14:44 +0200)]
Merge pull request #33451 from yuwata/core-exec-use-write
core: use write() instead of send()
Luca Boccassi [Tue, 25 Jun 2024 12:40:06 +0000 (14:40 +0200)]
Merge pull request #33450 from yuwata/network-ndisc-do-not-override-static-routes
network/NDisc: do not override static routes
Lennart Poettering [Tue, 25 Jun 2024 12:08:04 +0000 (14:08 +0200)]
Merge pull request #33003 from poettering/repart-progress
repart: draw progress bar during CopyBlocks= operation and other tweaks
Lennart Poettering [Tue, 25 Jun 2024 12:07:46 +0000 (14:07 +0200)]
Merge pull request #33078 from poettering/import-generator
importd: add import generator
Yu Watanabe [Tue, 25 Jun 2024 07:33:15 +0000 (16:33 +0900)]
network/ndisc: fix spurious log messages
- Fix swapped arguments:
Before:
veth99: Prefix 'in deny list' is 2002:da8:1::/64, ignoring
After:
veth99: Prefix '2002:da8:1::/64' is in deny list, ignoring.
- Drop unnecessary DEBUG_LOGGING.
Luca Boccassi [Mon, 24 Jun 2024 14:20:11 +0000 (15:20 +0100)]
mkosi: add support for TEST_SAVE_JOURNAL to integration test wrapper
Same variable and values as supported by the shell suite
Lennart Poettering [Tue, 25 Jun 2024 08:24:47 +0000 (10:24 +0200)]
ci: add small test case for /dev/urandom as source for CopyBlocks=
Lennart Poettering [Fri, 24 May 2024 12:00:21 +0000 (14:00 +0200)]
repart: show progress bar when initializing partition via CopyBlocks=
This might take a while, hence make it pretty.
Lennart Poettering [Fri, 24 May 2024 11:57:56 +0000 (13:57 +0200)]
repart: allow reading from char device for CopyBlocks=
Sometimes it is useful to allow initializing a partition with randomized
data, hence allow reading from a char device as source for CopyBlocks=
Lennart Poettering [Fri, 24 May 2024 11:56:47 +0000 (13:56 +0200)]
repart: make prefix argument to clear_progress_bar() optional
In this case, let's try to override the whole line, not just the first
few chars.
Lennart Poettering [Sat, 11 May 2024 15:02:26 +0000 (17:02 +0200)]
update TODO
Lennart Poettering [Mon, 27 May 2024 17:05:48 +0000 (19:05 +0200)]
ci: add test for importd varlink interface + import generator
Lennart Poettering [Tue, 25 Jun 2024 07:55:16 +0000 (09:55 +0200)]
import: add generator that synthesizes download jobs from kernel cmdline
Lennart Poettering [Wed, 8 May 2024 09:11:43 +0000 (11:11 +0200)]
importd: allow activation in early boot, and make it socket activatable
Previously, importd was only accessible via D-Bus, which required it to
be a late boot service. Now that we have Varlink we can rearrange things
to become early-boot activated, just after the image directories are
mounted.
This will later allow us to have generator that auto-downloads images on
boot.
Lennart Poettering [Wed, 8 May 2024 08:42:48 +0000 (10:42 +0200)]
importd: add simple varlink API
For now, let's just support Pull() and ListTransfers(), but this is just
a start.
Lennart Poettering [Sat, 11 May 2024 12:00:25 +0000 (14:00 +0200)]
import: add generic enum for choosing between tar + raw downloads
Lennart Poettering [Wed, 29 May 2024 07:33:27 +0000 (09:33 +0200)]
varlink: add varlink_many_*() helpers that send messages to a set of connections at once
If we have a Varlink interface that allows man subscribers to the same
source of events we typically want to notify all of them at once with
the same message.
Let's add some helpers for this purpose: varlink_many_*() can be used to
send messages, similar to the corresponding varlink_*() calls, but they
take a Set of Varlink objects and we issue the operation on every
connection once.
This ports over one existing case where this is beneficial, but the main
user for this is supposed to be importd later.
Lennart Poettering [Tue, 25 Jun 2024 07:48:38 +0000 (09:48 +0200)]
Merge pull request #33461 from poettering/boot-measured-flag-rework
stub: rework how we combine the "measured" flags in sd-stub
Luca Boccassi [Mon, 24 Jun 2024 22:48:37 +0000 (00:48 +0200)]
Merge pull request #33454 from YHNdnzj/user-service-working-dir-relax
core: verify WorkingDirectory= is outside of API VFS only under mount namespacing
Lennart Poettering [Mon, 24 Jun 2024 10:52:57 +0000 (12:52 +0200)]
stub: fix reporting of dtb measurement
Let's properly return the measurement flag tristate, rather than a
boolean. Otherwise we'll mistake "nothing to measure" as "not measured",
which are two different things, and means we'll miscombine the flag
later, claiming to userspace that we measured no dtb data even if there
was.
Lennart Poettering [Mon, 24 Jun 2024 10:44:32 +0000 (12:44 +0200)]
stub: unify how we combine 'measured' flags
We have the same non-trivial ternary op expression at various places,
let's unify it in one call, to make this easier to read and remove
duplication.
Lennart Poettering [Mon, 24 Jun 2024 15:38:29 +0000 (17:38 +0200)]
uefi: drop redundant local variable
Lennart Poettering [Mon, 24 Jun 2024 10:52:38 +0000 (12:52 +0200)]
uefi: drop ill-placed empty line
Let's not place empty lines between function calls and their immediate
error handling.
nerdopolis [Tue, 12 Mar 2024 02:09:07 +0000 (22:09 -0400)]
login: Add a new SecureAttentionKey dbus signal when Ctrl+Alt+Shift+Esc is pressed
Yu Watanabe [Sun, 23 Jun 2024 06:52:53 +0000 (15:52 +0900)]
test-execute: add a test case for issue #33299
Yu Watanabe [Mon, 24 Jun 2024 20:10:04 +0000 (05:10 +0900)]
core: do not filter out write() if required in the very late stage
Before
12001b1bf067339db089d52e08fd0b4c6a9945df, write() is required for
if Type=exec. However, with the previous commit, now write() is also used
for sending handoff timestamp. Let's allow write() if necessary.
Fixes a regression caused by
12001b1bf067339db089d52e08fd0b4c6a9945df.
Fixes #33299.
Yu Watanabe [Sun, 23 Jun 2024 06:15:30 +0000 (15:15 +0900)]
core: use write() to send handoff timestamp
Before
12001b1bf067339db089d52e08fd0b4c6a9945df, the timestamp is sent
with write(), but the commit made the timestamp sent by send(), and
causes regressin #33299.
Note the invocation will still fail if write() is filtered by seccomp.
But, that is an old issue since Type=exec is introduced
(
5686391b006ee82d8a4559067ad9818e3e631247).
Partially fixes a regression caused by
12001b1bf067339db089d52e08fd0b4c6a9945df.
Partially fixes #33299.
Yu Watanabe [Mon, 24 Jun 2024 20:08:17 +0000 (05:08 +0900)]
seccomp-util: split out seccomp_filter_set_add_by_name()
Luca Boccassi [Mon, 24 Jun 2024 18:45:37 +0000 (20:45 +0200)]
Merge pull request #33042 from poettering/machined-unpriv
machined: unprivileged machine registration
Luca Boccassi [Mon, 24 Jun 2024 18:35:07 +0000 (20:35 +0200)]
Merge pull request #33000 from poettering/ssh-proxy-machine
systemd-ssh-proxy: look for VSOCK CIDs in machined
Yu Watanabe [Mon, 24 Jun 2024 18:26:04 +0000 (03:26 +0900)]
Merge pull request #33466 from YHNdnzj/open-file-graceful-log
core/exec-invoke: clean up OpenFile= logging
Eugeny Shcheglov [Mon, 24 Jun 2024 18:23:50 +0000 (21:23 +0300)]
Fix typo in CAP_BPF description (#33464)
description_good and description_bad are mixed up. Disabling CAP_BPF results in the inability to load BPF, not the other way around.
oldherl [Mon, 24 Jun 2024 18:22:37 +0000 (04:22 +1000)]
hwdb: fix keyboard of RedmiBook Pro 15 2022 (#33465)
Fix two problems of the keyboard of RedmiBook Pro 15 2022.
- Enter key in the main area was mapped to KP_Enter.
- When Fn is locked (to use F1-F12 without pressing Fn),
Right Ctrl was mapped to Menu. Keeping it as Right Ctrl is more useful.
Yu Watanabe [Sun, 23 Jun 2024 05:37:01 +0000 (14:37 +0900)]
test-network: check if static routes not overridden by NDisc routes
Yu Watanabe [Mon, 24 Jun 2024 07:20:27 +0000 (16:20 +0900)]
network/ndisc: do not remove static routes when received RA with zero lifetime
Similar to the previous commit, but for preventing from removing static
routes on receiving RA with zero lifetime.
Fixes a regresson caused by
479d3e1994a2e4ff7070dc2a0cb1615af7120b0c.
Fixes #33346.
Yu Watanabe [Sun, 23 Jun 2024 05:36:08 +0000 (14:36 +0900)]
network/ndisc: do not override conflicting static routes
We have already ignored conflicting address configurations requested by
NDisc protocol. See ndisc_request_address().
Let's follow the same rule for routes. That is, if there are conflicting
static routes configured or requested, do not override them by NDisc.
Also, swap the order of checking existing route and existing request.
Fixes a regression caused by
972f1d17ab461a51142a142609dd3ec50bae8440.
Prompted by #33346.
Mike Yuan [Mon, 24 Jun 2024 16:30:00 +0000 (18:30 +0200)]
core/exec-invoke: clean up OpenFile= logging
Make collect_open_file_fds() the only logging function,
and downgrade various usual errors to debug level
if OPENFILE_GRACEFUL is set.
Fixes #33458
Mike Yuan [Mon, 24 Jun 2024 16:26:15 +0000 (18:26 +0200)]
core/exec-invoke: reopen OpenFile= fds with O_NOCTTY
Lennart Poettering [Mon, 24 Jun 2024 10:18:03 +0000 (12:18 +0200)]
uefi: emphasize a bit that EV_IPL event logs is the past, EV_EVENT_TAG the future
Mike Yuan [Sun, 23 Jun 2024 16:12:33 +0000 (18:12 +0200)]
core: verify WorkingDirectory= is outside of API VFS only under mount namespacing
The purpose of the check is to prevent leaking API VFS fds
from host into a mount namespace/container. When mountns
is not used at all, the check is pointless and causes
inconvenience. E.g. file managers might need to be spawned
under those directories, and they surely won't run in mountns.
Suggested in https://github.com/systemd/systemd/pull/33454#issuecomment-
2186351467
Fixes #33361
Mike Yuan [Sun, 23 Jun 2024 16:29:29 +0000 (18:29 +0200)]
core/load-fragment: use ASSERT_PTR where appropriate
Mike Yuan [Mon, 24 Jun 2024 13:34:16 +0000 (15:34 +0200)]
Merge pull request #33401 from yuwata/journal-revert-source-boottime-timestamp
journal: partially revert recent changes
Mike Yuan [Mon, 24 Jun 2024 13:29:36 +0000 (15:29 +0200)]
Merge pull request #33456 from yuwata/terminal-util
terminal-util: use colon as separator for specifying color
Robin Lee [Mon, 24 Jun 2024 05:48:32 +0000 (13:48 +0800)]
vmspawn: define QEMU_MACHINE_TYPE for loongarch64
Use ["virt"](https://www.qemu.org/docs/master/system/loongarch/virt.html) as a commonly used generic platform on loongarch64.
Yu Watanabe [Sun, 23 Jun 2024 19:18:04 +0000 (04:18 +0900)]
terminal-util: several cleanups for ColorMode
- introduce or rename usual enum values _MAX and _INVALID,
- introduce and use string table lookup functions,
- split out implementation of get_color_mode() to _impl(),
- add tests for get_color_mode().
Yu Watanabe [Sun, 23 Jun 2024 19:12:45 +0000 (04:12 +0900)]
terminal-util: merge COLOR_ON with COLOR_24BIT
Currently, we assume that there is no restriction on coloring when
COLOR_24BIT. Let's merge the two values.
Follow-up for
a5efbf468c96190c9562bc8121eda32310dfd112.
Yu Watanabe [Mon, 24 Jun 2024 08:55:17 +0000 (17:55 +0900)]
terminal-util: use colon as separator for specifying color
Then, terminal will safely ignore unsupported features, like colored
underline.
Fixes a regression caused by
891abc9cf1d3d7afd7b740b4077551dcfb5f8e16.
Fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
1074073.
Fixes #33449.
Luca Boccassi [Sun, 23 Jun 2024 12:19:30 +0000 (13:19 +0100)]
Merge pull request #33452 from bluca/repart_pkg
mkosi: install new split-out systemd packages
Luca Boccassi [Sun, 23 Jun 2024 09:20:27 +0000 (10:20 +0100)]
mkosi: bump Debian Salsa commit to latest
Luca Boccassi [Sun, 23 Jun 2024 09:10:26 +0000 (10:10 +0100)]
mkosi: install new split-out systemd packages
repart and cryptsetup tools were moved out of the main package
to reduce dependencies.
Mike Yuan [Sat, 22 Jun 2024 10:28:08 +0000 (12:28 +0200)]
bus-unit-util: add PrivateTmpEx to bus_append_execute_property()
Follow-up for
9d50d053f327e5471a514bc36487bfc3358c15d8
Stuart Hayhurst [Sat, 22 Jun 2024 19:25:21 +0000 (20:25 +0100)]
hwdb: Fix Logitech G915 TKL (Bluetooth) appearing as a mouse
Diego Viola [Sat, 22 Jun 2024 02:46:32 +0000 (23:46 -0300)]
man: fix double is typo in systemd-tmpfiles
Signed-off-by: Diego Viola <diego.viola@gmail.com>
Lennart Poettering [Fri, 21 Jun 2024 07:41:43 +0000 (09:41 +0200)]
tree-wide: fix type of read() return variable at a couple of places
read() returns ssize_t (i.e. 64bit typically). We assigned it to int
variables in some cases (i.e. 32bit typically). Let's not be so sloppy,
and not accidentally drop 32bit on the floor.
(of course, this is not an issue IRL since we'll not have allocations
above 2^32 ever we could read into, but still, let's clean this up)
Lennart Poettering [Fri, 21 Jun 2024 15:05:26 +0000 (17:05 +0200)]
varlink: yet another fix around handling of IDL comments
Skip over them when validating a message against the IDL.
Add test case that tests this.
Yu Watanabe [Sat, 22 Jun 2024 07:34:55 +0000 (16:34 +0900)]
Merge pull request #33439 from YHNdnzj/private-tmp-followup
core: several follow-ups for recent changes to PrivateTmp
Yu Watanabe [Sat, 22 Jun 2024 07:24:47 +0000 (16:24 +0900)]
Merge pull request #33408 from poettering/install-change-fix
install: some follow-up fixes to #33254
Lennart Poettering [Mon, 27 May 2024 14:43:13 +0000 (16:43 +0200)]
update TODO
Lennart Poettering [Mon, 27 May 2024 11:32:02 +0000 (13:32 +0200)]
units: register vmspawn VMs started via systemd-vmspawn@.service by default with machined
Lennart Poettering [Mon, 27 May 2024 11:30:31 +0000 (13:30 +0200)]
vmspawn: by default, let machined register a cgroup for VMs
This mimics what we do in nspawn: if registration is enabled we'll let
machined allocate a scope unit for us. When --keep-unit is used we'll
register without creating a new scope.
This brings behaviour more inline with what nspawn does, exposing the
same sets of options.
Lennart Poettering [Mon, 27 May 2024 11:30:11 +0000 (13:30 +0200)]
nspawn: machine registration is now available unpriv
Lennart Poettering [Mon, 13 May 2024 13:07:09 +0000 (07:07 -0600)]
machined: support allocating a scope for machines if needed via varlink
On dbus we have two apis: one for registering a new machne when the
client already has a cgroup (RegisterMachine()) and one where it doesn't
and machined shall create it (CreateMachine()).
Let's add the same for the varlink api. To simplify things we just
implement it via a boolean flag to the existign RegisterMachine()
varlink call, since the differences are mostly minor otherwise.
Lennart Poettering [Sat, 11 May 2024 18:18:56 +0000 (20:18 +0200)]
machined: allow unprivileged registration of VMs/containers
Now that we have a concept of unprivileged VMs and containers, let's
allow unprivileged clients to register with machined too – subject to
Polkit permissions.
Mike Yuan [Tue, 18 Jun 2024 14:18:56 +0000 (16:18 +0200)]
core: expose PrivateTmp=disconnected
As discussed in https://github.com/systemd/systemd/pull/32724#discussion_r1638963071
I don't find the opposite reasoning particularly convincing.
We have ProtectHome=tmpfs and friends, and those can be
pretty much trivially implemented through TemporaryFileSystem=
too. The new logic brings many benefits, and is completely generic,
hence I see no reason not to expose it. We can even get more tests
for the code path if we make it public.
Lennart Poettering [Thu, 23 May 2024 21:19:12 +0000 (23:19 +0200)]
test: add some superficial integration tests
Lennart Poettering [Sat, 11 May 2024 17:56:10 +0000 (19:56 +0200)]
ssh-proxy: add support for connecting to VMs by AF_VSOCK via "machine/…" host specs
With this one can type "ssh machine/foobar" to connect to locally
registered machine "foobar" via SSH-over-AF_VSOCK.
Lennart Poettering [Sat, 11 May 2024 17:55:15 +0000 (19:55 +0200)]
machined: add simple varlink API for listing machines
Lennart Poettering [Fri, 24 May 2024 12:43:12 +0000 (14:43 +0200)]
json: teach json_build() to serialize dual_timestamp structures reasonably
Mike Yuan [Tue, 18 Jun 2024 14:14:46 +0000 (16:14 +0200)]
core/namespace: add assertion for PRIVATE_TMP_CONNECTED
Mike Yuan [Tue, 18 Jun 2024 13:56:45 +0000 (15:56 +0200)]
core/exec-invoke: respect needs_sandboxing for PrivateTmp
Follow-up for
0e551b04efb911d38b586cca1a6a462c87a2cb1b
Mike Yuan [Tue, 18 Jun 2024 13:35:43 +0000 (15:35 +0200)]
core/dbus-util: move dbus setter/getter for PrivateTmp to dbus-execute
As with all other properties for ExecContext
Lennart Poettering [Fri, 21 Jun 2024 15:05:26 +0000 (17:05 +0200)]
varlink: yet another fix around handling of IDL comments
Skip over them when validating a message against the IDL.
Add test case that tests this.
Mike Yuan [Tue, 18 Jun 2024 13:19:52 +0000 (15:19 +0200)]
core/dbus-execute: use FOREACH_ARRAY more, drop bus_ prefix for static funcs
Mike Yuan [Thu, 20 Jun 2024 21:14:38 +0000 (23:14 +0200)]
man/org.freedesktop.systemd1: Status{Bus,Varlink}Error belongs to Service, not Scope
Follow-up for
9c025022d98787d7ad4e46b57f709434531e55a1
Ugh, shouldn't have done this bit when I was sleepy...
Lennart Poettering [Tue, 18 Jun 2024 15:09:34 +0000 (17:09 +0200)]
install: shorten code a bit
This changes behaviour a bit, since we now keep track of OOM errors in
install_changes_add(). Which I'd argue is a good thing.
Lennart Poettering [Tue, 18 Jun 2024 15:09:21 +0000 (17:09 +0200)]
install: collect more install_changes_add() errors
We so far collected most unexpected errors from install_changes_add()
and propagated them – but for some invocations we forgot to do that. Add
that, and take care we only propagated unexpected errors (i.e. ENOMEM
and such), but treat expected errors as before.
Follow-up for
5163c9b1e56293b1bb2803420613c5b374570892
Lennart Poettering [Fri, 21 Jun 2024 10:10:51 +0000 (12:10 +0200)]
cryptsetup: minor coding style tweaks
Don't cram function calls and assignment into if condition checks. It's
not how we usually do things.
Also, define variables at innermost scope.
Nick Rosbrook [Thu, 20 Jun 2024 15:27:03 +0000 (11:27 -0400)]
test: skip test-cgroup-id on ENOSYS from cg_cgroupid_open
Most container managers will block open_by_handle_at with seccomp to
mitigate a container escape attack. LXD in particular returns ENOSYS
rather than e.g. EPERM like nspawn. Skip this test if we get ENOSYS
from open_by_handle_at via cg_cgroupid_open.
Yu Watanabe [Thu, 20 Jun 2024 23:26:30 +0000 (08:26 +0900)]
Merge pull request #33424 from poettering/machined-gc-rework
machined: clean up GC logic
Johannes Schneider [Thu, 20 Jun 2024 10:32:18 +0000 (12:32 +0200)]
meson: bpf: propagate 'sysroot' for cross compilation
During cross-compilation of systemd, the compiler used to build the bpf's needs
to be pointed at the correct include searchpath. Which can be done by passing
the corresponding directory in through the cflags; for example in yocto/bitbake
this would work: CFLAGS += "--sysroot=${STAGING_DIR_TARGET}"
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Lennart Poettering [Thu, 20 Jun 2024 21:05:32 +0000 (23:05 +0200)]
Merge pull request #33430 from YHNdnzj/buserror-notify
core/service: store BUSERROR= & VARLINKERROR= received and show them through systemctl status
Lennart Poettering [Thu, 20 Jun 2024 21:05:08 +0000 (23:05 +0200)]
Merge pull request #33425 from poettering/json-enum-easier
json: make serializing/deserializing systemd-style enums easier in Varlink
Lennart Poettering [Thu, 20 Jun 2024 21:04:45 +0000 (23:04 +0200)]
Merge pull request #33428 from poettering/graceful-varlinkctl
varlinkctl: add new --graceful= switch for treating selected errors like a success
Lennart Poettering [Mon, 27 May 2024 13:36:44 +0000 (15:36 +0200)]
machined: watch leader PID's lifetime via pidfd
If we have a pidfd, we might as well track the machine's leader PID's
lifetime, and enqueue the machine for a GC run.
(This is similar to what we are already doing for logind's session
leaders)
Lennart Poettering [Mon, 27 May 2024 13:37:51 +0000 (15:37 +0200)]
machined: GC machines during runtime too
One major omission in machine's logic so far was that the GC was only
run at startup and on the check-idle timeout, which is really slow.
Let's make this more like the GC logic in homed or logind: make sure we
run it in a close-by event loop cycle.
Mike Yuan [Thu, 20 Jun 2024 16:39:52 +0000 (18:39 +0200)]
TEST-80-NOTIFYACCESS: introduce test for ERRNO= + BUS/VARLINKERROR=
Lennart Poettering [Thu, 20 Jun 2024 14:22:32 +0000 (16:22 +0200)]
busctl: send BUSERROR= to caller via sd_notify() protocol
varlinkctl has this nice feature that it sends the varlink error it gets
via sd_notify() to the caller. With previous commits this information
is collected and exposed in "systemctl status".
Let's make sure we can provide the same in busctl: also propagate errors
the same way.
With this we can comprehensively close #6073
Mike Yuan [Thu, 9 May 2024 16:25:16 +0000 (00:25 +0800)]
systemctl-show: show Status{Bus,Varlink}Error in status
Mike Yuan [Thu, 9 May 2024 14:05:22 +0000 (22:05 +0800)]
core/service: store BUSERROR= & VARLINKERROR= received through notification
Closes #6073