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
Yu Watanabe
43b7a412b1
sd-dhcp6-client: fix typo ia_pd -> ia_na
...
Fortunately, currently both ia_pd and ia_na in sd_dhcp6_client are
equivalent now.
2022-02-14 14:43:45 +09:00
Yu Watanabe
5e4d135c60
sd-dhcp6-client: introduce two helpers to create message
2022-02-14 14:43:45 +09:00
Yu Watanabe
6fcf356b9a
sd-dhcp6-client: trigger assertion whn invalid IA type is provided
...
If the condition hits, then it is an error in coding, instead of a user
misconfiguration or invalid receivd message.
2022-02-14 14:40:57 +09:00
Yu Watanabe
8448321571
sd-dhcp6-client: add missing address existence check
...
This adds similar check as 58da18251f .
2022-02-10 21:50:02 +09:00
Yu Watanabe
2d88df457a
Merge pull request #22471 from yuwata/network-bridge-vlan-protocol
...
network: bridge: fix vlan protocol
2022-02-10 20:40:04 +09:00
Yu Watanabe
ac7e18be76
Merge pull request #22452 from yuwata/network-ipv6ll
...
network: use sysctl to set IPv6LL address generation mode when the interface is already up
2022-02-10 20:38:56 +09:00
Yu Watanabe
b6d5dab7bb
test-network: add missing tests for bridge properties
2022-02-10 18:04:34 +09:00
Yu Watanabe
6eb35be8e0
network: bridge: fix endian of vlan protocol
...
Fixes #22469 .
2022-02-10 17:47:17 +09:00
Yu Watanabe
2becdbccd1
test-network: add testcase for re-generating IPv6LL address
2022-02-10 17:35:48 +09:00
Yu Watanabe
2b25f4eb23
network: move link_set_ipv6ll_stable_secret() to networkd-ipv6ll.c
2022-02-10 17:34:06 +09:00
Yu Watanabe
05b8fc498e
network: skip to set IPv6LL address generation mode if the requested mode is already set
2022-02-10 17:34:06 +09:00
Yu Watanabe
6614116458
network: use log_link_warning_errno() or friends where applicable
2022-02-10 17:34:06 +09:00
Yu Watanabe
7d0d832d67
network: monitor current IPv6LL address generation mode
2022-02-10 17:34:06 +09:00
Yu Watanabe
80f2647dfb
network: introduce two helper functions for setting IPv6LL address generation mode
2022-02-10 17:34:02 +09:00
Yu Watanabe
e6e2b66b8f
Merge pull request #22248 from yuwata/network-tc-use-request-queue
...
network: tc: use request queue to configure QDisc or TClass
2022-02-09 18:57:37 +09:00
Yu Watanabe
e4bbd9c61e
network: tc: use hashmap to store traffic control settings in .network files
...
As now each qdisc or tclass is configured when it is ready.
2022-02-09 14:43:19 +09:00
Yu Watanabe
7ec1846242
network: tc: introduce order dependency of traffic control
2022-02-09 14:43:19 +09:00
Yu Watanabe
1dec9d816b
network: tc: use request queue to configure traffic control
...
But no dependency resolution is implemented.
2022-02-09 14:43:19 +09:00
Yu Watanabe
b3208e0fad
network: tc/teql: set tca_kind in verify()
...
Then, qdisc_configure() can be simplified.
2022-02-09 14:43:19 +09:00
Yu Watanabe
828a81a937
network: tc: monitor qdisc and tclass
2022-02-09 14:43:19 +09:00
Yu Watanabe
e8b8b3eacb
sd-netlink: allow to dump qdisc and tclass
2022-02-09 14:43:19 +09:00
Yu Watanabe
27e93a4b66
sd-netlink: make traffic control related message can be monitored
2022-02-09 14:43:19 +09:00
Yu Watanabe
1f38b6f9c6
sd-netlink: introduce sd_rtnl_message_traffic_control_get_{ifindex,parent,handle}()
2022-02-09 14:38:23 +09:00
Yu Watanabe
f50b93fed7
sd-netlink: unify sd_rtnl_message_new_qdisc() and sd_rtnl_message_new_tclass()
...
As the netlink message header types for both qdisc and tclass are
equivalent.
2022-02-09 14:35:25 +09:00
Yu Watanabe
89346ac6f6
network: coding style fixes
2022-02-09 14:35:25 +09:00
Yu Watanabe
55c6f705ba
network: tc: drop unnecessary conditions
...
As TC_H_UNSPEC is 0.
2022-02-09 14:35:25 +09:00
Yu Watanabe
058fd55efa
network: tc: drop unused QDisc::family element
2022-02-09 14:35:25 +09:00
Yu Watanabe
de2f372ea2
network: move ipv6ll related functions to networkd-ipv6ll.[ch]
2022-02-09 02:14:40 +09:00
Yu Watanabe
5573ed2230
Merge pull request #22448 from poettering/coredump-raise-sizes
...
coredump: raise limits
2022-02-09 01:23:07 +09:00
Yu Watanabe
217a610be4
Revert "ci: switch to fedora-35 on i386 on Packit"
...
This reverts commit 478c632e00 .
2022-02-08 19:00:28 +03:00
Yu Watanabe
319af1314a
Revert "packit: switch the remaining jobs to F35"
...
This reverts commit e7642152ae .
2022-02-08 19:00:28 +03:00
Yu Watanabe
18f84f8aba
udev/net: support to set MDI-X mode
...
Closes #22386 .
2022-02-08 15:47:46 +00:00
Yu Watanabe
ecdfb9a1ae
resolve: reuse timer event source for DnsQuery
...
If the query get CNAME or DNAME, then the query will be restarted.
Even in that case, previously, the event source was freed and allocated
again. Let's slightly optimize it.
2022-02-08 17:39:03 +09:00
Yu Watanabe
c704288c47
resolve: use _cleanup_ attribute for freeing DnsQuery
2022-02-08 17:38:42 +09:00
Yu Watanabe
fe8c5ce615
resolve: fix possible memleak
...
Fortunately, unlike the issue fixed in the previous commit, the memleak
should be superficial and not become apparent, as the queries handled
here are managed by the stub stream, and will be freed when the stream
is closed.
Just for safety, and slightly reducing the runtime memory usage by the
stub stream.
2022-02-08 17:38:42 +09:00
Yu Watanabe
73bfd7be04
resolve: fix potential memleak and use-after-free
...
When stub stream is closed early, then queries associated to the stream
are freed. Previously, the timer event source for queries may not be
disabled, hence may be triggered with already freed query.
See also dns_stub_stream_complete().
Note that we usually not set NULL or zero when freeing simple objects.
But, here DnsQuery is large and complicated object, and the element may
be referenced in subsequent freeing process in the future. Hence, for
safety, let's set NULL to the pointer.
2022-02-08 17:35:53 +09:00
Yu Watanabe
ea853de57d
network: enable KeepConfiguration= when running on network filesystem
...
Also, set KeepConfiguration=dhcp-on-stop by default when running in
initrd.
Fixes #21967 .
2022-02-05 09:42:32 +09:00
Yu Watanabe
166e8e36eb
Merge pull request #22416 from fbuihuu/misc
...
Misc
2022-02-05 09:26:40 +09:00
Yu Watanabe
4e247216e5
stat-util: introduce path_is_network_fs()
2022-02-04 15:22:20 +09:00
Yu Watanabe
318a53d10a
network-generator: rename DHCP_TYPE_DHCP -> DHCP_TYPE_DHCP4
...
To emphasize this is DHCPv4. No behavior is changed.
2022-02-04 13:59:42 +09:00
Yu Watanabe
7809cab717
test-network: add testcase for external tunnel
2022-02-03 11:12:34 +09:00
Yu Watanabe
1ae308abb5
network: tunnel: support external mode
...
Closes #22352 .
2022-02-03 11:12:01 +09:00
Yu Watanabe
acd8abb7f9
network: tunnel: reorder setting ip6tnl attributes
...
Just for improving readability.
2022-02-03 11:10:15 +09:00
Yu Watanabe
a07e07cd9c
network: tunnel: reduce indentation in config_parse_encap_limit()
2022-02-03 11:10:15 +09:00
Yu Watanabe
59c8bef008
network: tunnel: reduce indentation in config_parse_ipv6_flowlabel()
2022-02-03 11:10:15 +09:00
Yu Watanabe
396dfe0a14
network: tunnel: use "data" field to assign result
2022-02-03 11:10:15 +09:00
Yu Watanabe
84e8602dfe
test: use rm_rf_physical_and_freep cleanup function
2022-02-02 15:31:40 +00:00
Yu Watanabe
613d65d88f
network: update operational state when we remove an address
2022-02-02 20:44:47 +09:00
Yu Watanabe
4900ae14a5
sd-device: drop device_new_from_synthetic_event() from libsystemd
...
It is used by only test-udev.c.
2022-02-02 20:34:38 +09:00
Yu Watanabe
043543f1bb
udevadm: trigger: drop unnecessary slash
2022-02-02 20:34:38 +09:00
Yu Watanabe
f4f3249539
udevadm: make test and test-builtin command accept /dev path or device unit
2022-02-02 20:34:38 +09:00
Yu Watanabe
2079898088
sd-device: make device_set_action() take sd_device_action_t
2022-02-02 20:34:38 +09:00
Yu Watanabe
7f2e3eea28
sd-device: move device_read_uevent_file() to device-private.h
...
Then, it can be used by our tools or daemons.
2022-02-02 20:34:38 +09:00
Yu Watanabe
f30943c12f
udev: do not generate format dynamically
...
Prompted by LGTM.
2022-02-02 20:34:31 +09:00
Yu Watanabe
e85fdacc8a
test: allow to set NULL to intro or outro
...
Addresses https://github.com/systemd/systemd/pull/22338#discussion_r796741033 .
2022-02-02 11:06:54 +00:00
Yu Watanabe
6f6b017b9b
test: add a test for mkdir_p()
2022-02-02 15:09:45 +09:00
Yu Watanabe
5117059ee9
mkdir: allow to create directory whose path contains symlink
...
Fixes a regression caused by 3008a6f21c .
Before the commit, when `mkdir_parents_internal()` is called from `mkdir_p()`,
it uses `_mkdir()` as `flag` is zero. But after the commit, `mkdir_safe_internal()`
is always used. Hence, if the path contains a symlink, it fails with -ENOTDIR.
To fix the issue, this makes `mkdir_p()` calls `mkdir_parents_internal()` with
MKDIR_FOLLOW_SYMLINK flag.
Fixes #22334 .
2022-02-02 15:09:45 +09:00
Yu Watanabe
e22916e61d
mkdir: CHASE_NONEXISTENT cannot used in chase_symlinks_and_stat()
2022-02-02 15:09:45 +09:00
Yu Watanabe
e4de58c823
core/mount: fail early if directory cannot be created
...
Prompted by #22334 .
2022-02-02 15:09:45 +09:00
Yu Watanabe
891c9b36cf
Merge pull request #22350 from poettering/journal-read-object-fix
...
journal: various fixes to journal_file_read_object()
2022-02-02 13:47:32 +09:00
Yu Watanabe
faa1b3c6c4
network: dhcp-server: make empty string to DNS= or friends clear previously specified servers
2022-02-02 10:02:57 +09:00
Yu Watanabe
32f8a613c5
sd-dhcp-lease: store static routes and classless static routes in different arrays
...
When classless static routes option is provided, then static routes
option should not be used. Hence, let's not mix and store them in one
storage.
This introduce sd_dhcp_lease_get_static_routes() and
sd_dhcp_lease_get_classless_routes().
2022-02-02 10:02:44 +09:00
Yu Watanabe
64a6b5ed21
Merge pull request #22351 from mrc0mmand/TEST-56-cgroupsv1
...
test: require unified cgroup hierarchy for TEST-56
2022-02-02 10:02:26 +09:00
Yu Watanabe
6a8ab6dd1e
Merge pull request #22332 from yuwata/network-dhcp-server-dns-server-address
...
network: dhcp-server: allow to specify server address for DNS= or friends
2022-02-02 07:07:22 +09:00
Yu Watanabe
e0ec975148
Merge pull request #22327 from joanbm/main_resolved_improvements
...
resolved: misc. small DnsStream refactors and improvements
2022-02-02 07:06:56 +09:00
Yu Watanabe
c5f7a08739
test-network: add tests for DNS=_server_address in [DHCPServer]
2022-02-02 05:01:59 +09:00
Yu Watanabe
5f468b9f57
network: dhcp-server: introduce special value DNS=_server_address
...
Closes #15026 .
2022-02-02 05:01:53 +09:00
Yu Watanabe
82140e956c
Merge pull request #22310 from yuwata/sd-dhcp-lease-fixes
...
sd-dhcp-lease: two fixes
2022-02-02 04:55:07 +09:00
Yu Watanabe
bab29f2ab7
network: dhcp-server: also refuse link local address to use as the server address
2022-02-01 11:18:53 +00:00
Yu Watanabe
77e73102dd
network: use GREEDY_REALLOC() at one more place
2022-02-01 16:14:59 +09:00
Yu Watanabe
c0fdc91e44
sd-dhcp-server: convert null address for e.g. DNS to server address
2022-02-01 16:09:17 +09:00
Yu Watanabe
c997f51c0f
sd-dhcp-server: use free_and_replace() at one more place
2022-02-01 15:49:52 +09:00