Lennart Poettering
80ffbbfbfb
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.
2021-10-28 08:17:46 +02:00
Lennart Poettering
ae4d05f649
homework: rework home_setup_luks() to store its root_fd also in HomeSetup
2021-10-28 08:17:46 +02:00
Lennart Poettering
c00b2ddc6e
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.
2021-10-28 08:17:46 +02:00
Lennart Poettering
a70e0ad764
homework: replace homegrown syncfs_path() reimplementation by syncfs_path()
2021-10-28 08:17:46 +02:00
Lennart Poettering
a23cf7f4c7
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.
2021-10-28 08:17:46 +02:00
Lennart Poettering
e4d1e79bc5
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.
2021-10-28 08:17:46 +02:00
Lennart Poettering
f7800049eb
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.
2021-10-28 08:17:46 +02:00
Lennart Poettering
fc032ae197
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.)
2021-10-28 08:17:46 +02:00
Lennart Poettering
203f06aa1e
homework: make use of .undo_mount field of HomeSetup for LUKS backend too
...
Let's move more stuff to common infra for the backends.
2021-10-28 08:17:46 +02:00
Lennart Poettering
bc5890c671
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.
2021-10-28 08:17:46 +02:00
Lennart Poettering
93a5fe3e65
Merge pull request #21162 from poettering/homed-cifs-improvements
...
homed: various cifs backend improvements
2021-10-28 08:17:05 +02:00
Lennart Poettering
8622e9f2e3
Merge pull request #21161 from poettering/homed-uidmap-fscrypt
...
homed: teach the fscrypt backend uidmap too
2021-10-28 08:15:44 +02:00
Yu Watanabe
2307bc3180
Merge pull request #21157 from yuwata/network-address-label-verify
...
network: verify [IPv6AddressLabel] section
2021-10-28 07:13:12 +09:00
Lennart Poettering
4c2ee5c7f2
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.
2021-10-27 22:46:46 +02:00
Lennart Poettering
22aba9b2fc
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.
2021-10-27 22:46:46 +02:00
Lennart Poettering
bf15879b39
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.
2021-10-27 22:37:56 +02:00
Lennart Poettering
2b9855f9d2
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.
2021-10-27 22:37:56 +02:00
Lennart Poettering
16b81da684
homectl: validate CIFS service name before accepting it
2021-10-27 22:37:56 +02:00
Lennart Poettering
68def5a975
fs-util: add helper that can split CIFS services names
2021-10-27 22:37:56 +02:00
Lennart Poettering
c9080dfb0b
homework: apply mount flags also for CIFS mounts
2021-10-27 22:37:56 +02:00
Lennart Poettering
5971c318d4
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.
2021-10-27 22:37:56 +02:00
Lennart Poettering
812e587696
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.
2021-10-27 22:37:56 +02:00
Lennart Poettering
de7df6c3a6
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)
2021-10-27 22:37:55 +02:00
Lennart Poettering
65400de021
homework: support uidmaps in fscrypt backend
2021-10-27 22:05:22 +02:00
Lennart Poettering
55166094ae
homework: add new helper home_setup_undo_mount()
2021-10-27 22:05:20 +02:00
Lennart Poettering
655807f572
homework: make sure fscrypt backend takes a HomeSetup object for all calls
...
Similar to the same chage we did for the directory backend. Let's always
path the setup context object, i.e. HomeSetup, and store whatever we set
up in there.
No actual change in behaviour.
2021-10-27 22:05:02 +02:00
Lennart Poettering
d5bb2b0375
Merge pull request #20344 from poettering/revert-close-all
...
Alternative to #20288 – close_all_fds() reworking
2021-10-27 22:02:38 +02:00
Yu Watanabe
3dea470121
test: update comment
...
Follow-up for 8524db5021 .
2021-10-27 19:52:39 +00:00
Yu Watanabe
593524af5d
Merge pull request #21153 from yuwata/network-lifetime-fix
...
network: fix lifetime handling
2021-10-28 04:52:25 +09:00
Yu Watanabe
ab5d52b79d
systemctl: drop redundant "else"
2021-10-28 04:52:06 +09:00
Yu Watanabe
266305484c
Merge pull request #21150 from yuwata/sd-radv-shorten-default-lifetime-2
...
sd-radv: shorten default lifetime
2021-10-28 04:51:45 +09:00
Yu Watanabe
1462a941fb
Merge pull request #21136 from poettering/homed-uidmap-dir-only
...
homed uidmapping (just for the directory backend)
2021-10-28 04:51:31 +09:00
Yu Watanabe
4df5799f9b
doc: fix typo in command
...
Follow-up for #21147 .
2021-10-28 03:57:24 +09:00
Luca Boccassi
69e0830994
run: do not validate exe early if MountImages/ExtensionImages are used
...
Same as with RootImage&friends, the executable might be in the
image, so it's not visible in the host before the unit is set up.
2021-10-28 03:56:24 +09:00
Yu Watanabe
99987084f6
Merge pull request #21138 from bluca/show_extensions
...
systemctl: pretty-print ExtensionImages property
2021-10-28 03:56:04 +09:00
Yu Watanabe
4150584e63
test: do not use alloca() in function call
2021-10-28 03:55:22 +09:00
Yu Watanabe
1ac845ffbe
test-network: add more tests for [Address] section
2021-10-28 02:12:34 +09:00
Yu Watanabe
8edcd775e8
test-network: add tests for invalid [IPv6AddressLabel] section
2021-10-28 01:40:19 +09:00
Yu Watanabe
834f4294a7
network: verify [IPv6AddressLabel] section
2021-10-28 01:38:57 +09:00
Yu Watanabe
3dfa7311e2
test-network: add tests for invalid IPv6 token
2021-10-28 01:17:14 +09:00
Lennart Poettering
b689197241
test-fd-util: extend close_all_fds() test to trigger all fallback codepaths
...
This extends the close_all_fds() logic to overmount /proc with an empty
tmpfs, and/or to block close_range() via seccomp, so that we run the
test case for the function with the fallback paths.
This should make sure that we don't regress in limited environments or
older kernels.
2021-10-27 18:02:49 +02:00
Lennart Poettering
73fc0cbc87
fd-util: export get_max_fd() so that we can use it in tests
2021-10-27 17:56:36 +02:00
Lennart Poettering
ab27b2fe56
exec-util: use close_all_fds_without_malloc() from freeze()
2021-10-27 17:56:36 +02:00
Lennart Poettering
5cfa0798ba
fd-util: split out close_all_fds() special case handling and call it from close_all_fds_without_malloc(), too
...
The optimization is useful there too.
2021-10-27 17:56:36 +02:00
Lennart Poettering
1f6639eac7
fd-util: close_all() check d_type
...
Tiny optimization: check dirent's d_type before trying to parse
/proc/self/fd/ filenames, given we have that anyway.
2021-10-27 17:56:36 +02:00
Lennart Poettering
c844f0a924
fd-util: always return 0 on success in close_all_fds()
...
We never make use of the return value, and in case of close_range() we
don't even know how many fds got closed, hence don't pretend we knew.
2021-10-27 17:56:36 +02:00
Lennart Poettering
f498720a34
fd-util: special case invocation of close_all_fds() with single exception fd
...
Add special case optimization for a single exception fd. It's a
pretty common case in our codebase, and the optimization is simple
and means we don't need to copy/sort the exception array, so do it.
2021-10-27 17:56:36 +02:00
Lennart Poettering
11966552a8
fd-util: split out inner fallback loop of close_all_fds() as close_all_fds_without_malloc()
2021-10-27 17:56:36 +02:00
Lennart Poettering
c85cb3bc7f
Revert "basic/fd-util: sort the 'except' array in place"
...
This reverts commit 9c46228b7d .
2021-10-27 17:56:36 +02:00
Lennart Poettering
e7e7c07c50
Revert "Add variant of close_all_fds() that does not allocate and use it in freeze()"
...
This reverts commit cbcf371abc .
2021-10-27 17:56:36 +02:00