1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-29 21:55:36 +03:00
Commit Graph

52162 Commits

Author SHA1 Message Date
Yu Watanabe
4492443124 test-network: update tests for ipv4acd 2021-07-01 00:49:03 +09:00
Yu Watanabe
d7ab6ef098 network: introduce callback fucntions to check the sender MAC address for IPv4ACD and IPv4LL
Fixes #12145.
2021-07-01 00:49:03 +09:00
Yu Watanabe
76a86ffdbe network: ipv4acd: first probe address and then assign it
Previously, if IPv4 ACD is enabled on an address, then we first
assign the address, and start sd-ipv4acd daemon for the address.
This is not only RFC incompliant, but also the address is always
dropped, as the daemon always considers the address is conflicted.

This commit makes networkd first starts sd-ipv4acd daemon to probe
the address, and then the address is configured if no conflict is
detected.

Fixes #17235.
2021-07-01 00:49:03 +09:00
Yu Watanabe
475ec3346f network: make request_drop() accept NULL 2021-07-01 00:49:03 +09:00
Yu Watanabe
c0c04a4b22 network: acquire address on request configure rather than on configure
A preparation for later commits.
2021-07-01 00:49:03 +09:00
Yu Watanabe
9155da08ee network: rename dhcp_lease_lost() -> dhcp4_lease_lost() and expose it
A preparation for later commits.
2021-07-01 00:49:02 +09:00
Yu Watanabe
d5e3b3eb8c network: address: do not send tentative flag
Currently, networkd does not set tentative flag on create, and kernel
ignore the flag on remove. So, this commit does not change any current
behaviour. This is just a preparation for later commits.
2021-07-01 00:49:02 +09:00
Yu Watanabe
8c29f484d5 network: introduce link_request_static_address() 2021-07-01 00:49:02 +09:00
Yu Watanabe
99b466693e network: introduce address_dup() and replace address_copy() with it 2021-07-01 00:49:02 +09:00
Yu Watanabe
f8d6397ac2 network: ipv4ll: reset MAC address without stopping sd-ipv4ll engine 2021-07-01 00:49:02 +09:00
Yu Watanabe
a1e35fca46 network: ipv4ll: refuse to configure IPv4LL address on interface where the length of the hardware address is not ETH_ALEN
Currently, sd-ipv4acd assumes hardware address is ETH_ALEN.
2021-07-01 00:49:02 +09:00
Yu Watanabe
89d8ed9932 network: ipv4ll: make link enter failed state on failure of restarting ipv4ll engine 2021-07-01 00:49:02 +09:00
Yu Watanabe
fe321d457c network: introduce link_get_by_hw_addr() 2021-07-01 00:49:02 +09:00
Yu Watanabe
6eab614db8 network: rename Manager::links -> Manager::links_by_index
This also renames link_get() -> link_get_by_index().
2021-07-01 00:49:02 +09:00
Yu Watanabe
907d5ce4d4 ether-addr-util: introduce hw_addr_hash_ops 2021-07-01 00:49:02 +09:00
Yu Watanabe
1e59122d45 sd-ipv4ll: introduce sd_ipv4ll_set_check_mac_callback() 2021-07-01 00:49:02 +09:00
Yu Watanabe
9e5aa34fc8 sd-ipv4ll: allow to set MAC address without stopping sd-ipv4ll engine 2021-07-01 00:49:02 +09:00
Yu Watanabe
7f77917c0e sd-ipv4acd: update condition of address conflict
See RFC 5227 section 2.1.1.

This introduces a callback which intend to a library user, e.g.
networkd, checks whether the sender hardware address is a MAC address of
the host's intrerface or not.
2021-07-01 00:49:02 +09:00
Yu Watanabe
5c35c13a4d sd-ipv4acd: allow to change requesting address without restarting sd-ipv4acd 2021-07-01 00:49:02 +09:00
Yu Watanabe
3d817902c4 sd-ipv4acd: set defend window in timeout event and state is IPV4ACD_STATE_STARTED 2021-07-01 00:49:02 +09:00
Yu Watanabe
fcb7345950 sd-ipv4acd: allow to change MAC address without restarting sd-ipv4acd
This also makes sd_ipv4acd_set_mac() refuses null MAC address.
2021-07-01 00:49:02 +09:00
Yu Watanabe
d17ed573aa arp-util: split out logic of setting BPF code into a function 2021-07-01 00:49:02 +09:00
Yu Watanabe
ecad63f850 arp-util: use struct in_addr 2021-07-01 00:49:02 +09:00
Yu Watanabe
e1a3915b41 arp-util: make arp_send_{probe,announcement}() inline 2021-07-01 00:49:02 +09:00
Yu Watanabe
28ba416c99 arp-util: shorten code a bit 2021-07-01 00:49:02 +09:00
Yu Watanabe
504bf2b54a arp-util: check ifindex and mac address 2021-07-01 00:49:02 +09:00
Yu Watanabe
f6720fe62e arp-util: check sent message size 2021-07-01 00:49:02 +09:00
Yu Watanabe
51d113512f arp-util: align elements 2021-07-01 00:49:02 +09:00
Yu Watanabe
265b6d4e0c sd-ipv4acd: include announced address in log message 2021-07-01 00:49:02 +09:00
Yu Watanabe
9be2ba5e12 sd-ipv4acd: use struct in_addr instead of be32_t 2021-07-01 00:49:02 +09:00
Zbigniew Jędrzejewski-Szmek
58551e6ebc
Merge pull request #20074 from yuwata/fix-typo
tree-wide: fix typo
2021-06-30 17:26:51 +02:00
Franck Bui
b25389d2bb login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set
This graphic chip doesn't have a DRM driver and fallback to vesa-framebuffer
driver.

