Yu Watanabe
5cf84d2545
NEWS: fix typo
2022-02-20 11:10:44 +09:00
Yu Watanabe
08275791d8
resolve: add reference of the original bus message to the aux queries
...
Otherwise, the error in aux queries cannot be replied.
Fixes #22477 .
2022-02-18 18:13:20 +01:00
Yu Watanabe
9fa31df62d
udev-util: add parentheses to make coverity silent
...
Fixes CID#1474365.
2022-02-18 08:35:35 +01:00
Yu Watanabe
63b5e05ff9
Merge pull request #22545 from yuwata/network-match-kind
...
network, udev: introduce Kind= setting in [Match] section
2022-02-18 01:20:18 +09:00
Yu Watanabe
65022cd7ab
network,udev/net: add Kind= settings in [Match] section
...
This may be useful for writing .network or .link files matching with
virtual interfaces.
Closes #22541 .
2022-02-17 23:10:26 +09:00
Yu Watanabe
48c08560f4
Merge pull request #22540 from yuwata/network-call-ethtool-after-initialized
...
network: call ethtool after link is initialized by udevd
2022-02-17 22:59:24 +09:00
Yu Watanabe
0234f0c053
resolve: refuse AF_UNSPEC when resolving address
...
Fixes #22480 .
2022-02-17 13:24:01 +01:00
Yu Watanabe
430f07f4f8
networkctl: show netdev kind
2022-02-17 21:15:27 +09:00
Yu Watanabe
e1658632ae
network: call ethtool after link is initialized by udevd
...
Fixes #22538 .
2022-02-17 18:55:43 +09:00
Yu Watanabe
82f52245ba
network: use udev_available() where applicable
2022-02-17 18:55:43 +09:00
Yu Watanabe
f92c5bb18c
udev-util: introduce udev_available() helper function
2022-02-17 18:51:57 +09:00
Yu Watanabe
bfae960e53
Merge pull request #22535 from poettering/dbusctl-range-display
...
userdbctl: show UID ranges in output too
2022-02-17 16:45:39 +09:00
Yu Watanabe
9e0cb8b61f
sd-dhcp-server: do not offer server address
...
The server address may be in the pool.
2022-02-17 16:45:10 +09:00
Yu Watanabe
30778ead7a
Merge pull request #22543 from poettering/logind-fix-bus-bool-prop
...
logind: fix some sd-bus int/bool/unsigned mixups
2022-02-17 16:44:51 +09:00
Yu Watanabe
bde335f21f
timesync: add missing setting in template
...
Follow-up for e81a44bf5f .
2022-02-16 17:16:20 +01:00
Yu Watanabe
cc46d3be68
Merge pull request #22502 from yuwata/udev-net-virtual-wlan-interface
...
network: add virtual wlan interface support
2022-02-16 23:03:52 +09:00
Yu Watanabe
7f96350d50
Merge pull request #22520 from yuwata/sd-dhcp6-client-cosmetic-follow-ups
...
sd-dhcp6-client: several cosmetic follow-ups
2022-02-16 23:02:51 +09:00
Yu Watanabe
e43a418f86
Merge pull request #22271 from keszybz/manager-reexec-freeze
...
Freeze manager if reexec fails
2022-02-16 23:02:21 +09:00
Yu Watanabe
37598ac6eb
sd-dhcp6-client: use mempcpy() or mempcpy_safe()
2022-02-16 16:23:58 +09:00
Yu Watanabe
507cd76085
memory-util: introdyce mempcpy_safe()
2022-02-16 16:23:58 +09:00
Yu Watanabe
c9333c236f
dhcp-identifier: use offsetof()
...
Also use appropriate place to store UUID.
2022-02-16 16:23:54 +09:00
Yu Watanabe
1147ce3a46
Merge pull request #22523 from DaanDeMeyer/systemd-networkd-tests-fixes
...
mkosi: Support running systemd-networkd-tests.py in QEMU
2022-02-16 16:04:14 +09:00
Yu Watanabe
702cf08fce
core/execute: warn when threaded mode is detected
...
Prompted by #22486 .
2022-02-16 15:59:03 +09:00
Yu Watanabe
084e7706c2
cgroup-util: introduce cg_is_threaded()
2022-02-16 15:55:32 +09:00
Yu Watanabe
fc62d1c54f
sd-dhcp6-client: add comment about ia_na and ia_pd
2022-02-15 23:36:45 +09:00
Yu Watanabe
dedf2d0054
network: add support to create wlan virtual interface
...
Closes #18977 .
2022-02-15 23:24:55 +09:00
Yu Watanabe
b4d55e8364
wifi-util: introduce nl80211_iftype_from_string()
2022-02-15 16:06:43 +09:00
Yu Watanabe
edb69db2b0
network: manage WLAN phy
2022-02-15 16:06:43 +09:00
Yu Watanabe
1d4312d5f9
network: netdev: add flag to skip kind check
...
It will be used in later commit.
2022-02-15 16:06:43 +09:00
Yu Watanabe
5d4a925af0
network: netdev: use request queue to create independent netdevs
2022-02-15 16:06:37 +09:00
Yu Watanabe
efa7b8adde
network: netdev: increment reference counter on request
...
Otherwise, it may be freed on reload.
2022-02-15 15:54:02 +09:00
Yu Watanabe
d708bc6e4f
network: netdev: make netdev_is_ready_to_create() return negative errno on fatal error
2022-02-15 15:54:02 +09:00
Yu Watanabe
709055dabb
network: rename REQUEST_TYPE_STACKED_NETDEV -> REQUEST_TYPE_NETDEV_STACKED
2022-02-15 15:54:02 +09:00
Yu Watanabe
6dc07e095d
meson: sort listed files
2022-02-15 15:54:02 +09:00
Yu Watanabe
f3376ee8fa
Merge pull request #22487 from poettering/bootspec-source-flags
...
bootctl: show all discovered entries, but show state + type in details
2022-02-15 04:45:59 +09:00
Yu Watanabe
88586e5d32
Merge pull request #22508 from poettering/stat-ino-compare
...
stat-util: add new stat_inode_same() helper
2022-02-15 04:45:31 +09:00
Yu Watanabe
d1e7fa02ca
Merge pull request #22507 from poettering/id128-compare-tweaks
...
sd-id128: comparison tweaks
2022-02-15 04:40:53 +09:00
Yu Watanabe
42672c80dc
test: check if running in container earlier
2022-02-14 13:46:17 +00:00
Yu Watanabe
119c00c1fa
test-dhcp6-client: add test for rapid commit
2022-02-14 15:09:37 +09:00
Yu Watanabe
1f28019113
test-dhcp6-client: cleanups
...
This does many cleanups. Most prominently,
- check the sents packet more strictly,
- make the packets used in the test more readable,
- unify callbacks.
2022-02-14 15:09:28 +09:00
Yu Watanabe
bccb8fc61a
fuzz-dhcp6-client: add prefix hint and vendor option to sent message
2022-02-14 15:02:33 +09:00
Yu Watanabe
7b53d3ead3
fuzz-dhcp6-client: merge with fuzz-dhcp6-client-send
2022-02-14 15:02:33 +09:00
Yu Watanabe
013c6904fa
fuzz-dhcp6-client: test multiple states
...
Then, now all three paths client_process_information(),
client_process_reply(), and client_process_advertise_or_rapid_commit_reply()
in client_receive_message() are fuzzed.
2022-02-14 15:02:33 +09:00
Yu Watanabe
bbe3f62a16
sd-dhcp6-client: append extra options before elapsed time option
...
The value of elapsed time option is determined in runtime and not
deterministic. It is hard to test the sent packets if it is located
in the intermidiate of the packet.
2022-02-14 15:02:33 +09:00
Yu Watanabe
e261d31557
sd-dhcp6-client: logs invalid NTP option
...
Returning negative errno triggers to produce debugging log in
dhcp6_lease_parse_message().
2022-02-14 15:02:33 +09:00
Yu Watanabe
3f09d563f4
sd-dhcp6-client: split dhcp6-internal.h into two
...
Also, this moves string tables to dhcp6-protocol.c.
2022-02-14 15:02:33 +09:00
Yu Watanabe
8b1cfab962
network: do not restart DHCPv6 client when it is already running in managed mode
...
Otherwise, if a network has two router and one provides M flag and the
other provides O flag, then the DHCPv6 client switches the running mode
repeatedly. That makes the IPv6 network configuration of the host
unstable.
2022-02-14 15:02:33 +09:00
Yu Watanabe
dd73db7850
sd-dhcp6-client: reset Information Refresh Time on stop
2022-02-14 15:02:30 +09:00
Yu Watanabe
e1774086a7
sd-dhcp6-client: add log about Information Refresh Time
...
And store IRT only when the client is running in information
requesting mode.
2022-02-14 15:01:02 +09:00
Yu Watanabe
9c9fee8002
sd-dhcp6-client: use memcmp_nn() at one more place
2022-02-14 15:01:02 +09:00
Yu Watanabe
ac680f766d
dhcp-identifier: generate static and constant DUID-EN when the client is running in test mode
...
Follow-up for 9216fddc5a .
2022-02-14 15:00:59 +09:00
Yu Watanabe
5e1618fafa
dhcp-identifier: introduce dhcp_identifier_set_duid()
2022-02-14 14:58:49 +09:00
Yu Watanabe
f9971018eb
dhcp-identifier: introduce duid_type_to_string()
2022-02-14 14:58:49 +09:00
Yu Watanabe
6f3fc86131
sd-dhcp6-client: do not expose set_transaction_id()
...
This is mostly for tests or fuzzers. Hence, this makes the function
requires that the client is running in the test mode.
Also, now the function mask the value for message type.
2022-02-14 14:58:49 +09:00
Yu Watanabe
9e4dee4cec
sd-dhcp6-client: use OrderedSet for vendor option
...
This also fixes memleak.
2022-02-14 14:58:49 +09:00
Yu Watanabe
885ea2ab1c
ordered-set: introduce ordered_set_clear()
2022-02-14 14:58:49 +09:00
Yu Watanabe
1978efb9a5
sd-dhcp6-client: use struct hw_addr_data
2022-02-14 14:58:49 +09:00
Yu Watanabe
6f8ff34218
sd-dhcp6-client: stop IO event source when client entered bound state
...
Also when the client receives a reply when running in information
requesting mode.
2022-02-14 14:58:49 +09:00
Yu Watanabe
6f4490bb0c
sd-dhcp6-client: adjust assertions
2022-02-14 14:58:46 +09:00
Yu Watanabe
65b85f2340
sd-dhcp6-client: log state transition
2022-02-14 14:57:35 +09:00
Yu Watanabe
e5d69be216
sd-dhcp6-client: rename client_set_state() -> client_start_transaction()
...
Previously, it obeys state transition, but now it is only used when
(re-)starting transaction. Let's rename again in more explanative name.
2022-02-14 14:57:35 +09:00
Yu Watanabe
fa78d165bb
sd-dhcp6-client: use proper type for string table lookup funcs
2022-02-14 14:57:35 +09:00
Yu Watanabe
a8d1012f30
sd-dhcp6-client: voidify client_set_state()
2022-02-14 14:57:34 +09:00
Yu Watanabe
cfcc85bbca
sd-dhcp6-client: log message is processed before state is changed
2022-02-14 14:57:34 +09:00
Yu Watanabe
c50c9e509f
sd-dhcp6-client: move client_timeout_resend() and client_set_state()
...
These are deeply related to client_message_send(). Hence, move them near
the function.
2022-02-14 14:57:34 +09:00
Yu Watanabe
0eca25ba00
sd-dhcp6-client: move client_ensure_iaid()
...
No functional change.
2022-02-14 14:57:34 +09:00
Yu Watanabe
af2b484141
sd-dhcp6-client: merge client_start() and client_reset()
2022-02-14 14:56:54 +09:00
Yu Watanabe
ec7baf998d
sd-dhcp6-client: use event_reset_time_relative() at one more place
2022-02-14 14:54:08 +09:00
Yu Watanabe
22ad018b5e
sd-dhcp6-client: max_retransmit_count is only used when client is in DHCP6_STATE_REQUEST
2022-02-14 14:54:08 +09:00
Yu Watanabe
0f3b8b809c
sd-dhcp6-client: drop unnecessary event_source_disable()
...
The event source will be soon re-enabled in the same function.
The function client_timeout_resend() may return earlier without
re-enabling the timer souce. However,
- the timer event source is one shot by default. Hence, it is not
necessary to disable in the callback function,
- when it returns early, then client_set_state() or client_stop() is
called before return, and they re-ernable or disable the timer.
2022-02-14 14:51:19 +09:00
Yu Watanabe
3bb18e707c
sd-dhcp6-client: set lease expiration timer in client_enter_bound_state()
...
The timer must be active until the client get re-enter bound state,
and the timeout must be determined by the lease acquired when entering
the bound state.
2022-02-14 14:45:14 +09:00
Yu Watanabe
30b31359b0
sd-dhcp6-client: drop unnecessary assignment
2022-02-14 14:45:14 +09:00
Yu Watanabe
8ef959cd09
sd-dhcp6-client: initialize IO event source in sd_dhcp6_client_start()
2022-02-14 14:45:14 +09:00
Yu Watanabe
f814cd80de
sd-dhcp6-client: make state transition stricter
2022-02-14 14:45:14 +09:00
Yu Watanabe
c2c878d806
sd-dhcp6-client: prohibit spurious state transition
...
Previously, `client_set_state(client, DHCP6_STATE_STOPPED)` might make
the client enter the SOLICIT state.
2022-02-14 14:45:14 +09:00
Yu Watanabe
220a88ca75
sd-dhcp6-client: disable T1 timer on T2
...
Otherwise, the client may be enter RENEW state after REBIND state.
2022-02-14 14:45:14 +09:00
Yu Watanabe
c41bdb17fc
sd-dhcp6-client: call client_notify() in client_enter_bound_state()
2022-02-14 14:45:14 +09:00
Yu Watanabe
cdf3d8c584
sd-dhcp6-client: fix lifetime handling
...
This fixes the following issues:
- if T1 is finite and T2 is infinite, then the timer for T1 was not
enabled,
- after T1 and T2 are randomized, T1 may be longer than T2.
2022-02-14 14:45:07 +09:00
Yu Watanabe
1d6cb4ce2a
sd-dhcp6-client: use event_reset_time_relative()
2022-02-14 14:43:45 +09:00
Yu Watanabe
02354ee738
sd-dhcp6-client: introduce client_enter_bound_state()
...
To make client_set_state() smaller. This should not change any behavior.
2022-02-14 14:43:45 +09:00
Yu Watanabe
cc5184823f
sd-dhcp6-client: fix overflow in calculating timeout value
2022-02-14 14:43:45 +09:00
Yu Watanabe
d0875a07dd
sd-dhcp6-client: disable event source when client is stopped or freed
2022-02-14 14:43:45 +09:00
Yu Watanabe
7771233127
sd-dhcp6-client: use in6_addr_to_string()
2022-02-14 14:43:45 +09:00
Yu Watanabe
4db6334c9a
sd-dhcp6-client: stop client on error in client state transition
2022-02-14 14:43:45 +09:00
Yu Watanabe
bfa1139af4
sd-dhcp6-client: add missing one more error handling
2022-02-14 14:43:45 +09:00
Yu Watanabe
06d5e856f8
sd-dhcp6-client: rename client_start() -> client_set_state()
2022-02-14 14:43:45 +09:00
Yu Watanabe
07a3b3408b
sd-dhcp6-client: introduce client_process_*()
...
This is mostly for shortening `client_receive_message()`.
This also fixes the following:
- do not trigger SD_DHCP6_CLIENT_EVENT_INFORMATION_REQUEST notification
when non-reply message,
- add several missing error handlings caused in client_start().
2022-02-14 14:43:45 +09:00
Yu Watanabe
0123b2dbac
sd-dhcp6-client: fix possible unaligned read or write
2022-02-14 14:43:45 +09:00
Yu Watanabe
16347c15d8
sd-dhcp6-client: voidify client_reset()
2022-02-14 14:43:45 +09:00
Yu Watanabe
65ece4c85b
sd-dhcp6-client: introduce dhcp6_lease_new_from_message()
2022-02-14 14:43:45 +09:00
Yu Watanabe
c930925841
sd-dhcp6-client: use structured initializer
2022-02-14 14:43:45 +09:00
Yu Watanabe
f4fbea7a0f
sd-dhcp6-lease: unify lease lifetime calculation
2022-02-14 14:43:45 +09:00
Yu Watanabe
126277aceb
sd-dhcp6-client: always use ENODATA when a lease does not have requested data
2022-02-14 14:43:45 +09:00
Yu Watanabe
29858a0f9e
sd-dhcp6-client: unify dhcp6_option_append_{ia,pd}()
2022-02-14 14:43:45 +09:00
Yu Watanabe
877bfc78fd
sd-dhcp6-client: store PD prefix hint in ia_pd
...
And allows to specify multiple hints.
2022-02-14 14:43:45 +09:00
Yu Watanabe
e5b0b87f51
sd-dhcp6-client: introduce dhcp6_ia_free()
2022-02-14 14:43:45 +09:00
Yu Watanabe
4b0f27173c
sd-dhcp6-client: unify IA option header
...
This also fixes possible unaligned read of message.
2022-02-14 14:43:45 +09:00
Yu Watanabe
93bd7c4192
sd-dhcp6-lease: reset client or server ID when length is zero
...
Addresses https://github.com/systemd/systemd/pull/22406#issuecomment-1029391091 .
2022-02-14 14:43:45 +09:00
Yu Watanabe
049fddfa7d
sd-dhcp6-lease: convert assert_return() -> assert() in non-public functions
2022-02-14 14:43:45 +09:00
Yu Watanabe
7c999d38fa
sd-dhcp6-client: rename ia -> ia_na, pd -> ia_pd in sd_dhcp6_lease
...
The previous naming is quite misleading.
2022-02-14 14:43:45 +09:00