Commit graph

42722 commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 2e93770fd8 man: document alias rules and aliases dropin loading 2020-01-10 14:31:28 +01:00
Zbigniew Jędrzejewski-Szmek 1bf1558552 core,install: allow one more case of "instance propagation"
If we have a template unit template@.service, it should be allowed to specify a
dependency on a unit without an instance, bar@.service. When the unit is created,
the instance will be propagated into the target, so template@inst.service will
depend on bar@inst.service.

This commit changes unit_dependency_name_compatible(), which makes the manager
accept links like that, and unit_file_verify_alias(), so that the installation
function will agree to create a symlink like that, and finally the tests are
adjusted to pass.
2020-01-10 14:31:01 +01:00
Zbigniew Jędrzejewski-Szmek 3f57bc2267 shared/install: rework alias check and add test
This mostly reuses existing checkers used by pid1, so handling of aliases
should be consistent. Hopefully, with the test it'll be clearer what it
happening.

Support for .wants/.requires "aliases" is restored. Those are still used in the
wild quite a bit, so we need to support them.

See https://github.com/systemd/systemd/pull/13119 for a discussion of aliases
with an instance that point to a different template: this is allowed.
2020-01-10 14:27:04 +01:00
Zbigniew Jędrzejewski-Szmek 9a4f9e69e1 shared/unit-file: expose function to check .wants/.requires symlink validity
No functional change.
2020-01-10 12:20:18 +01:00
Zbigniew Jędrzejewski-Szmek b59817b199 shared/install: drop creation of alias for DefaultInstance
It turns out that this is not necessary. When we try to resolve alias@inst, we
first check alias@inst, and if that is not found, fall back to alias@. Since we
already created a symlink for alias@, we will find that and the result will be
the same.
2019-12-21 12:39:06 +01:00
Zbigniew Jędrzejewski-Szmek f9ef25a483 basic/unit-name: make sure UnitNameFlags is signed
Without that, a check like unit_name_to_instance(...) < 0 would not
have the expected effect.
2019-12-19 20:57:27 +01:00
Zbigniew Jędrzejewski-Szmek aa0f357fd8 shared/install: split out alias verification function
No functional change.
2019-12-19 15:07:19 +01:00
Jérémy Rosen 3d0205f28b Be more strict about what can be an Alias for template and instances
* Templates can only use other templates as alisases
* Template instances can use templates or things that expand with an
  instance name
2019-12-18 11:00:49 +01:00
Lennart Poettering ac6431dad9 man: add man page for sd_bus_message_sensitive() 2019-12-18 09:10:34 +01:00
Topi Miettinen 7a670b1dd9 shared/dropin: fix assert for invalid drop-in
Don't try to show top level drop-in for non-existent units or when trying to
instantiate non-instantiated units:

$ systemctl cat nonexistent@.service
Assertion 'name' failed at src/shared/dropin.c:143, function unit_file_find_dirs(). Aborting.
$ systemctl cat systemd-journald@.service
Assertion 'name' failed at src/shared/dropin.c:143, function unit_file_find_dirs(). Aborting.
2019-12-18 08:43:40 +01:00
Yu Watanabe 51692fab56
Merge pull request #14370 from poettering/homed-preparation-misc
four smaller preparation patches from the homed PR
2019-12-18 11:17:59 +09:00
Yu Watanabe 12742abe07
Merge pull request #14369 from poettering/pkcs11-cryptsetup-followup
PKCS#11 cryptsetup support followup
2019-12-18 11:16:17 +09:00
Dimitri John Ledkov f27bb6abd3 initrd: make udev cleanup service confict trigger and settle too
Otherwise, systemd-udev-trigger|settle.service that ran in the initrd may
ramain active, and never re-run again from the system root.

This is observed by forexample examining ESP with udevadm info, which in the
initrd has all the ID_* variables, and none of them in fully booted system.
2019-12-17 21:38:11 +01:00
Lennart Poettering 9652d74092 varlink: add varlink_close_unref() helper 2019-12-17 20:05:46 +01:00
Lennart Poettering e10720818e chown-recursive: add fd based API 2019-12-17 20:03:40 +01:00
Lennart Poettering 417a6eece8 chown-recursive: move src/core/chown-recursive.[ch] → src/shared/
We want to use it outside of the core, hence let's moved it to the
shared code directory.
2019-12-17 20:03:40 +01:00
Lennart Poettering 845a7c1fc1 basic: add quota-util.[ch] with some helpers for the Linux quotactl() API 2019-12-17 20:03:40 +01:00
Lennart Poettering 6789dd57f0 cryptsetup-pkcs11: just return zero on success, no need to return anything else 2019-12-17 18:54:07 +01:00
Lennart Poettering 3ded1d616a cryptsetup-pkcs11: line break some overly long lines 2019-12-17 18:54:04 +01:00
Lennart Poettering 12f69587e9 cryptsetup-pkcs11: refuse keys above 16MiB size 2019-12-17 18:54:00 +01:00
Lennart Poettering 2ccf0ff6e8 man: tweaks to the crypttab(5) man page 2019-12-17 18:53:45 +01:00
cvoinf 3d864658ea hwdb: assume all Medion Akoya E-models have the same matrix
Since up to now all known Akoya E* models have the same Matrix, we assume all
other Akoya E* models work the same.
2019-12-17 18:15:34 +01:00
Lennart Poettering 35a05d8d5e man: whitespace fix 2019-12-17 18:02:04 +01:00
Lennart Poettering 76b73ce21c man: we support growing xfs too these days 2019-12-17 18:02:04 +01:00
Lennart Poettering 601f91bec5 time-util: deal with systems where userspace has 64bit time_t but kernel does not
Fixes: #14362
2019-12-18 00:38:39 +09:00
Lennart Poettering 13b6c4c8de
Merge pull request #14267 from poettering/pkcs11-cryptsetup
just the pkcs11 hookup for classic cryptsetup (/etc/crypttab) split out of the homed PR
2019-12-17 15:30:32 +01:00
Yu Watanabe 6e5df4036f
Merge pull request #14337 from yuwata/network-tc-fq-more
network: tc: introduce more FQ settings
2019-12-17 23:30:10 +09:00
Anita Zhang 1209ef94bd [import] fix stdin/stdout pipe behavior in import/export tar/raw
The code existed in machinectl to use stdin/stdout if the path for
import/export tar/raw was empty or dash (-) but a check to
`fd_verify_regular` in importd prevented it from working.

