Luca Boccassi [Thu, 4 Nov 2021 19:47:29 +0000 (19:47 +0000)]
analyze: explain how the weight/range policy fields are used
Luca Boccassi [Thu, 4 Nov 2021 19:22:28 +0000 (19:22 +0000)]
analyze: fix typos in test policy
Luca Boccassi [Thu, 4 Nov 2021 18:40:26 +0000 (18:40 +0000)]
Merge pull request #21229 from keszybz/improve-m-hint
Improve hint to use -M in various tools
Lennart Poettering [Thu, 4 Nov 2021 16:37:12 +0000 (17:37 +0100)]
Merge pull request #21070 from medhefgo/boot-save
sd-boot: Add support to boot last select entry
Lennart Poettering [Thu, 4 Nov 2021 14:20:00 +0000 (15:20 +0100)]
Merge pull request #21030 from DaanDeMeyer/path-skipped
core: Propagate condition failed state from service to path unit.
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 08:49:18 +0000 (09:49 +0100)]
update-helper: add missing loop over user units
Noticed by Luca.
shellcheck doens't catch this, and somehow it was missed in review
and testing ;(
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 09:41:47 +0000 (10:41 +0100)]
tree-wide: do not print hint about -M if -M is already used
(Or when -H is used, since -H and -M are incompatible.)
Note that the slightly unusual form with separate boolean variables (hint_vars,
hint_addr) instead of e.g. a const char* variable to hold the message, because this
way we don't trigger the warning about non-literal format.
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 09:41:47 +0000 (10:41 +0100)]
busctl: do not print hint about -M if -M is already used
(Or when -H is used, since -H and -M are incompatible.)
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 09:37:11 +0000 (10:37 +0100)]
shared/bus-util: make bus_log_*_error() functions functions
They were defined as macros, but they are a bit too complicated for this,
so it's getting unwieldy. We can make them functions without any loss.
Lennart Poettering [Tue, 2 Nov 2021 14:50:55 +0000 (15:50 +0100)]
tree-wide: always use TAKE_FD() when calling rearrange_stdio()
rearrange_stdio() invalidates specified fds even on failure, which means
we should always invalidate the fds we pass in no matter what. Let's
make this explicit by using TAKE_FD() for that everywhere.
Note that in many places we such invalidation doesnt get us much
behaviour-wise, since we don't use the variables anymore later. But
TAKE_FD() in a way is also documentation, it encodes explicitly that the
fds are invalidated here, so I think it's a good thing to always make
this explicit here.
Daan De Meyer [Mon, 18 Oct 2021 12:17:02 +0000 (14:17 +0200)]
core: Propagate condition failed state to triggering units.
Alternative to https://github.com/systemd/systemd/pull/20531.
Whenever a service triggered by another unit fails condition checks,
stop the triggering unit to prevent systemd busy looping trying to
start the triggered unit.
Yu Watanabe [Wed, 3 Nov 2021 19:03:56 +0000 (04:03 +0900)]
Merge pull request #21217 from keszybz/debug-test-process-util
procfs-util: fix confusion wrt. quantity limit and maximum value
Yu Watanabe [Wed, 3 Nov 2021 19:01:45 +0000 (04:01 +0900)]
Merge pull request #21216 from poettering/take-fd-tweak
fd-util: make TAKE_FD free of double evaluation
Lennart Poettering [Wed, 3 Nov 2021 14:56:34 +0000 (15:56 +0100)]
macro: make TAKE_PTR() side-effect free
Lennart Poettering [Wed, 3 Nov 2021 15:35:44 +0000 (16:35 +0100)]
tree-wide: port more code to sigkill_wait()
Lennart Poettering [Wed, 3 Nov 2021 14:56:09 +0000 (15:56 +0100)]
tree-wide: port various places to use TAKE_PID()
Lennart Poettering [Wed, 3 Nov 2021 14:55:14 +0000 (15:55 +0100)]
process-util: rework TAKE_PID() to be side-effect free
Lennart Poettering [Wed, 3 Nov 2021 14:54:28 +0000 (15:54 +0100)]
process-util: wait for processes we killed even if killing failed
The processes might be zombies in which case killing will fail, but
reaping them still matters.
Lennart Poettering [Wed, 3 Nov 2021 14:56:48 +0000 (15:56 +0100)]
test: add test that ensures TAKE_FD() works as it should
Lennart Poettering [Tue, 2 Nov 2021 16:52:24 +0000 (17:52 +0100)]
fd-util: make TAKE_FD free of double evaluation
Better be safe than sorry.
Zbigniew Jędrzejewski-Szmek [Wed, 3 Nov 2021 08:39:16 +0000 (09:39 +0100)]
test-process-util: also add EROFS to the list of "good" errors
It is only added in the one place where we actually try to set the
setting to a new value. Before we were testing if we can set to it the
existing value, which was a noop. We could still get a permission error,
but this is the first place where we would propagate EROFS.
Zbigniew Jędrzejewski-Szmek [Tue, 2 Nov 2021 17:18:21 +0000 (18:18 +0100)]
procfs-util: fix confusion wrt. quantity limit and maximum value
From packit/rawhide-arm64 logs:
Assertion 'limit >= INT_MAX || get_process_ppid(limit+1, NULL) == -ESRCH' failed at src/test/test-process-util.c:855, function test_get_process_ppid(). Aborting.
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
The kernel has a few different limits. In particular kernel.threads-max can be
set to some lower value, and kernel.pid_max can be set to a higher value. This
is nice because it reduces PID reuse, even if the number of threads that is
allowed is limited. But the tests assumed that we cannot have a thread with
PID above MIN(kernel.threads-max, kernel.pid_max-1), which is not valid.
So let's rework the whole thing: let's expose the helpers to read
kernel.threads-max and kernel.pid_max, and print what they return in tests.
procfs_tasks_get_limit() was something that is only used in tests, and wasn't
very well defined, so let's drop it.
Fixes #21193.
Yu Watanabe [Wed, 3 Nov 2021 03:41:34 +0000 (12:41 +0900)]
Merge pull request #21210 from yuwata/network-dhcp-server-introduce-router-setting
network: dhcp-server: introduce Router= setting to specify router address
Lennart Poettering [Fri, 29 Oct 2021 12:33:37 +0000 (14:33 +0200)]
percent-util: clamp percent range before converting to 2^32 scale
Let#s better be safe than sorry and clamp the input, so that we don't
hit overflow issues.
Lennart Poettering [Tue, 2 Nov 2021 17:15:32 +0000 (18:15 +0100)]
missing: add missing header inclusions
These headers should work without any manual header inclusion.
Yu Watanabe [Tue, 2 Nov 2021 04:06:48 +0000 (13:06 +0900)]
test-network: add a testcase for Router= setting
Yu Watanabe [Tue, 2 Nov 2021 03:58:50 +0000 (12:58 +0900)]
network: dhcp-server: introduce Router= setting to specify router address
Closes #21202.
Franck Bui [Wed, 19 May 2021 12:14:58 +0000 (14:14 +0200)]
test-keymap-util: always use kbd-model-map we ship
This test makes assumptions on the availability of some mappings contained in
kbd-model-map and therefore strongly relies on the version shipped by
upstream. IOW the test is likely to fail if it's installed on a system with a
more comprehensive kbd-model-map.
This patch makes the upstream kbd-model-map file available via a symlink in
test/testdata/test-keymap-util dir and makes sure that this specific version is
always used by test-keymap-util regardless of whether the test is installed and
run on a different system or directly run (optionally via meson) from the
project working dir.
Lennart Poettering [Tue, 2 Nov 2021 12:37:27 +0000 (13:37 +0100)]
man: document cryptenroll limitations
Let's document this for now. We should be able to lift these limitations
sooner or later, at which point we can drop this documentation again.
These two limitations are a pitfall that people should be aware of,
before going FIDO2-only.
See: #20230 #19208
Frantisek Sumsal [Tue, 2 Nov 2021 14:09:57 +0000 (14:09 +0000)]
Merge pull request #21207 from mrc0mmand/test-tweak-lvm-installation
test: support the new lvm udev autoactivation
Frantisek Sumsal [Mon, 1 Nov 2021 22:03:26 +0000 (23:03 +0100)]
test: support both lvm vgroup activation methods
Daan De Meyer [Tue, 2 Nov 2021 09:58:39 +0000 (09:58 +0000)]
Merge pull request #21209 from yuwata/veth-peer-mtu
network: also set MTU for veth peer interface
Yu Watanabe [Tue, 2 Nov 2021 03:35:07 +0000 (12:35 +0900)]
test-network: add test case for MTUBytes= for veth
Yu Watanabe [Tue, 2 Nov 2021 03:25:12 +0000 (12:25 +0900)]
network/veth: also set MTU for peer interface
Fixes #21206.
Frantisek Sumsal [Mon, 1 Nov 2021 19:55:38 +0000 (20:55 +0100)]
test: support the new lvm udev autoactivation
Introduced in lvm 2.03.14.
See: https://sourceware.org/git/?p=lvm2.git;a=commit;h=
67722b312390cdab29c076c912e14bd739c5c0f6
Yu Watanabe [Mon, 1 Nov 2021 18:11:02 +0000 (03:11 +0900)]
Merge pull request #21204 from yuwata/sd-dhcp6-client-cleanups
sd-dhcp6-client: further cleanups
Yu Watanabe [Mon, 1 Nov 2021 13:50:55 +0000 (22:50 +0900)]
sd-dhcp6-client: simplify code a bit
Also this adds a note.
Yu Watanabe [Mon, 1 Nov 2021 13:37:26 +0000 (22:37 +0900)]
sd-dhcp6-client: do not implicitly cast to boolean
Yu Watanabe [Mon, 1 Nov 2021 05:19:16 +0000 (14:19 +0900)]
sd-dhcp6-client: introduce dhcp6_lease_{get,set}_clientid()
Yu Watanabe [Mon, 1 Nov 2021 05:10:35 +0000 (14:10 +0900)]
sd-dhcp6-client: shorten code a bit
Yu Watanabe [Mon, 1 Nov 2021 05:04:34 +0000 (14:04 +0900)]
sd-dhcp6-client: prefix variables which store results with "ret_"
Yu Watanabe [Mon, 1 Nov 2021 04:57:11 +0000 (13:57 +0900)]
sd-dhcp6-client: update log messages
Yu Watanabe [Mon, 1 Nov 2021 12:04:48 +0000 (21:04 +0900)]
Merge pull request #21200 from yuwata/sd-dhcp6-client-server-address
sd-dhcp6-client: introduce sd_dhcp6_lease_get_server_address()
Yu Watanabe [Mon, 1 Nov 2021 12:04:05 +0000 (21:04 +0900)]
Merge pull request #21199 from yuwata/sd-dhcp6-client-trivial-cleanups
sd-dhcp6-client: trivial cleanups
Yu Watanabe [Mon, 1 Nov 2021 01:35:43 +0000 (10:35 +0900)]
network: save server address to DHCPv6 addresses
The server address will be used in later commits.
Yu Watanabe [Mon, 1 Nov 2021 01:31:31 +0000 (10:31 +0900)]
sd-dhcp6-client: introduce sd_dhcp6_lease_get_server_address()
Yu Watanabe [Mon, 1 Nov 2021 00:34:41 +0000 (09:34 +0900)]
sd-lldp-tx: drop unused and useless function
sd-lldp-tx does not call any callback function. So, the function is
mostly useless.
Yu Watanabe [Mon, 1 Nov 2021 00:45:29 +0000 (09:45 +0900)]
sd-dhcp6: drop unused functions
Yu Watanabe [Mon, 1 Nov 2021 04:48:32 +0000 (13:48 +0900)]
core: ignore failure on setting smack process label when allowed
Yu Watanabe [Mon, 1 Nov 2021 01:02:47 +0000 (10:02 +0900)]
sd-dhcp6-client: request IA_PD by default
For consistency with
0f5ef9b62a8f454208db69f3219c7484f87a068a.
Yu Watanabe [Mon, 1 Nov 2021 00:51:49 +0000 (09:51 +0900)]
sd-dhcp6-client: always set suitable ARP type
Also, drops unnecessary comparisons.
Topi Miettinen [Sat, 30 Oct 2021 16:58:41 +0000 (19:58 +0300)]
execute: respect selinux_context_ignore
When `SELinuxContext=` parameter is prefixed with `-`, the documentation states
that any errors determining or changing context should be ignored, but this
doesn't actually happen and the service may fail with `229/SELINUX_CONTEXT`.
Fix by adding checks to `context->selinux_context_ignore`.
Closes: #21057
Daan De Meyer [Tue, 19 Oct 2021 12:37:10 +0000 (13:37 +0100)]
mkosi: Add netcat to fedora image
This helps with testing socket units.
Daan De Meyer [Tue, 19 Oct 2021 09:45:48 +0000 (10:45 +0100)]
core: Delay start rate limit check when starting a unit
Doing start rate limit checks before doing condition checks made
condition check failures count towards the start rate limit which
broke existing assumptions (see #21025). Run the rate limit checks
after the condition checks again to restore the previous behaviour.
Daan De Meyer [Sat, 30 Oct 2021 21:12:06 +0000 (22:12 +0100)]
core: Move 'r' variable declaration to start of unit_start()
Daan De Meyer [Sat, 30 Oct 2021 10:15:22 +0000 (11:15 +0100)]
mkosi: Install less in the mkosi Fedora image
We're actually falling back to `more` in the mkosi image which doesn't
behave quite the same as less which is somewhat annoying. Let's make
sure `less` is installed so systemd can use it as the pager.
Yu Watanabe [Fri, 29 Oct 2021 19:13:40 +0000 (04:13 +0900)]
Merge pull request #21175 from tohojo/dhcp-server-expire
sd-dhcp-server: clear out expired leases when finding new address
Yu Watanabe [Fri, 29 Oct 2021 16:18:28 +0000 (01:18 +0900)]
Merge pull request #21180 from yuwata/libsystemd-network-cleanups
libsystemd-network: drop unused functions, and _public_ attribute
Toke Høiland-Jørgensen [Fri, 29 Oct 2021 10:24:33 +0000 (12:24 +0200)]
sd-dhcp-server: fix address availability checks
The checks for finding a new available address in the pool were broken in two
ways: not using UINT32_TO_PTR() on hashmap lookups resulted in false negatives,
and the check wasn't skipping the server address if that was part of the pool.
Move the check for available addresses to a small helper function and fix both
issues, and also add a check to the REQUEST code for the server address.
Toke Høiland-Jørgensen [Thu, 28 Oct 2021 20:36:51 +0000 (22:36 +0200)]
sd-dhcp-server: clear out expired leases when processing requests
The DHCP server configuration supports setting a maximum lease time, but old
leases are never actually cleared out if the client doesn't send a RELEASE.
This causes the pool to run out of addresses on networks where clients just
disappear, which is a fairly common occurrence on wireless networks.
Fix this by cleaning up expired leases before processing client requests, so
addresses can be reused for new clients.
Yu Watanabe [Fri, 29 Oct 2021 13:13:18 +0000 (22:13 +0900)]
libsystemd-network: drop _public_ attribute
No function in libsystemd-network is exposed yet.
Yu Watanabe [Fri, 29 Oct 2021 13:10:43 +0000 (22:10 +0900)]
sd-radv: fix implicit conversion to boolean
Yu Watanabe [Fri, 29 Oct 2021 13:05:16 +0000 (22:05 +0900)]
sd-ndisc: drop unused functions
All received information is stored in sd_ndisc_router, and we have
sd_ndisc_router_get_mtu() and sd_ndisc_router_get_hop_limit().
Yu Watanabe [Fri, 29 Oct 2021 07:27:50 +0000 (16:27 +0900)]
home: fix use of uninitialized value
Fixes CID#
1465077.
Jan Janssen [Thu, 28 Oct 2021 11:00:13 +0000 (13:00 +0200)]
sd-boot: Add support to boot last selected entry
Fixes: #18994
Jan Janssen [Thu, 28 Oct 2021 10:15:33 +0000 (12:15 +0200)]
sd-boot: Allow glob patterns for default and oneshot EFI vars too
Jan Janssen [Thu, 28 Oct 2021 08:40:39 +0000 (10:40 +0200)]
sd-boot: Keep all EFI var loading together
This also delays the last remaining EFI var write in menu_run.
Lennart Poettering [Fri, 29 Oct 2021 07:17:43 +0000 (09:17 +0200)]
Merge pull request #21172 from poettering/fix-systemctl-cgroup-tree
fix "sytemctl status" cgroup tree output
Lennart Poettering [Thu, 28 Oct 2021 17:06:52 +0000 (19:06 +0200)]
homework,repart: turn on cryptsetup logging before we have a context
Otherwise we'll miss the log message from allocation of the context. We
already made this change in most of our tools that interface with
libcryptsetup, but we forgot two.
As suggested:
https://github.com/systemd/systemd/pull/21135#discussion_r738287504
Lennart Poettering [Thu, 28 Oct 2021 13:10:42 +0000 (15:10 +0200)]
nspawn: make sure to chown() implicit source dirs for --bind= to container root UID
This makes sure that a switch like --bind=:/foo does the right thing if
user namespacing is one: the backing dir should be owned by the
container's root UID not the host's. Thus, whenever the source path is
left empty and we automatically generate a source dir as temporary
directory, ensure it's owned by the right UID.
Fixes: #20869
Yu Watanabe [Fri, 29 Oct 2021 07:14:51 +0000 (16:14 +0900)]
Merge pull request #21163 from poettering/scope-no-pid
pid1: fail scope unit activation if all PIDs to add already died
Lennart Poettering [Thu, 28 Oct 2021 18:52:56 +0000 (20:52 +0200)]
Merge pull request #20321 from bluca/state_dir_symlink
core: add [State|Runtime|Cache|Logs]DirectorySymlink
Lennart Poettering [Thu, 28 Oct 2021 17:23:17 +0000 (19:23 +0200)]
Merge pull request #20609 from DaanDeMeyer/recursive-template
core: Try to prevent infinite recursive template instantiation
Andreas Valder [Sat, 5 Jun 2021 16:39:38 +0000 (18:39 +0200)]
nspawn: add filesystem id mapping support to --bind and --bind-ro
Lennart Poettering [Thu, 28 Oct 2021 17:18:18 +0000 (19:18 +0200)]
Merge pull request #21135 from poettering/homed-uidmap
homed: make use of uidmap'ped mounts for avoiding recursive chown()
Lennart Poettering [Thu, 28 Oct 2021 16:54:52 +0000 (18:54 +0200)]
systemctl: make dbus PID cgroup tree output look more like systemd-cgls
Let's add the same dash of color (well, grey, …) to the dbus-based
pid/cgroup tree output as systemd-cgls has.
Lennart Poettering [Thu, 28 Oct 2021 14:44:29 +0000 (16:44 +0200)]
systemctl: make sure "systemctl -M status" shows cgroup tree of container not host
This shows the cgroup tree of the root slice of the container now, by
querying the cgroup pid tree via the bus instead of going directly to
the cgroupfs.
A fallback is kept for really old systemd versions where querying the
PID tree was not available.
Fixes: #20958
Lennart Poettering [Thu, 28 Oct 2021 14:47:40 +0000 (16:47 +0200)]
systemctl: only fall back to local cgroup display if we talk to local systemd
Otherwise we likely show rubbish because even in local containers we
nowadays have cgroup namespacing, hence we likely can't access the
cgroup tree from the host at the same place as inside the container.
Lennart Poettering [Thu, 28 Oct 2021 14:43:27 +0000 (16:43 +0200)]
systemctl: use LESS_BY where appropriate
Lennart Poettering [Thu, 28 Oct 2021 14:42:22 +0000 (16:42 +0200)]
systemctl: use empty_to_root() where appropriate
Lennart Poettering [Thu, 28 Oct 2021 14:41:16 +0000 (16:41 +0200)]
systemctl: suppress second argument of ternary op where we can
Lennart Poettering [Thu, 28 Oct 2021 11:38:59 +0000 (13:38 +0200)]
docs: document what integer range we expect from JSON parsers
Christian Göttsche [Wed, 27 Oct 2021 17:47:49 +0000 (19:47 +0200)]
core: correct SELinux label of service credential directory
Label the service root credential directory so write_credential() will
create entries with the label of their parent directory.
Resolves: #21134
Tony Asleson [Wed, 27 Oct 2021 17:00:59 +0000 (12:00 -0500)]
integritysetup: Check args to prevent assert
The utility function parse_integrity_options is used to both validate
integritytab options or validate and return values. In the case where
we are validating only and we have specific value options we will
assert.
Benjamin Herrenschmidt [Wed, 20 Oct 2021 04:18:59 +0000 (15:18 +1100)]
udev: net_id: introduce predictable names for xen-netfront
Those devices show up as /sys/devices/vif-N, let's use that number
to name them enXN.
Without this, all schemes fail and they keep the kernel names, which can
be racy.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Daan De Meyer [Wed, 1 Sep 2021 09:21:28 +0000 (11:21 +0200)]
core: Try to prevent infinite recursive template instantiation
To prevent situations like in #17602 from happening, let's drop
direct recursive template dependencies. These will almost certainly
lead to infinite recursion so let's drop them immediately to avoid
instantiating potentially thousands of irrelevant units.
Example of a template that would lead to infinite recursion which
is caught by this check:
notify@.service:
```
[Unit]
Wants=notify@%n.service
```
Luca Boccassi [Thu, 28 Oct 2021 10:12:09 +0000 (11:12 +0100)]
Merge pull request #21167 from poettering/various-doc-tweaks
Four documentation tweaks
Luca Boccassi [Wed, 14 Jul 2021 17:22:21 +0000 (18:22 +0100)]
core: add [State|Runtime|Cache|Logs]Directory symlink as second parameter
When combined with a tmpfs on /run or /var/lib, allows to create
arbitrary and ephemeral symlinks for StateDirectory or RuntimeDirectory.
This is especially useful when sharing these directories between
different services, to make the same state/runtime directory 'backend'
appear as different names to each service, so that they can be added/removed
to a sharing agreement transparently, without code changes.
An example (simplified, but real) use case:
foo.service:
StateDirectory=foo
bar.service:
StateDirectory=bar
foo.service.d/shared.conf:
StateDirectory=
StateDirectory=shared:foo
bar.service.d/shared.conf:
StateDirectory=
StateDirectory=shared:bar
foo and bar use respectively /var/lib/foo and /var/lib/bar. Then
the orchestration layer decides to stop this sharing, the drop-in
can be removed. The services won't need any update and will keep
working and being able to store state, transparently.
To keep backward compatibility, new DBUS messages are added.
Lennart Poettering [Thu, 28 Oct 2021 09:05:22 +0000 (11:05 +0200)]
man: document that daemons can close fds they receive via sd_listen_fds() if they like
Fixes: #18872
Lennart Poettering [Thu, 28 Oct 2021 08:53:55 +0000 (10:53 +0200)]
man: document how nss-resolve and systemd-resolved communicate
Fixes: #20925
Lennart Poettering [Thu, 28 Oct 2021 08:51:12 +0000 (10:51 +0200)]
docs: document $PASSWORD in ENVIRONMENT.md
Fixes: #20955
Lennart Poettering [Thu, 28 Oct 2021 08:45:02 +0000 (10:45 +0200)]
man: clarify the situation of unit templates regarding "systemctl list-units" + "systemctl list-unit-files"
Fixes: #21075
Lennart Poettering [Tue, 26 Oct 2021 16:41:12 +0000 (18:41 +0200)]
update TODO
Lennart Poettering [Tue, 26 Oct 2021 16:34:57 +0000 (18:34 +0200)]
homework: teach luks backend uid mapping
This teachs the LUKS backend UID mapping, similar to the existing
logic for the "directory", "subvolume" and "fscrypt" backends: the files
will be owned by "nobody" on the fs itself, but will be mapped to
logging in user via uidmapped mounts.
This way LUKS home dirs become truly portable: no local UID info will
leak onto the images anymore, and the need to recursively chown them on
activation goes away. This means activation is always as performant as
it should be.
Lennart Poettering [Tue, 26 Oct 2021 15:44:14 +0000 (17:44 +0200)]
homework: also move to using .image_fd field of HomeSetup in home_create_luks()
One last resource we can manage with HomeSetup, instead of doing that
manually.
Lennart Poettering [Tue, 26 Oct 2021 15:40:21 +0000 (17:40 +0200)]
homework: get rid of manual error path in home_create_luks()
Now that all objects we need to destroy are managed by the HomeSetup
object we can drop our manual destruction path and just use the normal
clean-up logic implemented for HomeSetup anyway. More unification, yay!
Lennart Poettering [Tue, 26 Oct 2021 15:36:36 +0000 (17:36 +0200)]
homework: move destruction of temporary image file into HomeSetup
Let's simplify things further a bit and move the destruction of the
temporary image file we operate on when creating a LUKS home into
HomeSetup, like all our other resources.
Lennart Poettering [Tue, 26 Oct 2021 15:28:51 +0000 (17:28 +0200)]
homework: get rid of manual clean up path in home_setup_luks()
Now that we stored all our different objects inside the HomeSetup
structure, we can get rid of our manual clean-up path, since
home_setup_done() will clean up everything stored therein anyway, in the
right order.
This is the main reason we moved everything into HomeSetup in the
previous commits: so that we can share clean-up paths for these objects
with everything else.
Lennart Poettering [Tue, 26 Oct 2021 15:27:28 +0000 (17:27 +0200)]
homework: move image_fd field in home_setup_luks() also into HomeSetup
Let's unify even more codepaths, and let's reuse the .image_fd field we
already maintain.
Lennart Poettering [Tue, 26 Oct 2021 15:20:56 +0000 (17:20 +0200)]
homework: rework home_setup_luks() to store its root_fd also in HomeSetup