Yu Watanabe
e6655fbe40
man: mention that drop-in files are merged in alphanumeric order
...
This addresses the request in https://github.com/systemd/systemd/issues/19467#issuecomment-829332877 .
2021-05-20 21:20:51 +02:00
Yu Watanabe
db5486b450
test-network: add a testcase for OutgoingInterface= in [BridgeFDB]
2021-05-20 18:23:15 +09:00
Yu Watanabe
e5b35bf6c2
network: use queue to configure bridge FDB
2021-05-20 18:23:15 +09:00
Yu Watanabe
9671ae9d51
network: bridgeFDB: rename FdbEntry -> BridgeFDB
2021-05-20 18:23:15 +09:00
Yu Watanabe
354dadb30f
nspawn: fix build failure
...
This fixes a conflict between #19555 and #19653 .
2021-05-20 10:04:14 +02:00
Yu Watanabe
834f3ba1a0
test: reduce debugging logs in test-event
...
The logs mostly give no information, but fill CI results.
2021-05-19 21:34:17 +02:00
Yu Watanabe
6db7b533c6
Merge pull request #19163 from sipraga/online-if-required
...
network: introduce an online state that respects RequiredForOnline=
2021-05-19 23:08:18 +09:00
Yu Watanabe
550721c2e3
alloc-util: use memcpy_safe() in memdup() or friends
2021-05-19 21:22:23 +09:00
Yu Watanabe
d1f3b08098
memory-util: make memcpy_safe() return pointer to destination
2021-05-19 21:20:49 +09:00
Yu Watanabe
70a2d9dd31
network: route: check validity of interface name in MultiPathRoute=
2021-05-19 16:28:53 +09:00
Yu Watanabe
8ed87c4983
network: route: parse earlier if device specifier in MultiPathRoute= is ifindex
2021-05-19 16:28:53 +09:00
Yu Watanabe
0b54c87081
network: introduce link_get_by_name()
2021-05-19 16:28:53 +09:00
Yu Watanabe
8e4b1b35bc
network: drop redundant condition
...
When Network::unmanaged is set, then the Network object is not assigned
to any Link object. Hence, the condition is always false.
2021-05-19 16:25:02 +09:00
Yu Watanabe
3a1dfdb43f
network: drop unnecessary call of manager_rtnl_process_address()
...
The reply should be NLMSG_DONE or NLMSG_ERROR.
Moreover, calling the function for reply of address label configuration
is completely wrong.
2021-05-19 16:17:23 +09:00
Yu Watanabe
f4cc13646f
network: drop unused "callback" arguments in route_remove() and address_remove()
2021-05-19 10:38:57 +09:00
Yu Watanabe
50b7477064
network: dhcp4: re-request DHCP4 address and routes immediately
...
It is not necessary to wait for removal is finished, as network queue
already do the same thing.
2021-05-19 10:38:57 +09:00
Yu Watanabe
e7901aba14
Merge pull request #19611 from yuwata/network-dhcp-server-introduce-server-address
...
network: dhcp-server: introduce ServerAddress= setting
2021-05-19 10:29:43 +09:00
Yu Watanabe
734b3115d6
Merge pull request #19631 from yuwata/network-fix-reference-counting-issues
...
network: fix reference counting issues
2021-05-19 10:29:16 +09:00
Yu Watanabe
6b87254ad1
Merge pull request #19630 from keszybz/jinja2
...
Use jinja2 for templating
2021-05-19 10:27:21 +09:00
Yu Watanabe
cc2d7efc5c
network: fix Link reference counter issue
...
Previously, when link_new() fails, `link_unref()` was called, so,
`Manager::links` may become dirty.
This introduces `link_drop_or_unref()` and it will be called on
failure.
2021-05-18 20:40:56 +09:00
Yu Watanabe
56001f0233
network: also drop requests when link enters linger state
...
Otherwise, if link is removed, several references to the link in remain
exist in requests.
2021-05-18 20:40:56 +09:00
Yu Watanabe
63130eb36d
network: merge link_drop() and link_detach_from_manager()
...
link_detach_from_manager() is only called by link_drop(). It is not
necessary to split such tiny function.
2021-05-18 20:40:56 +09:00
Yu Watanabe
ce9388d72a
network: fix possible message counter double decrement
...
When after_configure() for a request fails, then the request is not
removed from the queue at that time, and the link enters to failed
state. After that, if the link is reconfigured or its carrier is lost,
then the request is dropped from the queue, and the message_counter is
decreased. However, the counter is already or will be also decreased
when the corresponding netlink reply is received.
So, the counter is decreased twice.
2021-05-18 20:40:50 +09:00
Yu Watanabe
72ffb9133d
test-network: add testcases for ServerAddress=
2021-05-18 20:20:24 +09:00
Yu Watanabe
0017ba3165
network: dhcp-server: introduce ServerAddress= setting
...
This may be useful when the link which DHCP server running on has
multiple static addresses.
2021-05-18 20:20:24 +09:00
Yu Watanabe
998545a7d9
network: address: introduce link_get_ipv4/ipv6_address()
2021-05-18 20:20:24 +09:00
Yu Watanabe
99b5f4f7b8
network: use UINT32_C() macro
2021-05-18 20:20:24 +09:00
Yu Watanabe
473680be32
network: introduce address_set_broadcast()
2021-05-18 20:20:20 +09:00
Yu Watanabe
c9f2db2c40
network: use config_parse_in_addr_non_null()
2021-05-18 20:19:37 +09:00
Yu Watanabe
cf0747725d
conf-parser: introduce config_parse_in_addr_non_null()
2021-05-18 20:19:37 +09:00
Yu Watanabe
4301cb32f2
fix typo
2021-05-14 19:51:37 +02:00
Yu Watanabe
893e3ffe7d
network: shorten code a bit and update log message
2021-05-14 09:38:41 +02:00
Yu Watanabe
f8cd3f610f
shell-completion: support --json option for hostnamectl
2021-05-14 09:18:29 +09:00
Yu Watanabe
bfc2b05e59
networkctl: introduce --json option for "status" and "list" commands
...
When `--json` option is specified, "status" and "list" commands gives
the same information, as originally "list" just gives partial
information of "status" in different format.
2021-05-14 09:18:29 +09:00
Yu Watanabe
fec7a9e0ac
json: make JSON_VARIANT_ARRAY/OBJECT_FOREACH() nestable
2021-05-14 09:18:29 +09:00
Yu Watanabe
484f22dd66
networkctl: use table_set_empty_string()
2021-05-14 09:18:29 +09:00
Yu Watanabe
54a16efe18
network: introduce Describe() method for manager and links
2021-05-14 09:18:29 +09:00
Yu Watanabe
1a3caa49d7
udev,network: make link_get_type_string() return negative errno on failure
...
And make net_match_config() propagate the error.
2021-05-14 09:18:29 +09:00
Yu Watanabe
170e88c8e3
network: move and rename network_get() -> link_get_network()
...
This also drops test_network_get(). But it tests almost nothing. So, it
should be ok to not re-implement something like test_link_get_network().
2021-05-14 09:18:29 +09:00
Yu Watanabe
7df7ba457c
Merge pull request #19590 from keszybz/comments-and-service-modernization
...
Comments and service modernization
2021-05-13 12:17:19 +09:00
Yu Watanabe
932e157b5e
test-network: wait for the interfaces are configured after reloading .network files
2021-05-12 11:26:06 +09:00
Yu Watanabe
1ef2eedce7
test-network: wait for the intreface is configured if it is expected
2021-05-12 11:26:06 +09:00
Yu Watanabe
5cb76467af
network: make route_configure() return all created routes
2021-05-12 11:26:06 +09:00
Yu Watanabe
b19afdfef8
network: make log_route_debug() show multipath routes and Gateway=_dhcp4 or _ipv6ra
2021-05-12 11:26:06 +09:00
Yu Watanabe
76c5a0f27b
network: use request queue to configure addresses, routes, and nexthops
...
Why is this necessary? Several examples below.
- When a route sets prefsrc, then the address must be already assigned
(see issue #19285 ), and also it must be ready if IPv6.
- When a route or nexthop sets gateway, then the address must be reachable.
- When a route sets nexthop ID, then the corresponding nexthop must be
assigned.
- When a route sets multipath routes on another interface, then the
interface must exist and be ready to configure.
- When configuring address, the same address must not be under removing
(see issue #18108 ).
Etc,. etc,...
So, this makes all requests about addresses, routes, and nethops are once
stored in the queue, and will be processed when they are ready to configure.
Fixes #18108 and #19285 .
2021-05-12 11:26:06 +09:00
Yu Watanabe
40ca350ea1
network: use request queue to configure neighbors
2021-05-12 11:26:06 +09:00
Yu Watanabe
0e5ef6beb6
network: use request queue to configure routing policy rules
2021-05-12 11:26:06 +09:00
Yu Watanabe
7191a57a0e
network: introduce link_is_ready_to_configure() helper function
...
This will be used in later commits.
2021-05-12 11:26:06 +09:00
Yu Watanabe
19d9a5adf0
network: add skeleton of request queue
...
This will be used in later commits.
2021-05-12 11:26:06 +09:00
Yu Watanabe
17060f02cc
network: nexthop: add NextHop object before sending netlink request
...
Otherwise, if nexthop_add() fails, then assertion about nexthop_messages in
static_nexthop_handler() will be triggered.
2021-05-12 11:26:06 +09:00
Yu Watanabe
5a07fa9dd1
network: split out common part of route or address handlers
2021-05-12 11:26:06 +09:00
Yu Watanabe
e36d601c5e
network: change order of dropping network configs
...
As routes may requires nexthops and addresses, nexthops may requires
addresses.
2021-05-12 11:26:06 +09:00
Yu Watanabe
e80509a904
network: simplify and rename routing_policy_rule_copy()
2021-05-12 11:25:55 +09:00
Yu Watanabe
c0bd9eb1ed
network: introduce route_dup()
...
The function will be used in later commits.
2021-05-12 11:22:24 +09:00
Yu Watanabe
4867b9d711
sd-netlink: introduce multipath_route_dup()
...
The function will be used in later commits.
2021-05-12 10:39:12 +09:00
Yu Watanabe
d94e8ba021
network: introduce manager_address_is_reachable()
...
The function will be used in later commits.
2021-05-12 10:39:12 +09:00
Yu Watanabe
884a63d76e
network: introduce link_has_route()
...
The function will be used in later commits.
2021-05-12 10:39:12 +09:00
Yu Watanabe
e8f52f3c19
network: delay resolving interface specifier in MultiPathRoute=
...
The interface may not exist when .network files are loaded.
2021-05-12 10:37:17 +09:00
Yu Watanabe
591bd5f35d
network: introduce manager_has_address()
...
The function will be used in later commits.
2021-05-12 10:30:45 +09:00
Yu Watanabe
d38a6476aa
ordered-set: introduce ordered_set_clear/free_with_destructor()
2021-05-12 10:30:45 +09:00
Yu Watanabe
38c116df7f
hashmap,set: make hashmap_clear_with_destructor() or friends safer
2021-05-12 10:30:45 +09:00
Yu Watanabe
b8ce3b4490
network: use IPV4_ADDRESS_FMT_STR/VAL macros and in6_addr_to_string() or friends
2021-05-12 10:30:45 +09:00
Yu Watanabe
280323984b
in-addr-util: move IPV4_ADDRESS_FMT_STR/VAL macros from networkd-address.h
2021-05-12 10:30:45 +09:00
Yu Watanabe
ae7b68db97
in-addr-util: introduce in6_addr_to_string() or friends
2021-05-12 10:30:45 +09:00
Yu Watanabe
5c97932f09
network: use in6_addr_is_link_local() or friends
2021-05-12 10:30:45 +09:00
Yu Watanabe
7ad3e90932
network: rename routing_policy_rule_configure_internal() and make it take callback
2021-05-12 10:30:45 +09:00
Yu Watanabe
3eacccf493
network: make nexthop_configure() take callback
2021-05-12 10:30:45 +09:00
Yu Watanabe
7575e1f42d
network: make neighbor_configure() take callback
2021-05-12 10:30:45 +09:00
Yu Watanabe
0653649202
tree-wide: refuse too long strings earlier in specifier_printf()
...
We usually call specifier_printf() and then check the validity of
the result. In many cases, validity checkers, e.g. path_is_valid(),
refuse too long strings. This makes specifier_printf() refuse such
long results earlier.
Moreover, unit_full_string() and description field in sysuser now
refuse results longer than LONG_LINE_MAX. config_parse() already
refuses the line longer than LONG_LINE_MAX. Hence, it should be ok
to set the same value as the maximum length of the resolved string.
2021-05-12 10:26:07 +09:00
Yu Watanabe
678d6b4f92
dns-domain: use DNS_LABEL_MAX at one more place
2021-05-12 10:21:22 +09:00
Yu Watanabe
3d862ff066
creds-util: introduce CREDENTIAL_NAME_MAX
2021-05-12 10:20:47 +09:00
Yu Watanabe
ae3f4bae68
fd-util: introduce FDNAME_MAX
2021-05-12 10:19:19 +09:00
Yu Watanabe
6001df6594
gpt: introduce GPT_LAVEL_MAX
2021-05-12 10:16:36 +09:00
Yu Watanabe
f4767dc081
test: move test_specifier_printf() to test-specifier.c
2021-05-12 10:09:11 +09:00
Yu Watanabe
695c5fee6d
specifier: rename variable
2021-05-12 10:09:11 +09:00
Yu Watanabe
567097848c
specifier: use SD_ID128_STRING_MAX
2021-05-12 10:09:11 +09:00
Yu Watanabe
690ceca8dc
Merge pull request #19562 from keszybz/flag-manips
...
Fix flag manipulations in cryptsetup
2021-05-11 14:34:07 +09:00
Yu Watanabe
b35028ebaa
Merge pull request #19575 from poettering/hwdb-whitespace-fix-again
...
hwdb: remove trailing whitespace
2021-05-11 14:31:35 +09:00
Yu Watanabe
19cc6d5e54
tree-wide: fix typo
2021-05-09 14:36:19 +09:00
Yu Watanabe
6ac6549251
userdb: shorten code a bit
...
Hopefully fixes CID#1452937.
2021-05-09 14:34:23 +09:00
Yu Watanabe
fedd793cea
test: add one more assertion to make Coverty happy
...
Fixes CID#1452934.
2021-05-09 14:33:59 +09:00
Yu Watanabe
3d56acef7f
string-util: explicitly cast character to unsigned
...
This also adds comment why we cast to unsigned.
Follow-up for 7971f9030a .
Addresses the comment https://github.com/systemd/systemd/pull/19544#discussion_r628472794 .
2021-05-08 14:24:51 +02:00
Yu Watanabe
b8d6689a7f
resolve: check that bus is ready before emitting signal or property change
2021-05-08 15:12:31 +09:00
Yu Watanabe
933e95d716
timesync: check that bus is ready before emitting property change
2021-05-08 15:12:31 +09:00
Yu Watanabe
706875f165
network: check that bus is ready at one more place
2021-05-08 15:12:31 +09:00
Yu Watanabe
098d42b67e
local-addresses: wrap long comment
...
Follow-up for 54e6f97bc9 .
2021-05-08 15:12:19 +09:00
Yu Watanabe
7971f9030a
string-util: fix build error on aarch64
...
This fixes the following error:
```
In file included from ../src/basic/af-list.h:6,
from ../src/basic/af-list.c:7:
../src/basic/string-util.h: In function 'char_is_cc':
../src/basic/string-util.h:133:19: error: comparison is always true due to limited range of data type [-Werror=type-limits]
133 | return (p >= 0 && p < ' ') || p == 127;
| ^~
cc1: all warnings being treated as errors
```
Fixes #19543 .
2021-05-07 21:55:55 +02:00
Yu Watanabe
a83a7d1e9e
test: drop default ACL from $TESTDIR
...
This fixes an issue introduced by the commit 954c77c251 .
For some reasons, setting default ACL on $TESTDIR makes TEST-29-PORTABLE
fail. Let's drop the default ACL, and set ACL on saved results instead.
Fixes #19519 .
2021-05-06 11:28:00 +02:00
Yu Watanabe
853401a6bc
test: increase image size when static library or standalone binaries are installed
2021-05-06 11:28:00 +02:00
Yu Watanabe
3d396b2837
test: drop log_trace() in test-random-util
...
It provides almost no inoformation. Moreover, it massively increases
logs, and firefox cannot show the results of Ubuntu CIs due to this.
2021-05-06 12:46:31 +09:00
Yu Watanabe
d8c1422439
Merge pull request #19515 from keszybz/config-parser-crash-fix
...
Fix crashes in config parsing
2021-05-06 12:46:13 +09:00
Yu Watanabe
d6eaee6e74
Merge pull request #19514 from keszybz/return-UnitNameFlags-more
...
Return UnitNameFlags from unit_name_to_instance()
2021-05-06 12:46:00 +09:00
Yu Watanabe
5971630cf6
Merge pull request #19513 from takaswie/topic/ieee1394-hwdb-entries-for-video
...
hwdb: ieee1394-unit-function: add entries to obsolete existent udev rules for video function
2021-05-06 12:45:05 +09:00
Yu Watanabe
f0373df1a7
Merge pull request #19507 from nabijaczleweli/bootctlpsko-lite
...
bootctl: take --make-machine-id-directory=yes|no|auto and make/remove \$MACHINE_ID accordingly
2021-05-06 12:44:21 +09:00
Yu Watanabe
8fc1efa88f
hostnamectl: fix hyperlink in "Operating System" field
...
This fixes a bug introduced by 822be62fb2 .
Before this, if terminal width is not enough, the all subsequent lines
are included in the hyperlink.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1955475 .
2021-05-04 15:27:20 +02:00
Yu Watanabe
296c13dec4
tree-wide: fix typo
2021-05-04 15:03:04 +02:00
Yu Watanabe
7afc8abdf3
Merge pull request #19487 from mrc0mmand/test-all-services-in-TEST-01
...
test: don't mask "supporting" services in TEST-01-BASIC
2021-05-03 12:15:29 +09:00
Yu Watanabe
0c9cdcb9d4
Merge pull request #19476 from yuwata/network-can
...
network: several CAN device related updates
2021-05-01 15:03:22 +09:00
Yu Watanabe
bff97a251d
Merge pull request #18904 from yuwata/udev-watch
...
udev: several inotify watch fixups
2021-05-01 15:02:43 +09:00
Yu Watanabe
c068a17f6a
sd-bus: fix vtable named argument logic
...
Fixes #19468 .
2021-04-30 17:06:29 +01:00