Yu Watanabe
c4febde9d0
io-util: introduce ppoll_usec() helper function
2021-03-04 05:06:43 +09:00
Yu Watanabe
1d61d70abb
libudev: shorten code a bit
...
fd_wait_for_event() or ppoll() does not return -EAGAIN.
2021-03-04 05:03:44 +09:00
Yu Watanabe
7a7d2f16c2
tree-wide: fix typo
2021-03-02 09:48:20 +01:00
Yu Watanabe
dbc3cf009a
Merge pull request #18832 from keszybz/resolved-stop-sources
...
Always stop sd-event sources in resolved when unreffing them
2021-03-02 14:15:18 +09:00
Yu Watanabe
2be6c4758e
timedate: do not ignore fix_system argument in SetLocalRTC method
...
Fixes #18391 .
2021-02-24 23:50:21 +09:00
Yu Watanabe
6cde5b4b1c
network: use IPMasquerade=both instead of yes
...
Follow-up for 4c72d851cd .
2021-02-24 15:01:43 +01:00
Yu Watanabe
b34b57a738
clock-util: rename function argument
2021-02-24 19:56:14 +09:00
Yu Watanabe
b49bb2866c
doc,man: fix-typo (hierachy -> hierarchy)
2021-02-24 09:54:16 +01:00
Yu Watanabe
ebc98027fc
Merge pull request #18589 from yuwata/network-nexthop-drop-unnecessary-nexthops
...
network: drop unnecessary nexthops
2021-02-24 09:07:57 +09:00
Yu Watanabe
e94a009c10
core: fix stack-use-after-scope
...
Fixes a bug introduced by f70e6fb471 .
Fixes #18753 .
2021-02-23 15:39:31 +01:00
Yu Watanabe
9947c7bad1
test-network: add tests for dropping unnecessary nexthops
2021-02-23 22:48:12 +09:00
Yu Watanabe
25b82b6e0e
network: nexthop: drop unnecessary nexthops
...
Similar to addresses or routes, this makes networkd drops unnecessary
nexthops on configuring links or when a link is dropped.
2021-02-23 22:47:11 +09:00
Yu Watanabe
0e9d129c16
network: nexthop: read protocol in received netlink message
...
Preparation of later commits.
2021-02-23 22:47:11 +09:00
Yu Watanabe
e64e052e17
sd-netlink: introduce sd_rtnl_message_nexthop_get_protocol()
2021-02-23 22:47:11 +09:00
Yu Watanabe
774c0e433c
Revert "meson: remove one more instance of install_dir:bindir"
...
This reverts commit 5ffa2eaa54 .
It seems that if install_dir is not specified, meson decides install path
based on file type, and non-executable binary files are installed under
/usr/share.
kernel-install is a script. So, we need to set install_dir argument
explicitly.
Fixes #18754 .
2021-02-23 13:52:55 +01:00
Yu Watanabe
73b49d433c
dhcp6: do not set T1 and T2 by dhcp6_option_append_pd() in client
...
Fixes #18090 .
2021-02-23 19:36:37 +09:00
Yu Watanabe
e7613578b4
dhcp6: do not set T1 and T2 by dhcp6_option_append_ia() in client
2021-02-23 19:36:37 +09:00
Yu Watanabe
1e84213a43
dhcp6: make dhcp6_option_parse_{address,pdprefix}() return -EINVAL when received address or prefix is refused
...
And then the caller ignores the error.
Otherwise, `ret_liftime_valid` is not set even if they succeeds.
2021-02-23 19:36:23 +09:00
Yu Watanabe
cf6c33bd6b
dhcp6: do not use input value before checking
2021-02-23 18:49:11 +09:00
Yu Watanabe
c83e44110c
Merge pull request #18718 from yuwata/network-nexthop-blackhole
...
network: introduce Blackhole= setting in [NextHop] section
2021-02-23 04:44:12 +09:00
Yu Watanabe
e82a0ef1cf
Merge pull request #18734 from poettering/cryptsetup-description-escape
...
cryptsetup: unescape ID_PART_ENTRY_NAME udev field
2021-02-23 04:43:22 +09:00
Yu Watanabe
518339d89f
Merge pull request #18731 from yuwata/backlight-trivial-cleanups
...
backlight: trivial cleanups
2021-02-23 04:42:09 +09:00
Yu Watanabe
69a91c704e
test-network: add tests for Blackhole= setting in [NextHop] section
2021-02-23 02:21:35 +09:00
Yu Watanabe
484555f3f2
network: route: shorten code a bit
2021-02-23 02:21:31 +09:00
Yu Watanabe
30f1083709
network: nexthop: add Blackhole= setting in [NextHop] section
...
As similar to unreachable type routes, blackhole nexthops do not have
NHA_OID attribute, so they are managed by Manager.
2021-02-23 02:21:17 +09:00
Yu Watanabe
b77c929934
backlight: reindent comments
2021-02-22 23:45:55 +09:00
Yu Watanabe
d17d66f0ab
backlight: reduce indentation a bit
2021-02-22 23:25:00 +09:00
Yu Watanabe
ba6c9b7994
backlight: same_device() may return negative errno
2021-02-22 23:11:28 +09:00
Yu Watanabe
7a9737bc7d
backlight: exit earlier when unknown verb is specified
2021-02-22 23:00:46 +09:00
Yu Watanabe
84d32bf59b
test-network: test wireguard peer in drop-in config
...
Closes #18241 .
2021-02-22 21:33:36 +09:00
Yu Watanabe
5e63f2915b
man: fix typo
2021-02-21 19:20:47 +01:00
Yu Watanabe
a9f2f1c13a
Merge pull request #18711 from yuwata/network-nexthop-onlink
...
network: nexthop: add OnLink= setting
2021-02-21 10:33:36 +09:00
Yu Watanabe
e2d9bc5cfd
test-network: add a test for OnLink= in [NextHop] section
2021-02-21 05:16:27 +09:00
Yu Watanabe
2ddd52d1e2
network: nexthop: add OnLink= setting
2021-02-21 05:16:23 +09:00
Yu Watanabe
1f22fc3828
mount-tool: sd_device_get_sysattr_value() returns 0 on success
2021-02-21 04:40:23 +09:00
Yu Watanabe
9520c2f62b
sd-device-enumerator: shorten code a bit
2021-02-21 04:40:23 +09:00
Yu Watanabe
3f15ce66e0
unit: ignore exit code of "udevadm trigger"
...
Suggested at https://github.com/systemd/systemd/pull/18559#issuecomment-781626226 .
Some drivers may be broken and return unexpected errors on triggering
events. That should be logged but should not boot-up to be affected.
2021-02-21 04:40:23 +09:00
Yu Watanabe
6c99c26500
udevadm-trigger: introduce --quiet option
...
This may be useful to invoke the command by non-privileged users.
2021-02-21 04:40:23 +09:00
Yu Watanabe
0e789e6d48
udevadm-trigger: do not return immediately on EACCES
...
Prompted by https://github.com/systemd/systemd/pull/18559 .
2021-02-21 04:40:23 +09:00
Yu Watanabe
21012e20a4
udevadm-trigger: use sd_device_trigger() for triggering uevent
2021-02-21 04:40:23 +09:00
Yu Watanabe
25677a055c
udev: use sd_device_trigger() to trigger uevent
2021-02-21 04:40:23 +09:00
Yu Watanabe
f4d36efa75
sd-device: introduce tiny wrapper sd_device_trigger()
2021-02-21 04:40:23 +09:00
Yu Watanabe
297d1370f8
sd-device: do not cache action string for uevent file written by sd_device_set_sysattr_value()
...
As sd_device_get_sysattr_value() may be already used to read uevent
file. The read value of uevent file may be usually quite different
from the action string.
2021-02-21 04:40:23 +09:00
Yu Watanabe
1dff135bf9
test: add more tests for path_startswith()
2021-02-21 04:40:23 +09:00
Yu Watanabe
9dcde1034c
sd-device: make devpath check stricter
...
See assertion in sd_device_get_devpath().
2021-02-21 04:40:23 +09:00
Yu Watanabe
45e093a968
sd-device: make sd_device_get_xxx() accept NULL for storing result
...
Though, setting NULL for some getters, e.g. sd_device_get_syspath()
may be meaningless, but anyway also let's make them accept NULL for
consistency.
2021-02-21 04:40:23 +09:00
Yu Watanabe
163e0a882c
sd-device: use appropriate error code
2021-02-21 04:40:23 +09:00
Yu Watanabe
66efcbb149
sd-device: add a brief comment in device_cache_sysattr_value()
2021-02-21 04:40:23 +09:00
Yu Watanabe
acfc2a1d15
sd-device: ignore error in device_cache_sysattr_value() and propagate original error code
...
There are three calls of device_cache_sysattr_value(). Two of them are
just caching the value. Hence, let's ignore its failure, and propagate
original error code.
One exception is the last call in sd_device_get_sysattr_value().
Unfortunately, it returns `const char *` instead of `char *`. So,
sd_device object must have the reference of the returned value.
Hence, error in updating the cache by device_cache_sysattr_value()
is critical, and we need to propagate the error in that case.
2021-02-21 04:40:17 +09:00
Yu Watanabe
32a739afe0
sd-device: the last argument of sd_device_get_sysattr_value() may be NULL
2021-02-21 04:30:42 +09:00
Yu Watanabe
2a394d0bf2
sd-device: use delete_trailing_chars()
...
Also, this drops trailing '\r' from sysattr value set in
sd_device_set_sysattr_value().
2021-02-21 04:30:42 +09:00
Yu Watanabe
23ff570ba8
sd-device: do not cache an empty string but clear cache on failre
...
And propagate the original error on write.
Note that some attributes are read-only.
2021-02-21 04:30:42 +09:00
Yu Watanabe
2f7a2e3952
sd-device: move comment about NULL value
...
It is not intuitive, and I do not know why the function behave so.
But let's keep that behavior for compatibility, as such behavior
may be already used explicitly by callers.
2021-02-21 04:30:42 +09:00
Yu Watanabe
2a0ebc0569
sd-device: rename device_{add,get,remove}_sysattr_value()
...
They just handle cache of sysattr values. Hence, let's use more
explanatory names.
2021-02-21 04:30:42 +09:00
Yu Watanabe
27edd36eaa
network: fix typo
2021-02-20 18:58:07 +09:00
Yu Watanabe
aa3069977e
Merge pull request #18689 from yuwata/network-address-broadcast-no
...
network: make Broadcast= accept "no"
2021-02-20 16:55:28 +09:00
Yu Watanabe
045db4fa0d
test-network: add tests for Broadcast= with boolean settings
2021-02-20 14:23:07 +09:00
Yu Watanabe
832583ada8
network: make Broadcast= accept boolean value
...
And disable it for wireguard interfaces by default.
Closes #18492 .
2021-02-20 14:23:00 +09:00
Yu Watanabe
7f37ecf7e5
Merge pull request #18699 from yuwata/network-route-add-nexthop-setting
...
network: add NextHop= setting in [Route] section
2021-02-20 14:17:17 +09:00
Yu Watanabe
ace0bd14ba
Merge pull request #18695 from keszybz/xdg-generator-silence-warning
...
xdg-autostart-generator: silence warning
2021-02-20 01:00:18 +09:00
Yu Watanabe
cee0f719d8
test-network: add tests for NextHop= setting in [Route]
2021-02-19 22:42:39 +09:00
Yu Watanabe
e918b3c12a
network: add nexthop ID in debugging logs
2021-02-19 22:42:39 +09:00
Yu Watanabe
324e342219
network: add NextHop= setting in [Route] section
2021-02-19 22:42:39 +09:00
Yu Watanabe
69e244e321
network: also manage nexthops by ID
...
It will be used in later commits.
2021-02-19 22:42:39 +09:00
Yu Watanabe
bfe6043454
network: nexthop: update ID of nexthop created without specifiying ID
...
Otherwise, nexthop_configure() -> nexthop_add() creates NextHop object
without ID in link->nexthop, and then, manager_rtnl_process_nexthop() ->
nexthop_add_foreign() also creates another NextHop object with ID in
link->nexthop_foreign.
2021-02-19 08:41:52 +01:00
Yu Watanabe
f345918d8d
network: configure nexthop before routes that requires gateway
...
This is a preparation for later commits. When RTA_NH_ID is set to a
route, then the corresponding nexthop must be exist.
2021-02-19 08:34:12 +01:00
Yu Watanabe
b480543cf0
tree-wide: fix typo
2021-02-19 07:56:22 +01:00
Yu Watanabe
4c72d851cd
network: warn when any positive boolean string is specified for IPMasquerade=
...
Previously, any positive boolean string for IPMasquerade= enables only IPv4
masquerade. The commit 48ed276647 adds
IPv6 masquerade support. However, only "yes" is handled as "ipv4", and other
positive boolean strings are handled as "both".
This makes all positive boolean strings considered as "ipv4", warn that they
are deprecated, and suggest to use "ipv4" or "both".
Follow-up for 48ed276647 .
2021-02-19 14:24:10 +09:00
Yu Watanabe
da0e2baea3
network: address: reuse Address:ip_masquerade_done for IPv6 case
...
It is not necessary to use different flag for each address family.
Follow-up for 48ed276647 .
2021-02-19 14:22:32 +09:00
Yu Watanabe
5be5d1f2a1
Merge pull request #18659 from poettering/permyriadification
...
use scaling relative to UINT32_MAX instead of percentages/permyriads wherever we can
2021-02-19 14:22:10 +09:00
Yu Watanabe
71894e1831
table: drop trailing white spaces of the last cell in row
...
Fixes #18415 .
2021-02-19 14:04:32 +09:00
Yu Watanabe
38ba3da0a1
network: rename UseFQDN= -> UseHostname=
...
Prompted by
https://github.com/systemd/systemd/pull/18543#issuecomment-780798451 .
2021-02-18 21:47:37 +01:00
Yu Watanabe
ccbd74f602
network: NHA_ID should be always set
2021-02-18 03:56:26 +09:00
Yu Watanabe
c004cd2bbe
network: constify arguments
2021-02-18 03:54:50 +09:00
Yu Watanabe
56223d926d
network: introduce log_nexthop_debug()
2021-02-18 03:54:50 +09:00
Yu Watanabe
c633628daf
tree-wide: constify variables if possible
2021-02-18 03:48:07 +09:00
Yu Watanabe
94af46fc66
network: use temporary buffer for safety
2021-02-18 03:48:07 +09:00
Yu Watanabe
5380707aba
network: use in_addr_prefix_to_string()
2021-02-18 03:48:07 +09:00
Yu Watanabe
b1dea5cffa
resolve: use sockaddr_in_addr()
2021-02-18 03:48:07 +09:00
Yu Watanabe
bb3b08ad98
resolve: make manager_find_ifindex() or friends return earlier
2021-02-18 03:48:07 +09:00
Yu Watanabe
94876904bb
tree-wide: use in_addr_is_set() or friends
2021-02-18 03:48:07 +09:00
Yu Watanabe
275468c033
network: assign values after all checks are passed
2021-02-18 03:48:07 +09:00
Yu Watanabe
fa55043450
in-addr-util: introduce in6_addr_equal()
2021-02-18 03:48:06 +09:00
Yu Watanabe
1235befadd
in-addr-util: introduce in6_addr_is_link_local()
2021-02-18 03:48:06 +09:00
Yu Watanabe
7653dcc328
in-addr-util: introduce in_addr_is_set() or friends
2021-02-18 03:48:06 +09:00
Yu Watanabe
0c0585ca25
network: enumerate nexthops before routes
...
Preparation for the later commits.
Routes may have RTA_NH_ID attribute. To resolve the nexthop ID, all
nexthops must be enumerated earlier.
2021-02-17 19:40:02 +01:00
Yu Watanabe
055e4909de
network: nexthop: first create nexthops with ID
...
Otherwise, an ID-less nexthop may conflict with a later nexthop with ID.
2021-02-17 19:39:37 +01:00
Yu Watanabe
9997507421
firewall-util: replace nft_in6addr_to_range() with in_addr_prefix_range()
2021-02-17 22:57:37 +09:00
Yu Watanabe
1534c5791a
in-addr-util: introduce in_addr_prefix_range()
...
This will replace nft_in6addr_to_range() in later commit.
2021-02-17 22:57:37 +09:00
Yu Watanabe
9164338b2e
in-addr-util: make in_addr_prefix_nth() always return valid prefix
...
Previously, e.g. in_addr_prefix_nth(2400::1, prefixlen=32, nth=1)
does not return 2400:1:: but does 2400:1::1.
2021-02-17 22:57:37 +09:00
Yu Watanabe
7b6b05cff9
in-addr-util: make in_addr_prefix_nth() refuse prefixlen larger than maximum size
2021-02-17 22:57:37 +09:00
Yu Watanabe
518b6da5d3
in-addr-util: make in_addr_prefix_nth() returns 0 on success
2021-02-17 22:57:37 +09:00
Yu Watanabe
40785f53ba
network: refuse IPv4 multipath route for IPv6 route
2021-02-17 22:08:15 +09:00
Yu Watanabe
35d39c94a9
network: Route::gw_family may be AF_UNSPEC
2021-02-17 21:11:13 +09:00
Yu Watanabe
6cd8f9b5f2
test-network: add tests for Family= in [NextHop]
2021-02-17 15:55:37 +09:00
Yu Watanabe
26ff450550
man: update explanations of settings in [NextHop] section
2021-02-17 15:55:37 +09:00
Yu Watanabe
acfd8491fb
network: nexthop: refuse 0 id
...
We usually do not accept values which will be handled as unspecified.
Instead, this makes config_parse_nexthop_id() accept an empty string.
2021-02-17 15:55:37 +09:00
Yu Watanabe
f1923efccb
network: nexthop: introduce Family= setting in [NextHop] section
...
This is an alias of `Gateway=0.0.0.0` or `Gateway=::`.
2021-02-17 15:55:37 +09:00
Yu Watanabe
e9c4253d47
network: allow to configure nexthop with null address
...
Closes #18446 .
2021-02-17 15:55:37 +09:00
Yu Watanabe
0008b5aee2
network: nexthop: unset gateway when an empty string is assigned
2021-02-17 15:55:37 +09:00