1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-27 14:03:43 +03:00

54009 Commits

Author SHA1 Message Date
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
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 8524db502134135d96219ecd6df0d0fc5c475b9d.
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 9c46228b7deb53d6384545535b37b2844a102b2b.
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 cbcf371abc328167fa869721c1add4850c793240.
2021-10-27 17:56:36 +02:00
Lennart Poettering
cf5115f6e5 homework: support uidmapping in the "directory" backend 2021-10-27 17:37:14 +02:00
Lennart Poettering
c7bf079bbc homework: add new helper call that can shift home dir UID/GID ranges
This new helper is not used yet, but it's useful for apply UID/GID
shifts so that the underlying home dir can use an arbitrary UID (for
example "nobody") and we'll still make it appear as owned by the target
UID.

This operates roughly like this:

1. The relevant underlying UID is mapped to the target UID
2. Everything in the homed UID range except for the target UID is left
   unmapped (and thus will appear as "nobody")
3. Everything in the 16bit UID range outside of the homed UID
   range/target UID/nobody user is mapped to itself
4. Everything else is left unmapped (in particular everything outside of
   the 16 bit range).

Why do it like this?

The 2nd rule done to ensure that any files from homed's managed UID
range that do not match the user's own UID will be shown as "unmapped"
basically. Of course, IRL this should never happen, except if people
managed to manipulate the underlying fs directly.

The 3rd rule is to allow that if devs untar an OS image it more or
less just works as before: 16bit UIDs outside of the homed range will
be mapped onto themselves: you can untar things and tar it back up and
things will just work.
2021-10-27 17:37:14 +02:00