Commit graph

54028 commits

Author SHA1 Message Date
Andreas Valder c0c8f71800 nspawn: add filesystem id mapping support to --bind and --bind-ro 2021-10-28 19:19:22 +02:00
Lennart Poettering 5433d425b4
Merge pull request #21135 from poettering/homed-uidmap
homed: make use of uidmap'ped mounts for avoiding recursive chown()
2021-10-28 19:18:18 +02:00
Lennart Poettering a21e88d476 docs: document what integer range we expect from JSON parsers 2021-10-28 14:15:46 +01:00
Christian Göttsche e3a0a862f6 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
2021-10-28 20:55:37 +09:00
Tony Asleson f4ae986649 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.
2021-10-28 20:54:41 +09:00
Benjamin Herrenschmidt d6eda677b3 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>
2021-10-28 13:09:00 +02:00
Luca Boccassi ac33cf9282
Merge pull request #21167 from poettering/various-doc-tweaks
Four documentation tweaks
2021-10-28 11:12:09 +01:00
Lennart Poettering c896eb7ad6 man: document that daemons can close fds they receive via sd_listen_fds() if they like
Fixes: #18872
2021-10-28 11:05:22 +02:00
Lennart Poettering 1d69754988 man: document how nss-resolve and systemd-resolved communicate
Fixes: #20925
2021-10-28 10:53:55 +02:00
Lennart Poettering c04358ce84 docs: document $PASSWORD in ENVIRONMENT.md
Fixes: #20955
2021-10-28 10:51:12 +02:00
Lennart Poettering 7ea5e82f6a man: clarify the situation of unit templates regarding "systemctl list-units" + "systemctl list-unit-files"
Fixes: #21075
2021-10-28 10:45:02 +02:00
Lennart Poettering cc4cbe49ce update TODO 2021-10-28 08:17:46 +02:00
Lennart Poettering 1147c538bb 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.
2021-10-28 08:17:46 +02:00
Lennart Poettering a2bc39786a 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.
2021-10-28 08:17:46 +02:00
Lennart Poettering ebcdfc79ab 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!
2021-10-28 08:17:46 +02:00
Lennart Poettering 32dda527d8 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.
2021-10-28 08:17:46 +02:00
Lennart Poettering d33f024100 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.
2021-10-28 08:17:46 +02:00
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