Without this patch, users of such chip suddenly see their GUI broken without
any indication or reason of what happened (no error message). Hence this
regression is near to impossible to troubleshoot for end users.
2021-06-30 16:18:41 +01:00
Yu Watanabe
387f695526 tree-wide: "a" -> "an" 2021-06-30 23:33:00 +09:00
Yu Watanabe
3d62af7d23 tree-wide: fix "the the" and "a a" 2021-06-30 23:32:43 +09:00
Zbigniew Jędrzejewski-Szmek
759f76534f
Merge pull request #20021 from wat-ze-hex/socket-bind-ip-proto-2021-06-23
core/bpf: support IP protocol in SocketBind{Allow|Deny}=
2021-06-30 14:46:27 +02:00
Yu Watanabe
857f0e0ae3 man: fix typo 2021-06-30 20:47:57 +09:00
laineantti
eed5c718a6 hwdb: add accel matrix for One-netbook OneMix 2s 2021-06-30 19:41:48 +09:00
Albert Brox
f1bda7ead2
Improve tmpfiles unsafe transition log message (#20048) 2021-06-30 11:54:15 +02:00
Julia Kartseva
120338ae33 man: document ip proto in SocketBind{Allow|Deny}= 2021-06-30 00:36:33 -07:00
Julia Kartseva
60477eb98a dbus: extend SocketBind{Allow|Deny}= with ip proto 2021-06-30 00:36:33 -07:00
Julia Kartseva
5587ce7f6c fragment: add ip protocol to SocketBind{Allow|Deny}=
Add ip protocol token to SocketBind{Allow|Deny}= property parser.

Use parse_socket_bind_item helper.

Replace int32_t with int in cgroup item for socket-bind as it was
requested in [0].

Update tests.

[0] https://github.com/systemd/systemd/pull/19942#discussion_r652150024
2021-06-30 00:36:33 -07:00
Julia Kartseva
8bd095aa9a shared: add parser for SocketBind{Allow|Deny}=
Parse address family, ip protocol and ports, any of them can be
optional. If neither is specified, a special value 'any' is expected.
Helper is placed in shared to be reused in both fragment and dbus.
Add unit tests with valid and invalid examples.
2021-06-30 00:36:26 -07:00
Julia Kartseva
159d68c3e0 shared: add ip_protocol_{from|to}_tcp_udp helpers
Thin wrappers of ip_protocol_{from|to}_name targeting IPPROTO_TCP and
IPPROTO_UDP only.
Used to parse IP protocol configuration restricted only to TCP and UDP,
e.g. in SocketBind{Allow|Deny}= unit property.

These helpers are inspired by af_{from|to}_ipv4_ipv6 and potentially
extendable with other IP protocols if there is a use-case to expose
them.
2021-06-29 14:37:07 -07:00
Julia Kartseva
560d76243f bpf: add ip proto matching to socket-bind prog
Lookup ip protocol in a socket address to allow or deny binding a socket
to the address.
Matching rule is extended with 'protocol' field. If its value is 0
(IPPROTO_IP) ip protocol comparison is omitted and matching is passed to
the next token which is ip ports.

Documentation is updated.
2021-06-29 14:37:07 -07:00
Dan Streetman
9fcfc0470d Add systemd-resolve backwards compatibility section to resolvectl docs 2021-06-30 06:15:11 +09:00
Luca Boccassi
d46be5a6ac
Merge pull request #20047 from keszybz/doc-fix
Update dnssec-trust-anchors comment syntax description and put rrs in index
2021-06-29 12:52:38 +01:00
Raul Tambre
12c0bb31a7 resolved: Fix link to resolv.conf manpage
Seems to typically located in volume 5 these days on Linux systems that systemd targets.
2021-06-29 12:50:53 +01:00
Alexander Tsoy
1f00a50c69 resolved: do not try to copy empty NSEC types bitmaps
dns_resource_record_copy() assumes that NSEC types bitmap is non-empty
which results in a null pointer dereference inside bitmap_copy() in some
cases. Fix this by calling bitmap_copy() conditionally.
2021-06-29 10:47:18 +02:00
Zbigniew Jędrzejewski-Szmek
d080734dcb man: add "DNS resource record types" section 2021-06-29 10:44:18 +02:00
Zbigniew Jędrzejewski-Szmek
9a024bf18d man: add markup to dns resource record labels 2021-06-29 10:44:18 +02:00