1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-30 06:25:37 +03:00
Commit Graph

53813 Commits

Author SHA1 Message Date
Frantisek Sumsal
140557021a test: don't install test-network-generator-conversion.sh w/o networkd
otherwise TEST-02 will fail:

```
=== Failed test log ===
--- test-network-generator-conversion.sh begin ---
+ [[ -n '' ]]
+ [[ -x /usr/lib/systemd/systemd-network-generator ]]
+ [[ -x /lib/systemd/systemd-network-generator ]]
+ exit 1
--- test-network-generator-conversion.sh end ---
```

Before:
```
$ meson build -Dnetworkd=false -Dinstall-tests=true
$ ninja -C build
$ DESTDIR=$PWD/test-install ninja -C build install
$ find test-install/ -name test-network-generator-conversion.sh
test-install/usr/lib/systemd/tests/test-network-generator-conversion.sh
```

After:
```
$ find test-install/ -name test-network-generator-conversion.sh
<no output>
```
2021-10-20 22:04:45 +01:00
Frantisek Sumsal
0b5fe54ff5 test: collect coverage in a couple more codepaths
Otherwise we'd miss coverage from TEST-{02,24,61}, since they don't go
through the "standard" `check_result_common` hook.

Follow-up to 7bf20e48bd.
2021-10-20 16:46:58 +01:00
Yu Watanabe
21f2b19cc2 zsh-completion: nspawn: add --suppress-sync option
Follow-up for 4a4654e024.
2021-10-20 22:53:39 +09:00
Yu Watanabe
241167e68a
Merge pull request #21051 from poettering/nspawn-no-sync
nspawn: add --suppress-sync=yes mode for turning sync() and friends i…
2021-10-20 22:42:43 +09:00
Luca Boccassi
b78524f48d
Merge pull request #21055 from yuwata/network-dhcp6-pd-route-lifetime-metric
network: dhcp6pd: set lifetime and route metric
2021-10-20 14:38:03 +01:00
Yu Watanabe
6417e8925c
Merge pull request #21061 from poettering/direct-io-loopback-tweaks
tweaks to O_DIRECT loop work
2021-10-20 22:21:30 +09:00
Dimitri Papadopoulos
ba669952b2 Typos found by codespell 2021-10-20 22:20:18 +09:00
Lennart Poettering
4a4654e024 nspawn: add --suppress-sync=yes mode for turning sync() and friends into NOPs via seccomp
This is supposed to be used by package/image builders such as mkosi to
speed up building, since it allows us to suppress sync() inside a
container.

This does what Debian's eatmydata tool does, but for a container, and
via seccomp (instead of LD_PRELOAD).
2021-10-20 11:35:15 +02:00
Lennart Poettering
0193b93eb5 loop-util: call loop_device_make_internal() at the right place
The whole reason loop_device_make_internal() exists (as opposed to just
loop_device_make()) is to avoid mangling the loop flags value/call
getenv twice. Hence let's actually call it when we already mangled the
flags value.
2021-10-20 09:57:16 +02:00
Lennart Poettering
aa4d3aa3ef loop-util: add debug logging about O_RDWR vs. O_RDONLY + O_DIRECT mode
Once we managed to open the file let's log what we wanted and what we
got.
2021-10-20 09:56:20 +02:00
Lennart Poettering
bfd084454d loop-util: minor coding style updates
As suggested here: https://github.com/systemd/systemd/pull/21044#pullrequestreview-783530343
2021-10-20 09:55:33 +02:00
Yu Watanabe
231c7645ca
Merge pull request #21041 from yuwata/network-bpf-neighbor
network: introduce BPF to reject netlink messages about non-static neighbor
2021-10-20 13:30:32 +09:00
Yu Watanabe
952d873f56
Merge pull request #21056 from yuwata/test-network-cleanups
test-network: several cleanups related to dnsmasq
2021-10-20 13:29:45 +09:00
Yu Watanabe
a4a1385e07 test-network: cleanup dnsmasq related file on setup
Just for safety.
2021-10-20 03:49:05 +09:00
Yu Watanabe
888f57c11c test-network: drop pid_file argument from stop_dnsmasq() 2021-10-20 03:49:05 +09:00
Yu Watanabe
ed08ed4a45 test-network: use constant variables in dnsmasq command 2021-10-20 03:49:05 +09:00
Yu Watanabe
d0619f2c2b network: dhcp6pd: set default metric 256 for delegated prefix
When Assign= in [DHCPv6PrefixDelegation] is enabled, then the kernel
will create the prefix route for the assigned address with metric 256.
When Assign= is disabled, then the kernel will create the route with
metric 1024.

