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.
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 [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.
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
Lennart Poettering [Tue, 26 Oct 2021 15:16:13 +0000 (17:16 +0200)]
homework: always pass HomeSetup param first, PasswordCache second
Some of our operations did it one way, most the other. Let's unify on
the order that is more popular.
Lennart Poettering [Tue, 26 Oct 2021 11:40:16 +0000 (13:40 +0200)]
homework: replace homegrown syncfs_path() reimplementation by syncfs_path()
Lennart Poettering [Tue, 26 Oct 2021 09:07:04 +0000 (11:07 +0200)]
homework: unify similar code for opening existing LUKS DM devices
Let's introduce a new helper acquire_open_luks_device() that combines a
few steps we keep doing at three places into one.
Lennart Poettering [Tue, 26 Oct 2021 08:52:21 +0000 (10:52 +0200)]
homework: move all LoopDevice handling into HomeSetup too
Similar story as with the DM objects: let's maintain it all as part of
HomeSetup. We do that for part of the operations already, let's unify
that.
Lennart Poettering [Mon, 25 Oct 2021 19:33:08 +0000 (21:33 +0200)]
homework: move all DM detachment/freeing into HomeSetup
We actually already detach/free the LUKS DM devices for most operations
via HomeSetup, let's move the creation logic to also do this, in order
to unify behaviour between operations.
Lennart Poettering [Tue, 26 Oct 2021 07:18:39 +0000 (09:18 +0200)]
homework: teach home_lock() + home_unlock() + home_deactivate() to use HomeSetup, too
This is just some minor refactoring, to make these two operations work
like the rest.
home_lock_luks() will now use the root_fd field of HomeSetup already,
but for home_unlock_luks() + home_deactivate() this change has no effect for now. (But a
later commit will change this.)
Lennart Poettering [Mon, 25 Oct 2021 13:10:54 +0000 (15:10 +0200)]
homework: make use of .undo_mount field of HomeSetup for LUKS backend too
Let's move more stuff to common infra for the backends.
Lennart Poettering [Mon, 25 Oct 2021 13:03:34 +0000 (15:03 +0200)]
homework: use HomeSetup in home_create_luks() too
We use it for all other LUKS operations these days, and for all
home_create_xyz() calls for other backends, let's use it for the LUKS
backend too.
Lennart Poettering [Thu, 28 Oct 2021 06:17:05 +0000 (08:17 +0200)]
Merge pull request #21162 from poettering/homed-cifs-improvements
homed: various cifs backend improvements
Lennart Poettering [Thu, 28 Oct 2021 06:15:44 +0000 (08:15 +0200)]
Merge pull request #21161 from poettering/homed-uidmap-fscrypt
homed: teach the fscrypt backend uidmap too
Yu Watanabe [Wed, 27 Oct 2021 22:13:12 +0000 (07:13 +0900)]
Merge pull request #21157 from yuwata/network-address-label-verify
network: verify [IPv6AddressLabel] section
Luca Boccassi [Tue, 27 Jul 2021 15:41:38 +0000 (16:41 +0100)]
core: make DynamicUser=1 and StateDirectory= work with TemporaryFileSystem=/var/lib
The /var/lib/private/foo -> /var/lib/foo symlink for StateDirectory and
DynamicUser is set up on the host filesystem, before the mount namespacing
is brought up. If an empty /var/lib is used, to ensure the service does not
see other services data, the symlink is then not available despite
/var/lib/private being set up as expected.
Make a list of symlinks that need to be set up, and create them after all
the namespaced filesystems have been created, but before any eventual
read-only switch is flipped.
Lennart Poettering [Wed, 27 Oct 2021 21:17:50 +0000 (23:17 +0200)]
scope: refuse activation of scopes if no PIDs to add are left
If all processes we are supposed to add are gone by the time we are
ready to do so, let's fail.
THis is heavily based on Cunlong Li's work, who thankfully tracked this
down.
Replaces: #20577
Lennart Poettering [Wed, 27 Oct 2021 21:08:58 +0000 (23:08 +0200)]
core: normalize 'r' variable handling in unit_attach_pids_to_cgroup() a bit
The 'r' variable is our "go-to" variable for error return codes, all
across our codebase. In unit_attach_pids_to_cgroup() it was so far used
in a strange way for most of the function: instead of directly storing
the error codes of functions we call we'd store it in a local variable
'q' instead, and propagate it to 'r' only in some cases finally we'd
return the ultimate result of 'r'.
Let's normalize this a bit: let's always store error return values in
'r', and then use 'ret' as the variable to sometimes propagate errors
to, and then return that.
This also allows us to get rid of one local variable.
No actual codeflow changes, just some renaming of variables that allows
us to remove one.
Lennart Poettering [Tue, 26 Oct 2021 14:58:56 +0000 (16:58 +0200)]
homework: allow specifying explicit additional mount options when using CIFS backend
This is useful since certain shares can only be mounted with additional
mount flags. For example the SMB share in modern AVM Fritz!Boxes
requires "noserverino" to be set to work from Linux.
Lennart Poettering [Tue, 26 Oct 2021 14:41:31 +0000 (16:41 +0200)]
homework: actually try all supplied passwords
Unfortunately mount.cifs doesn't really let us know much about the
reason for the failure. Hence, assume it's caused by a bad password, and
retry on any failure with additional passwords that we might have.
A loop to do this was always in place, but none of the possible
codepaths actually allowed to iterate more than once. Fix that.
Lennart Poettering [Fri, 22 Oct 2021 13:52:23 +0000 (15:52 +0200)]
homework: allow specifying a dir component in CIFS services
Allow specifying CIFS services in the format //host/service/subdir/… to
allow multiple homedirs on the same share, and not in the main dir of
the share.
All other backends allow placing the data store at arbitrary places,
let's allow this too for the CIFS backend. This is particularly useful
for testing.
Lennart Poettering [Fri, 22 Oct 2021 13:51:00 +0000 (15:51 +0200)]
homework: make home_move_mount() a bit more generic by renaming first parameter
No actual code change, let's just rename the first parameter, to make it
more generically useful in case the first argument is an arbitrary path,
not necessarily a username/realm.
Lennart Poettering [Fri, 22 Oct 2021 13:49:42 +0000 (15:49 +0200)]
homectl: validate CIFS service name before accepting it
Lennart Poettering [Fri, 22 Oct 2021 13:49:00 +0000 (15:49 +0200)]
fs-util: add helper that can split CIFS services names
Lennart Poettering [Thu, 21 Oct 2021 16:48:30 +0000 (18:48 +0200)]
homework: apply mount flags also for CIFS mounts
Lennart Poettering [Thu, 21 Oct 2021 16:47:24 +0000 (18:47 +0200)]
homework: move check for CIFS service field initialization to home_setup_cifs()
We need this field not only during activation but any kind of setup,
hence let's move it into the setup code.
Lennart Poettering [Thu, 21 Oct 2021 16:45:27 +0000 (18:45 +0200)]
homework: rework home_setup_cifs() to store "mounted" variable in HomeSetup
We already have a field for that, let's use it. Let's also reduce the
indentation level a bit.
No change in behaviour.
Lennart Poettering [Thu, 21 Oct 2021 16:40:39 +0000 (18:40 +0200)]
homework: pass header user record in home_activate_cifs()
Of course unlike in the LUKS case there's not actually any user record
stored in the LUKS header, so what we pass here will always be NULL.
The reason why I am changing is to make this more alike the other
home_activate_xyz() calls, and passing this around doesn't hurt.
(A later commit will replace all backend-specific home_activate_xyz()
calls by a single one)
Lennart Poettering [Thu, 21 Oct 2021 15:32:51 +0000 (17:32 +0200)]
homework: support uidmaps in fscrypt backend