Update the check instead to explicitly check for regular file or
pipe/fifo.

Fixes #14346
2019-12-17 23:14:53 +09:00
Yu Watanabe 4d92039fce
Merge pull request #14352 from yuwata/sd-netlink-tiny-fixes
sd-netlink: tiny fixes
2019-12-17 23:10:46 +09:00
Yu Watanabe 3267cb45e9
Merge pull request #14208 from poettering/json-homed-prepare
json bits from homed PR
2019-12-17 23:10:08 +09:00
Jan Alexander Steffens (heftig) 05de16766b hwdb: Add Bluetooth-attached Logitech MX Master
Except for the product IDs, the original MX Master appears identical to
the MX Master 2S.
2019-12-17 13:02:28 +01:00
Zbigniew Jędrzejewski-Szmek 0d9ac4ea57
Merge pull request #14360 from yuwata/udev-alternative-names-policy
udev: introduce AlternativeNamesPolicy= setting
2019-12-17 12:13:47 +01:00
Bart Willems 4afb4a9cc5 systemctl: show what verbs support --dry-run in the help page
Signed-off-by: Bart Willems <bwillems@protonmail.com>
2019-12-17 11:08:00 +01:00
Lennart Poettering c16782577b
Merge pull request #14241 from keszybz/resume-timeout
Bump resume timeout to infinity
2019-12-17 10:34:43 +01:00
Yu Watanabe 6d185cffb1 sd-netlink: add a whitespce between cast operator and variable 2019-12-17 17:36:08 +09:00
Yu Watanabe f501c25151 sd-netlink: make netlink_container_parse() takes size_t for rt_len
And use another unsigned short variable for RTA_OK() macro.
2019-12-17 17:35:25 +09:00
Yu Watanabe 49f5cbe924 network: set AlternativeNamesPolicy= in 99-default.link 2019-12-17 15:44:48 +09:00
Yu Watanabe ef1d2c07f9 udev: introduce AlternativeNamesPolicy= setting 2019-12-17 15:44:43 +09:00
Yu Watanabe bb181dd4a6 udev: do not fail if kernel does not support alternative names 2019-12-17 15:43:50 +09:00
Yu Watanabe e16f18bddf
Merge pull request #14339 from keszybz/invalid-enablement-logs
Small enhancements to logs for enabling of invalid units
2019-12-17 15:04:14 +09:00
Yu Watanabe a0f11d1d11 random-util: call initialize_srand() after fork() 2019-12-17 15:03:36 +09:00
Anita Zhang 024941a521
Merge pull request #14351 from yuwata/util-constify-strv-xxx
util: constify arguments of strv_xxx()
2019-12-16 18:08:04 -08:00
Yu Watanabe 78f8849f84 udev: extend the length of ID_NET_NAME_XXX= to ALTIFNAMSIZ 2019-12-17 11:04:11 +09:00
Lennart Poettering 861f178905 efivars: properly NUL terminate EFI variables when reading
A follow-up for 35b9eb0a72.
2019-12-16 15:35:31 +01:00
Thomas Haller e40b4caa1f basic/tmpfile: avoid maybe-uninitialized warning in mkostemp_safe()
The variable is always initialized, but the compiler might not notice
that. With gcc-9.2.1-1.fc31:

    $ CFLAGS='-Werror=maybe-uninitialized -Og' meson build
    $ ninja -C build
    [...]
    ../src/basic/tmpfile-util.c: In function ‘mkostemp_safe’:
    ../src/basic/tmpfile-util.c:76:12: error: ‘fd’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       76 |         if (fd < 0)
          |            ^
2019-12-16 14:25:31 +01:00
Zbigniew Jędrzejewski-Szmek b742942edf TODO: drop entry
Implemented in 7d1e91d1a9.
2019-12-16 14:19:49 +01:00
Zbigniew Jędrzejewski-Szmek e51712963b shared/install: log syntax error for invalid DefaultInstance=
Ideally, we would want to report this over back over dbus. But that is pretty hard,
because the unitfile parsing logic doesn't provide any feedback.
systemd-analyze verify also doesn't notice the issue, because it doesn't look
at the [Install] section at all. Let's print a message in the logs at least.
2019-12-16 14:19:49 +01:00
Benjamin Dahlhoff cb180b09fa Added Trekstor Primetab S11B 2019-12-16 11:18:05 +01:00
Yu Watanabe 3771024c24
Merge pull request #14354 from poettering/link-fix
two trivial doc fixes
2019-12-16 18:06:33 +09:00
Lennart Poettering da7667518b docs: CSS files should not be executable 2019-12-16 09:50:02 +01:00