]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
16 months agomkosi: switch opensuse to devel branch 33495/head
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

16 months agomkosi: use new standalone-shutdown package for debian's exitrd
Luca Boccassi [Wed, 26 Jun 2024 14:21:33 +0000 (15:21 +0100)] 
mkosi: use new standalone-shutdown package for debian's exitrd

16 months agomkosi: bump to latest commit
Luca Boccassi [Wed, 26 Jun 2024 14:21:14 +0000 (15:21 +0100)] 
mkosi: bump to latest commit

16 months agoman/capsule@.service.xml: fix typo
Carlo Teubner [Wed, 26 Jun 2024 14:39:53 +0000 (15:39 +0100)] 
man/capsule@.service.xml: fix typo

16 months agodocs: Add section to HACKING.md on distribution packages
Daan De Meyer [Wed, 26 Jun 2024 13:35:30 +0000 (15:35 +0200)] 
docs: Add section to HACKING.md on distribution packages

16 months agoimport-generator: open up NotifyAccess for varlinkctl
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=.

16 months agomkosi: update fedora commit reference
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

16 months agomkosi: update debian commit reference
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

16 months agoMerge pull request #33451 from yuwata/core-exec-use-write
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()

16 months agoMerge pull request #33450 from yuwata/network-ndisc-do-not-override-static-routes
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

16 months agoMerge pull request #33003 from poettering/repart-progress
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

16 months agoMerge pull request #33078 from poettering/import-generator
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

16 months agonetwork/ndisc: fix spurious log messages
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.

16 months agomkosi: add support for TEST_SAVE_JOURNAL to integration test wrapper
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

16 months agoci: add small test case for /dev/urandom as source for CopyBlocks= 33003/head
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=

16 months agorepart: show progress bar when initializing partition via 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.

16 months agorepart: allow reading from char device for CopyBlocks=
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=

16 months agorepart: make prefix argument to clear_progress_bar() optional
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.

16 months agoupdate TODO 33078/head
Lennart Poettering [Sat, 11 May 2024 15:02:26 +0000 (17:02 +0200)] 
update TODO

16 months agoci: add test for importd varlink interface + import generator
Lennart Poettering [Mon, 27 May 2024 17:05:48 +0000 (19:05 +0200)] 
ci: add test for importd varlink interface + import generator

16 months agoimport: add generator that synthesizes download jobs from kernel cmdline
Lennart Poettering [Tue, 25 Jun 2024 07:55:16 +0000 (09:55 +0200)] 
import: add generator that synthesizes download jobs from kernel cmdline

16 months agoimportd: allow activation in early boot, and make it socket activatable
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.

16 months agoimportd: add simple varlink API
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.

16 months agoimport: add generic enum for choosing between tar + raw downloads
Lennart Poettering [Sat, 11 May 2024 12:00:25 +0000 (14:00 +0200)] 
import: add generic enum for choosing between tar + raw downloads

16 months agovarlink: add varlink_many_*() helpers that send messages to a set of connections...
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.

16 months agoMerge pull request #33461 from poettering/boot-measured-flag-rework
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

16 months agoMerge pull request #33454 from YHNdnzj/user-service-working-dir-relax
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

16 months agostub: fix reporting of dtb measurement 33461/head
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.

16 months agostub: unify how we combine 'measured' flags
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.

16 months agouefi: drop redundant local variable
Lennart Poettering [Mon, 24 Jun 2024 15:38:29 +0000 (17:38 +0200)] 
uefi: drop redundant local variable

16 months agouefi: drop ill-placed empty line
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.

16 months agologin: Add a new SecureAttentionKey dbus signal when Ctrl+Alt+Shift+Esc is pressed
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

16 months agotest-execute: add a test case for issue #33299 33451/head
Yu Watanabe [Sun, 23 Jun 2024 06:52:53 +0000 (15:52 +0900)] 
test-execute: add a test case for issue #33299

16 months agocore: do not filter out write() if required in the very late stage
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.

16 months agocore: use write() to send handoff timestamp
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.

16 months agoseccomp-util: split out seccomp_filter_set_add_by_name()
Yu Watanabe [Mon, 24 Jun 2024 20:08:17 +0000 (05:08 +0900)] 
seccomp-util: split out seccomp_filter_set_add_by_name()

