Yu Watanabe
cd7fcda543
wait-online: make manager_link_is_online() return 0 when in unmanaged state
...
Previously, even if a link is in unmanaged state, the function may
returns positive value. So, even if all managed links are in the configured
sate but do not satisfy the online criteria, e.g., IPv4 address state,
then wait-online finishes with positive value.
This makes the function always return 0 for unmanaged state. So, at
least one managed link must satisfies the online criteria.
This also adds more comments and debugging logs.
Fixes #22246 .
2022-01-26 22:41:47 +09:00
Yu Watanabe
5f200833ed
wait-online: rename Manager elements
2022-01-26 22:41:47 +09:00
Yu Watanabe
9697662915
hostname: expose hardware serial through dbus
...
Closes #22119 .
2022-01-24 21:09:37 +00:00
Yu Watanabe
f338a496e4
NEWS: update
2022-01-25 03:03:09 +09:00
Yu Watanabe
1d2842d1e6
NEWS: mention about the regression in WireGuard
2022-01-25 02:56:20 +09:00
Yu Watanabe
0850fb78af
Merge pull request #22236 from yuwata/fuzz-dhcp-server
...
fuzz-dhcp-server: three fixes or improvements
2022-01-25 02:19:22 +09:00
Yu Watanabe
bf2a8b7b13
fuzz-dhcp-server: attach sd_event to make dhcp_server_cleanup_expired_leases() works in the fuzzer
...
Otherwise, most code paths in dhcp_server_handle_message() are not
evaluated by the fuzzer.
2022-01-25 00:05:02 +09:00
Yu Watanabe
0590f1b58c
fuzz-dhcp-server: duplicate input data
...
As `dhcp_server_handle_message()` -> `ensure_sane_request()` may modify
the input data, and that causes error in some fuzzing engine.
2022-01-24 19:37:37 +09:00
Yu Watanabe
c3da2e4732
fuzz-dhcp-server: also set new lease elements correctly
...
The fuzzer does not send anything to the address, so it should be not
necessary, but just for safety.
2022-01-24 19:28:21 +09:00
Yu Watanabe
766527e8ae
Merge pull request #22226 from yuwata/hostname-allow-to-override-hardware-vendor-and-model
...
hostname: allow to override hardware vendor and model
2022-01-24 06:55:29 +09:00
Yu Watanabe
a6ba7d58f2
Merge pull request #22227 from yuwata/dhcp-server-fix-heap-buffer-overflow
...
sd-dhcp-server: fix heap buffer overflow
2022-01-24 06:55:02 +09:00
Yu Watanabe
46b53e8035
resolve: synthesize null address, IPv4 broadcast address, or invalid domain
...
These are filtered in `dns_scope_good_domain()`, but not synthesized.
Fixes #22229 .
2022-01-24 06:46:50 +09:00
Yu Watanabe
3b2ac14ac4
resolve: synthesize empty name
...
Do not return any error for empty name. Just returns empty answer.
Before:
---
$ dig .
; <<>> DiG 9.16.24-RH <<>> .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 13617
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Jan 24 05:49:30 JST 2022
;; MSG SIZE rcvd: 28
---
After:
---
$ dig .
; <<>> DiG 9.16.24-RH <<>> .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7957
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;. IN A
;; Query time: 1 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Jan 24 06:05:02 JST 2022
;; MSG SIZE rcvd: 28
---
Replaces #22197 .
Fixes RHBZ#2039854 (https://bugzilla.redhat.com/show_bug.cgi?id=2039854 ).
2022-01-24 06:45:37 +09:00
Yu Watanabe
7bdf419830
dns-domain: re-introduce dns_name_is_empty()
2022-01-24 06:06:59 +09:00
Yu Watanabe
7c0601102a
Revert "resolve: refuse to resolve empty hostname"
...
This reverts commit 6e8ecb8974 .
2022-01-24 05:51:47 +09:00
Yu Watanabe
a596631808
fuzz: add testcases of heap-buffer-overflow for sd-dhcp-server
2022-01-24 04:52:33 +09:00
Yu Watanabe
ab4f9eeb7b
sd-dhcp-server: fix heap buffer overflow
...
This checks client hardware length earlier.
2022-01-24 04:49:33 +09:00
Yu Watanabe
b87209f933
Merge pull request #22222 from yuwata/dhcp-server-support-non-ethernet-packet
...
dhcp-server: support packets from non-Ethernet interfaces
2022-01-24 04:19:26 +09:00
Yu Watanabe
54d95d02e3
sd-dhcp-server: support packet from non-Ethernet interface
...
Fixes #22217 .
2022-01-24 04:18:20 +09:00
Yu Watanabe
97fa338dce
sd-dhcp-client,sd-dhcp-client-server: set chaddr in dhcp_message_init()
...
And also set chaddr and hlen for packets on non-Ethernet interfaces,
except for InfiniBand.
2022-01-24 04:18:20 +09:00
Yu Watanabe
a6508f37c9
sd-dhcp-client: fix RFC number
2022-01-24 04:18:20 +09:00
Yu Watanabe
2cb66bbdfb
sd-dhcp-server: change the type of the client ID data
2022-01-24 04:18:20 +09:00
Yu Watanabe
255d493324
sd-dhcp-server: use free_and_replace() at one more place
2022-01-24 04:18:20 +09:00
Yu Watanabe
4f9dcf3dc5
sd-dhcp-server: shorten code a bit
2022-01-24 04:18:20 +09:00
Yu Watanabe
f4759ae051
sd-dhcp-server: drop unnecessary buffer duplication
...
The block try to find and remove the existing static lease which matches
the provided client ID, and the provided client ID will not be stored
anywhere. Hence, it is not necessary to duplicate it.
2022-01-24 04:16:41 +09:00
Yu Watanabe
bb995f747a
Merge pull request #21908 from yonran/environmentfile-docs
...
man: clarify Environmentfile format
2022-01-24 00:22:50 +09:00
Yu Watanabe
da60d91c99
rule: fallback to use board information if product information is not set
2022-01-23 13:04:37 +09:00
Yu Watanabe
a93306a22e
rule: make ID_SYSFS_ATTRIBUTE_MODEL also accept product_name
2022-01-23 12:54:37 +09:00
Yu Watanabe
4fc7e4f374
hostname: allow to override hardware vendor and model
...
Sometimes hardware vendor does not set DMI info correctly.
Already there is a way that the dbus properties can be overriden by
using hwdb. But that is not user friendly.
This adds two new fields in /etc/machine-info.
Closes #22207 .
2022-01-23 12:48:00 +09:00
Yu Watanabe
8c8b1800e9
hostname: introduce context_get_chassis() and use it everywhere
...
Follow-up for 4b35eb2579 .
2022-01-23 03:11:29 +09:00
Yu Watanabe
f939a8984a
Merge pull request #22209 from systemd/wip/hadess/chassis-override
...
hostname: Allow overriding the chassis type from hwdb
2022-01-22 16:49:36 +09:00
Yu Watanabe
57cbf080b3
Merge pull request #22205 from yuwata/udevadm-info-cleanups
...
udevadm: keep watch directory and several cleanups
2022-01-22 02:45:36 +09:00
Yu Watanabe
4881a0d2d4
udevadm: add more assertions
2022-01-22 00:45:14 +09:00
Yu Watanabe
636ab00182
udevadm: simplify the code of removing udev state files
2022-01-22 00:44:51 +09:00
Yu Watanabe
9e0bd1d69b
udevadm: split assertions
...
Then we can easily find which pointer is NULL.
2022-01-22 00:16:38 +09:00
Yu Watanabe
bd97980193
udevadm: do not remove watch directory
...
See the comment in the code.
2022-01-22 00:13:32 +09:00
Yu Watanabe
ac16a593cf
Merge pull request #22202 from mwilck/keep-links-02
...
udevadm info --cleanup-db: don't delete information for kept db entries
2022-01-22 00:10:09 +09:00
Yu Watanabe
0d63af0977
Merge pull request #22199 from yuwata/resolve-reduce-attempts-reading-networkd-link-file
...
resolve: reduce attempts of reading networkd's link file
2022-01-21 09:45:45 +09:00
Yu Watanabe
6e8ecb8974
resolve: refuse to resolve empty hostname
...
Previously, varlink or dbus methods return
io.systemd.Resolve.NoNameServers or BUS_ERROR_NO_NAME_SERVERS if an
empty hostname is provided, and thus nss-resolve returns NSS_STATUS_TRYAGAIN.
That causes getaddrinfo() returns 'Temporary failure in name resolution'
instead of 'Name or service not known'.
This makes calling varlink or dbus method with an empty hostname result
-EINVAL, and hence nss-resolve returns NSS_STATUS_NOTFOUND.
Fixes RHBZ#2039854 (https://bugzilla.redhat.com/show_bug.cgi?id=2039854 ).
2022-01-21 09:45:29 +09:00
Yu Watanabe
9969c901d3
Merge pull request #22183 from anitazha/oomdkillfix
...
oomd: fix potential race between killing cgroups and cleaning up cgroups
2022-01-21 09:44:12 +09:00
Yu Watanabe
92796278f8
resolve: reduce attempts of reading link file
...
The function `link_relevant()` is called repeatedly in `link_allocate_scopes()`.
Let's not read networkd's link file in `link_relevant()`.
Closes #22190 .
2022-01-21 06:22:39 +09:00
Yu Watanabe
1a4152f02b
wait-online: use network_link_get_operational_state()
2022-01-21 06:22:39 +09:00
Yu Watanabe
61dc4b9ea9
network-util: introduce network_link_get_operational_state()
2022-01-21 06:22:21 +09:00
Yu Watanabe
e9662a28a4
resolve: use FLAGS_SET() macro
2022-01-21 06:22:16 +09:00
Yu Watanabe
12f45cbbbe
resolve: use netif_has_carrier()
2022-01-21 05:07:10 +09:00
Yu Watanabe
61e964df71
netif-util: introduce netif_has_carrier()
2022-01-21 05:02:42 +09:00
Yu Watanabe
605bb1634b
resolve: drop redundant call of link_allocate_scopes() and link_add_rrs()
...
In `manager_process_link()`, the function `link_update()` is called just
after `link_process_rtnl()`, and `link_update()` also calls
`link_allocate_scopes()` and `link_add_rrs()`. Hence, the calls in
`link_process_rtnl()` are redundant.
2022-01-21 04:46:20 +09:00
Yu Watanabe
8827f4106b
resolve: use log_link_warning_errno() or freinds more
2022-01-21 04:43:37 +09:00
Yu Watanabe
57786db797
resolve: add debuging log of interface name change
2022-01-21 04:33:11 +09:00
Yu Watanabe
98b1eb711c
resolve: fix assertion triggered when r == 0
...
Fixes #22178 .
2022-01-20 15:52:14 +09:00
Yu Watanabe
5ab9addd68
test: replace multiple echo with cat
...
Suggested by shell check SC2129.
2022-01-19 20:48:36 +09:00
Yu Watanabe
e916276016
udev-util: add event UUID to debugging logs
2022-01-19 20:48:36 +09:00
Yu Watanabe
d7cb60daf6
sd-device: add more debugging logs in device_set_syspath()
...
On failure, the function previously sometimes logs in debug level, but
sometimes does not. Let's always log the error cause.
2022-01-19 20:48:36 +09:00
Yu Watanabe
30b6f7d714
meson: skip to search clang, llvm-string, and bpftool, if libbpf not found
...
Prompted by https://github.com/systemd/systemd/pull/22093#issuecomment-1016254914 .
2022-01-19 14:23:41 +03:00
Yu Watanabe
39f83dd760
test: wait for newly created btrfs triggered
...
Fixes the second issue in #21819 .
2022-01-19 09:32:23 +00:00
Yu Watanabe
1e8e9730d2
test-network: add testcases for configuring SR-IOV by .link file
2022-01-19 15:00:53 +09:00
Yu Watanabe
a03ff4c0fe
test-network: split out SR-IOV test to new class
2022-01-19 15:00:53 +09:00
Yu Watanabe
0eed039c92
test-network: silence check for alternative names
2022-01-19 15:00:53 +09:00
Yu Watanabe
df25b9e48c
network: show driver in debug log
2022-01-19 15:00:53 +09:00
Yu Watanabe
252e96eaa9
udev/net: check if the requested SR-IOV virtual function exists before configuring it
2022-01-19 15:00:53 +09:00
Yu Watanabe
41ce9d769d
udev/net: allow to set number of SR-IOV virtual functions
...
This adds SR-IOVVirtualFunctions= setting in [Link] section.
2022-01-19 15:00:53 +09:00
Yu Watanabe
bd29dfef8b
udev/net: also support [SR-IOV] section in .link files
...
The same section is already supported by .network files. But such
low-level inteerface setting should be done by udevd, instead of
networkd. Let's also support the same semantics by .link files.
Prompted by https://github.com/systemd/systemd/issues/20474#issuecomment-901901360 .
2022-01-19 15:00:49 +09:00
Yu Watanabe
b4fd34d81c
network: move SR-IOV related functions to src/shared/netif-sriov.[ch]
2022-01-19 14:57:59 +09:00
Yu Watanabe
307fe3cdf2
network: rename NetworkConfigSection -> ConfigSection
...
And move it and relevant functions to conf-parser.[ch].
2022-01-19 14:57:59 +09:00
Yu Watanabe
e5c4289a9d
network: sr-iov: add missing assertion
2022-01-19 14:57:59 +09:00
Yu Watanabe
e217e22a77
network: sr-iov: drop conflicting sections
2022-01-19 14:57:59 +09:00
Yu Watanabe
cfd1d61fe4
network: sr-iov: fix section name in log messages
2022-01-19 14:57:59 +09:00
Yu Watanabe
edaca18739
Merge pull request #22161 from kreijack/ignore-boot-entries
...
bootctl: Ignore boot entries (continue #22041 )
2022-01-19 14:43:10 +09:00
Yu Watanabe
1fb50408ce
pid1,cgroup-show: ignore -EOPNOTSUPP in cg_read_pid()
...
The function is called in recursion, and cgroup.procs in some subcgroups
may not be read.
Fixes #22089 .
2022-01-18 12:34:30 +01:00
Yu Watanabe
f67b4351f3
test: fix a copy-and-paste error
...
Follow-up for 12727c2bc2 .
Addresses https://github.com/systemd/systemd/pull/22125#discussion_r786358474 .
Fixes CID#1469023.
2022-01-18 09:30:46 +01:00
Yu Watanabe
06006691b5
kernel-install: also remove modules.builtin.alias.bin
...
Fixes RHBZ#2016630.
2022-01-17 12:10:03 +00:00
Yu Watanabe
adc1b76c30
core: add missing dependency DBus properties
...
Follow-up for 0bc488c99a .
Also sort dependency properties to make them match the definition of
`enum UnitDependency` in basic/unit-def.h.
Fixes #22133 .
2022-01-16 14:05:33 +00:00
Yu Watanabe
cc8943b84a
core: update log message
...
Fixes CID#1469009.
2022-01-16 14:05:18 +00:00
Yu Watanabe
e135559d80
network: wireguard: also accept negative boolean values to disable adding routes
...
RouteTable=off was introduced to provide consistency with wg-quick
command. This makes the RouteTable= settings accepts other negative
boolean values.
2022-01-16 19:25:28 +09:00
Yu Watanabe
cfe1237f38
network: wireguard: do not add routes to AllowedIPs= by default
...
As setting such routes may break existing setups.
Closes #21964 .
2022-01-16 19:18:23 +09:00
Yu Watanabe
9e3e592946
Merge pull request #22098 from DaanDeMeyer/journal-corrupt-2
...
journal: Fixes for handling of corrupt entry objects
2022-01-14 21:23:32 +09:00
Yu Watanabe
ba3440b9ab
Merge pull request #22096 from keszybz/networkctl-bus-once
...
Open the bus once in networkctl
2022-01-14 21:21:08 +09:00
Yu Watanabe
dc7e9c1bc4
meson: use the compiler command array as is
...
Also check if the flags used when building bpf are supported by clang.
2022-01-14 17:01:58 +09:00
Yu Watanabe
a6ac8b5a4d
meson: check if clang supports bpf
2022-01-14 16:43:31 +09:00
Yu Watanabe
ea78d2fb11
meson: require bpftool version >= 5.6
...
Closes #22051 .
2022-01-14 16:43:31 +09:00
Yu Watanabe
902bbdc4b6
network: use scope link for direct unicast routes by default
...
Strictly speaking, this breaks the backward compatibility, but I guess
in most cases people already sets Scope=link for such routes.
This behavior matches with how 'ip route' command adds such route by
default.
Prompted by https://twitter.com/jplitza/status/1480500562391179270 .
2022-01-13 22:46:52 +00:00
Yu Watanabe
2ebb69bc09
boot: add missing error check
...
Follow-up for 661615a0af .
Fixes CID#1468973.
2022-01-13 14:17:15 +01:00
Yu Watanabe
95c514e9a5
test: add testcase for broken NTP server option
...
For issue #22099 .
2022-01-13 20:21:40 +09:00
Yu Watanabe
37408dd264
test: voidify test functions
...
This also drops unnecessary arguments, and unbreak several lines.
2022-01-13 20:20:48 +09:00
Yu Watanabe
16de849fd8
sd-dhcp6-client: expose client_parse_message()
...
To introduce tests for the function in later commits.
2022-01-13 20:20:19 +09:00
Yu Watanabe
0ac9daa4a1
sd-dhcp6-client: ignore broken non-critical options
...
The commit b89a3758e9 made the validity
check of the received message stricter. E.g. if the client received a
message with broken NTP server option, then the entire message is
dropped.
This relaxes the check. If some non-critical options are broken, then
ignore the options, but the message itself is still accepted.
Fixes #22099 .
2022-01-13 20:20:19 +09:00
Yu Watanabe
2811b1263b
Merge pull request #22100 from bluca/test_part
...
Fix TEST-58-REPART on ppc64el
2022-01-13 14:00:36 +09:00
Yu Watanabe
0a1f0bf405
Merge pull request #21728 from Werkov/bfq-io-weight
...
bfq.io.weight followups and cleanup
2022-01-12 22:22:43 +09:00
Yu Watanabe
174eab0066
Merge pull request #22037 from fbuihuu/watchdog-minor-improvements
...
Watchdog minor improvements
2022-01-12 22:09:50 +09:00
Yu Watanabe
d5ff7bdbb7
Merge pull request #22088 from medhefgo/meson
...
meson: Small improvements
2022-01-12 22:01:27 +09:00
Yu Watanabe
d5f8fd5b00
network: dhcp6: do not request address if UseAddress=no
...
Fixes #22068 .
2022-01-11 17:05:12 +00:00
Yu Watanabe
aac470326e
pid1: voidify manager_override_watchdog()
...
As it always returns 0.
2022-01-07 09:44:32 +01:00
Yu Watanabe
b144177240
watchdog: rebreak comments
2022-01-07 09:31:57 +01:00
Yu Watanabe
2bdd2e7ac9
Merge pull request #22031 from floppym/issue22001-1
...
test-watchdog adjustments
2022-01-07 12:28:47 +09:00
Yu Watanabe
8cc8a073a8
test: add test cases for fstab-generator
2022-01-07 00:58:50 +09:00
Yu Watanabe
7611946ebc
tree-wide: fix typo
2022-01-06 22:20:11 +09:00
Yu Watanabe
c0b28d44a9
NEWS: sort entries
2022-01-06 22:18:05 +09:00
Yu Watanabe
b322e683ac
meson: install test-network-generator-conversion.sh even if networkd is not enabled
...
Follow-up for 987dd89c77 .
2022-01-06 20:14:39 +09:00
Yu Watanabe
155e1bb4e7
fstab-generator: also skip other network filesystems and live image
2022-01-06 20:14:35 +09:00
Yu Watanabe
77b8e92de8
fstab-generator: skip root directory handling when nfsroot is requested
...
Fixes RHBZ#2037233 (https://bugzilla.redhat.com/show_bug.cgi?id=2037233 ).
2022-01-06 20:14:16 +09:00