For the default value, we should choose a smaller value (higher priority)
than 1024, as the unreachable routes for delegated prefix will be
configured with 1024.
2021-10-20 02:36:20 +09:00
Yu Watanabe
10ab5ed5a8 network: dhcp6: explicitly specify metric for unreachable route
For static IPv6 routes without metric is specified, then we use 1024.
But such an adjustment is not performed to dynamic routes. So, let's
specify the metric explicitly.
Otherwise, configured routes will be handled as foreign.
2021-10-20 02:36:20 +09:00
Yu Watanabe
937e894747 network: dhcp6pd: set lifetime to routes for assigned prefixes
Note that the kernel (at least 5.14.11) seems not to support lifetime
for IPv6 unreachable routes. The lifetime for routes of the type will be
handled by sd-event's timer event source.
So, we cannot confirm the lifetime with 'ip route' command.
2021-10-20 02:36:20 +09:00
Yu Watanabe
653ddc1d18 sd-dhcp6-client: introduce sd_dhcp6_lease_get_timestamp() 2021-10-20 02:36:20 +09:00
Yu Watanabe
a2ca8c54cc
Merge pull request #21035 from yuwata/network-route-fix-lifetime
network: route: drop kernel version check
2021-10-20 01:48:44 +09:00
Lennart Poettering
ac6b19a216
Merge pull request #21044 from poettering/loopback-direct-io
loop-util: enable LO_FLAGS_DIRECT_IO by default on loopback devices
2021-10-19 18:42:25 +02:00
Daan De Meyer
ab6df52083 CI: disable opensuse mkosi CI
Until https://github.com/systemd/systemd/issues/21019 is fixed,
there's no point in running the opensuse CI job so let's disable
it for now.
2021-10-19 17:21:29 +01:00
Lennart Poettering
b9a9748abc loop-util: work around cache invalidation bug in older kernels
Inspired by the discussions in #21003.

Inspired in particular by what Android apexd does:

https://android.googlesource.com/platform/system/apex/+/refs/heads/master/apexd/apexd_loop.cpp
2021-10-19 15:38:21 +02:00
Lennart Poettering
e8c7c4d9d1 loop-util: enable LO_FLAGS_DIRECT_IO by default on loopback devices
Fixes: #21003
2021-10-19 15:38:21 +02:00
Yu Watanabe
26a8be48bc network: introduce BPF to reject netlink messages about non-static neighbor
Fixes #21031.
2021-10-19 20:41:34 +09:00
Yu Watanabe
dc317a9aed sd-netlink: introduce sd_netlink_attach_filter() 2021-10-19 20:41:09 +09:00
Yu Watanabe
0b0c81bb53 network: route: drop kernel version check for route expiration
Even in newer kernel version, it seems that some route type does not
support expiration, e.g. IPv4 route or unreachable route. Let's use
timer event source for such routes.
2021-10-19 20:33:43 +09:00
Lennart Poettering
aabb252577
Merge pull request #20905 from medhefgo/boot-cleanup
sd-boot: Code cleanups
2021-10-19 10:23:12 +02:00
Zbigniew Jędrzejewski-Szmek
33539ffe59
Merge pull request #20988 from DaanDeMeyer/rotate-reason
journal: Improve rotation logging
2021-10-19 09:53:31 +02:00
Zbigniew Jędrzejewski-Szmek
b5d26617bb
Merge pull request #21037 from yuwata/network-dhcp6-pd-simplify-distribute
network: dhcp6-pd: simplify dhcp6_pd_prefix_distribute()
2021-10-19 09:24:38 +02:00
Zbigniew Jędrzejewski-Szmek
221e9cfe4b
Merge pull request #21036 from yuwata/network-dhcp6-pd-manage-prefix-with-hashmap
network: dhcp6-pd: manage prefix with hashmap
2021-10-19 09:22:32 +02:00
Vincent Bernat
33331d116d utmp: remove /dev from line
utmp(5) says `ut_line` is the device name minus the leading "/dev/". Therefore,
remove it. Without that, when using UtmpMode=user, we get `/dev/tty` in the
output of `last`/`w`.
2021-10-19 09:21:54 +02:00
Zbigniew Jędrzejewski-Szmek
07721d1380
Merge pull request #21038 from yuwata/network-dhcp6-pd-fix-address-check
network: dhcp6-pd: fix address check
2021-10-19 09:16:09 +02:00
Yu Watanabe
38f8ae2c48 network: neighbor: fix log message 2021-10-19 09:07:30 +02:00
Alexander Kanavin
bfa0ade9f2 meson: use partial_dependency() to get include directory
Getting the variable directly from pkg-config (without
adding the sysroot prefix) is prone to host contamination
when building in sysroots as the compiler starts looking for the
headers on the host in addition to the sysroot.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
2021-10-19 08:46:29 +02:00
Yu Watanabe
0522729e19 tree-wide: use AF_NETLINK instead of PF_NETLINK 2021-10-18 22:46:37 +02:00
Lennart Poettering
ec3f41e09c
Merge pull request #21034 from poettering/homed-password-cache-tweaks
homed: minor tweaks to the PasswordCache logic
2021-10-18 22:46:16 +02:00
Lennart Poettering
be0398bd4b
Merge pull request #21028 from poettering/watchdog-fixlets
pid1: various small watchdog tweaks and fixes
2021-10-18 22:45:44 +02:00
Lennart Poettering
a74e2e447f homework: move allocation/destruction into outer/generic scope
Previously in most cases we'd allocate the HomeSetup context object
in generic code in homework.c. But for some cases we allocated them
instead inside the specific code in homework-{cifs,directory,luks}.c
Let's clean that up, and systematically allocate it in the outer
"entrypoint" calls in homework.c instead of the inner ones.

This doesn't change much in behaviour (i.e. it just means when something
fails we'll now clean it up one stack frame further up). But it will
allow is to more easily work with the context objects, since we'll have
them around in all stack frames.
2021-10-18 22:45:19 +02:00
Lennart Poettering
4e660eca45 homework: unify code that opens the backing image file in open_image_file()
Also, reuse an already opened image file if we have one.
2021-10-18 22:41:34 +02:00
Yu Watanabe
ff43dddab7 network: route: fix possible overflow in conversion usec_t -> uint32_t 2021-10-19 00:58:33 +09:00
Yu Watanabe
d205851dbe network: dhcp6: use IPv6 specific functions 2021-10-19 00:57:32 +09:00
Yu Watanabe
cde09c3450 network: dhcp6: manage assigned downstream prefixes by using Hashmap
When a system has thousands of downstream interfaces, previously the
total cost of finding free subnet ID was O(n^2), where n is the number
of downstream interfaces.

This makes assigned prefixes are managed by Manager with Hashmap. So,
the cost becomes O(n log n).
2021-10-19 00:57:23 +09:00
Yu Watanabe
742c2f217f network: dhcp6: shorten code a bit 2021-10-19 00:55:55 +09:00
Yu Watanabe
63e43d0800 network: dhcp6: always assign prefix through dhcp6_pd_assign_prefix()
For uplink interface, we request Assign= is enabled in the above.
So, we can always use dhcp6_pd_assign_prefix().

Just a minor simplification for later commits.
2021-10-19 00:54:45 +09:00
Yu Watanabe
06d1105e54 network: dhcp6pd: check if address is ready only when Assign=yes 2021-10-19 00:54:01 +09:00
Yu Watanabe
d9098371df network: add missing DHCPv6PD address check 2021-10-19 00:53:53 +09:00
Daan De Meyer
b2b7cf1df5 journal: Expand rotate log messages in journald
Make sure we always log when we rotate journals and always do so at
least at INFO log level. Doing so we make sure there's always a clear
reason available explaining why we rotated a journal.
2021-10-18 16:48:13 +01:00
Daan De Meyer
012181eaef journal: Add two more log messages to journal_file_rotate_suggested()
This ensures every reason for rotation has an associated log message.
2021-10-18 16:48:06 +01:00