16 months agoMerge pull request #33042 from poettering/machined-unpriv
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

16 months agoMerge pull request #33000 from poettering/ssh-proxy-machine
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

16 months agoMerge pull request #33466 from YHNdnzj/open-file-graceful-log
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

16 months agoFix typo in CAP_BPF description (#33464)
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.

16 months agohwdb: fix keyboard of RedmiBook Pro 15 2022 (#33465)
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.

16 months agotest-network: check if static routes not overridden by NDisc routes 33450/head
Yu Watanabe [Sun, 23 Jun 2024 05:37:01 +0000 (14:37 +0900)] 
test-network: check if static routes not overridden by NDisc routes

16 months agonetwork/ndisc: do not remove static routes when received RA with zero lifetime
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.

16 months agonetwork/ndisc: do not override conflicting static routes
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.

16 months agocore/exec-invoke: clean up OpenFile= logging 33466/head
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

16 months agocore/exec-invoke: reopen OpenFile= fds with O_NOCTTY
Mike Yuan [Mon, 24 Jun 2024 16:26:15 +0000 (18:26 +0200)] 
core/exec-invoke: reopen OpenFile= fds with O_NOCTTY

16 months agouefi: emphasize a bit that EV_IPL event logs is the past, EV_EVENT_TAG the future
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

16 months agocore: verify WorkingDirectory= is outside of API VFS only under mount namespacing 33454/head
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

16 months agocore/load-fragment: use ASSERT_PTR where appropriate
Mike Yuan [Sun, 23 Jun 2024 16:29:29 +0000 (18:29 +0200)] 
core/load-fragment: use ASSERT_PTR where appropriate

16 months agoMerge pull request #33401 from yuwata/journal-revert-source-boottime-timestamp
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

16 months agoMerge pull request #33456 from yuwata/terminal-util
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

16 months agovmspawn: define QEMU_MACHINE_TYPE for loongarch64
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.

16 months agoterminal-util: several cleanups for ColorMode 33456/head
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().

16 months agoterminal-util: merge COLOR_ON with COLOR_24BIT
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.

16 months agoterminal-util: use colon as separator for specifying color
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.

16 months agoMerge pull request #33452 from bluca/repart_pkg
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

16 months agomkosi: bump Debian Salsa commit to latest 33452/head
Luca Boccassi [Sun, 23 Jun 2024 09:20:27 +0000 (10:20 +0100)] 
mkosi: bump Debian Salsa commit to latest

16 months agomkosi: install new split-out systemd packages
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.

16 months agobus-unit-util: add PrivateTmpEx to bus_append_execute_property()
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

16 months agohwdb: Fix Logitech G915 TKL (Bluetooth) appearing as a mouse
Stuart Hayhurst [Sat, 22 Jun 2024 19:25:21 +0000 (20:25 +0100)] 
hwdb: Fix Logitech G915 TKL (Bluetooth) appearing as a mouse

16 months agoman: fix double is typo in systemd-tmpfiles
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>
16 months agotree-wide: fix type of read() return variable at a couple of places
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)

16 months agovarlink: yet another fix around handling of IDL comments
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.

16 months agoMerge pull request #33439 from YHNdnzj/private-tmp-followup
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

16 months agoMerge pull request #33408 from poettering/install-change-fix
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

16 months agoupdate TODO 33042/head
Lennart Poettering [Mon, 27 May 2024 14:43:13 +0000 (16:43 +0200)] 
update TODO

16 months agounits: register vmspawn VMs started via systemd-vmspawn@.service by default with...
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

16 months agovmspawn: by default, let machined register a cgroup for VMs
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.

16 months agonspawn: machine registration is now available unpriv
Lennart Poettering [Mon, 27 May 2024 11:30:11 +0000 (13:30 +0200)] 
nspawn: machine registration is now available unpriv

16 months agomachined: support allocating a scope for machines if needed via varlink
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.

16 months agomachined: allow unprivileged registration of VMs/containers
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.

16 months agocore: expose PrivateTmp=disconnected 33439/head
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.

16 months agotest: add some superficial integration tests 33000/head
Lennart Poettering [Thu, 23 May 2024 21:19:12 +0000 (23:19 +0200)] 
test: add some superficial integration tests

16 months agossh-proxy: add support for connecting to VMs by AF_VSOCK via "machine/…" host specs
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.

16 months agomachined: add simple varlink API for listing machines
Lennart Poettering [Sat, 11 May 2024 17:55:15 +0000 (19:55 +0200)] 
machined: add simple varlink API for listing machines

16 months agojson: teach json_build() to serialize dual_timestamp structures reasonably
Lennart Poettering [Fri, 24 May 2024 12:43:12 +0000 (14:43 +0200)] 
json: teach json_build() to serialize dual_timestamp structures reasonably

16 months agocore/namespace: add assertion for PRIVATE_TMP_CONNECTED
Mike Yuan [Tue, 18 Jun 2024 14:14:46 +0000 (16:14 +0200)] 
core/namespace: add assertion for PRIVATE_TMP_CONNECTED

16 months agocore/exec-invoke: respect needs_sandboxing for PrivateTmp
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

16 months agocore/dbus-util: move dbus setter/getter for PrivateTmp to dbus-execute
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

16 months agovarlink: yet another fix around handling of IDL comments 33440/head
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.

16 months agocore/dbus-execute: use FOREACH_ARRAY more, drop bus_ prefix for static funcs
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

16 months agoman/org.freedesktop.systemd1: Status{Bus,Varlink}Error belongs to Service, not Scope
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...

16 months agoinstall: shorten code a bit 33408/head
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.

16 months agoinstall: collect more install_changes_add() errors
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

16 months agocryptsetup: minor coding style tweaks
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.

16 months agotest: skip test-cgroup-id on ENOSYS from cg_cgroupid_open
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.

16 months agoMerge pull request #33424 from poettering/machined-gc-rework
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

16 months agomeson: bpf: propagate 'sysroot' for cross compilation
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>
16 months agoMerge pull request #33430 from YHNdnzj/buserror-notify
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

16 months agoMerge pull request #33425 from poettering/json-enum-easier
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

16 months agoMerge pull request #33428 from poettering/graceful-varlinkctl
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

16 months agomachined: watch leader PID's lifetime via pidfd 33424/head
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)

16 months agomachined: GC machines during runtime too
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.

16 months agoTEST-80-NOTIFYACCESS: introduce test for ERRNO= + BUS/VARLINKERROR= 33430/head
Mike Yuan [Thu, 20 Jun 2024 16:39:52 +0000 (18:39 +0200)] 
TEST-80-NOTIFYACCESS: introduce test for ERRNO= + BUS/VARLINKERROR=

16 months agobusctl: send BUSERROR= to caller via sd_notify() protocol
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

16 months agosystemctl-show: show Status{Bus,Varlink}Error in status
Mike Yuan [Thu, 9 May 2024 16:25:16 +0000 (00:25 +0800)] 
systemctl-show: show Status{Bus,Varlink}Error in status

16 months agocore/service: store BUSERROR= & VARLINKERROR= received through notification
Mike Yuan [Thu, 9 May 2024 14:05:22 +0000 (22:05 +0800)] 
core/service: store BUSERROR= & VARLINKERROR= received through notification

Closes #6073

16 months agosd-bus/bus-error: inline iterator var, use assert_return
Mike Yuan [Thu, 9 May 2024 13:18:10 +0000 (21:18 +0800)] 
sd-bus/bus-error: inline iterator var, use assert_return

16 months agojson: make it easy to dispatch our enums 33425/head
Lennart Poettering [Thu, 20 Jun 2024 07:39:51 +0000 (09:39 +0200)] 
json: make it easy to dispatch our enums

This does the opposite of the previous patch: it undoes the "-" → "_"
mapping of enum values when we try to parse enums again.

16 months agojson: make it easy to serialize our enums to json
Lennart Poettering [Thu, 20 Jun 2024 07:24:18 +0000 (09:24 +0200)] 
json: make it easy to serialize our enums to json

Most of our enums are mapped to strings that use dashes ("-") as word
separators, i.e. "foo-bar-baz". However, Varlink enums do not allow "-"
as separator, see:

https://varlink.org/Interface-Definition

Hence, let's add some simple glue to automatucally turn "-" into "_" for
use when serializing our enums.