Zbigniew Jędrzejewski-Szmek
90e74a66e6
tree-wide: define iterator inside of the macro
2020-09-08 12:14:05 +02:00
Yu Watanabe
5c72a6d5d3
network: logs about unknown key
2020-09-04 08:48:08 +09:00
Yu Watanabe
f405179d65
network: honor already specified family when parsing from= or to= in serialized rule
2020-09-04 08:48:08 +09:00
Yu Watanabe
9d6282d120
network: do not reallocate buffer
2020-09-04 08:48:04 +09:00
Yu Watanabe
d0ac05613b
network: serialize InvertRule= in [RoutingPolicyRule]
2020-09-04 08:47:22 +09:00
Yu Watanabe
1680b11df4
network: add whitespace after family= and priority= in serialized routing policy rule
...
This also makes priority= serialized only when its value is non-zero.
2020-09-04 08:44:19 +09:00
Yu Watanabe
3c94b20dd3
network: downgrade error level when the error is ignored
2020-09-04 08:44:14 +09:00
Yu Watanabe
7e60a37d04
network: move routing_policy_rule_read_full_file()
2020-09-04 08:42:01 +09:00
Yu Watanabe
8eec0b9da5
network: set key destructor in several hash_ops
2020-07-29 02:05:05 +09:00
Yu Watanabe
f281fc1e95
tree-wide: use siphash24_compress_string() where it is applicable
2020-07-22 19:55:14 +09:00
Yu Watanabe
d96edb2c6e
network: downgrade log level in conf parsers
2020-07-17 00:40:09 +09:00
Zbigniew Jędrzejewski-Szmek
0da425df65
networkd: use capitalized "IP" and "TOS" in messages
2020-07-07 12:06:26 +02:00
Zbigniew Jędrzejewski-Szmek
de7fef4b6e
tree-wide: use set_ensure_put()
...
Patch contains a coccinelle script, but it only works in some cases. Many
parts were converted by hand.
Note: I did not fix errors in return value handing. This will be done separate
to keep the patch comprehensible. No functional change is intended in this
patch.
2020-06-22 16:32:37 +02:00
Naïm Favier
53e1ba280f
network: add SuppressPrefixLength option to RoutingPolicyRule ( #14736 )
...
Closes #14724 .
2020-02-03 08:25:48 +09:00
Yu Watanabe
ea471a4695
network: support UID based routing policy
...
Closes #14666 .
2020-02-02 22:43:38 +09:00
Yu Watanabe
98b0299479
network: append INTERFACE= attributes for logs corresponds to a netif
2020-01-07 22:20:43 +09:00
Yu Watanabe
5ecb131d94
network: include NLMSGERR_ATTR_MSG attribute in error message
2019-11-30 16:14:02 +09:00
Zbigniew Jędrzejewski-Szmek
314ed4f994
networkd: unbreak routing_policy_rule_compare_func()
...
!r is the same r == 0, so this was short-circuiting the comparison when
streq(a->iff, b->iff) or streq(a->off, b->off). Before the parent commit which
moved those comparisons to the end, this was short-circuiting quite a bit
of the comparison function.
2019-09-17 19:27:58 +02:00
Zbigniew Jędrzejewski-Szmek
67e05dd8cd
networkd: use same order in _hash_func() and _compare_func()
...
This makes it easier to see that the same data is handled in both cases.
No functional change.
2019-09-17 19:11:50 +02:00
Yu Watanabe
1520151268
network: add more debug messages
2019-09-15 22:33:11 +09:00
Zbigniew Jędrzejewski-Szmek
57ad760746
network: drop all checks of ipv6_disabled sysctl
...
*We* control the sysctl setting. If the user configured IPv6, then we apply the
settings, and just make sure that at some point during the configuration the
sysctl is disabled (i.e. ipv6 enabled) if we have IPv6 configured.
Replaces #13283 .
2019-08-27 15:31:48 +02:00
Yu Watanabe
f6c6ff97f5
network: add RoutingPolicyRule.Family= setting
...
Closes #13233 .
2019-08-16 22:02:17 +09:00
Yu Watanabe
01fc8e4f43
network: split out copying logic from routing_policy_rule_add_internal()
2019-08-16 22:02:17 +09:00
Yu Watanabe
ec863cdc20
network: add missing entry in serialization/deserialization
2019-08-16 22:01:17 +09:00
Yu Watanabe
43e08c78c7
network: serialize/deserialize address family
2019-08-16 22:01:17 +09:00
Yu Watanabe
0aabccc87d
network: refuse the case To= and From= are in different address family
2019-08-16 22:01:17 +09:00
Yu Watanabe
75a302b561
network: fix potential memleaks related to set_put()
2019-08-11 08:57:01 +09:00
Yu Watanabe
4ff296b024
network: make link enter failed state when a configuration fails
...
Some path of configuring address, route or etc., go to failed state, but
some do not. E.g., failure in address configuration which is provided by
DHCPv4 goes to failed state, but static address does not.
This is just for consistency. This should not change anything if
everything is fine.
This also voidify manager_rtnl_process_address().
2019-07-15 21:52:06 +09:00
Yu Watanabe
b80a511b1b
network: add missing entries in routing_policy_rule_{hash,compare}_func()
...
This also makes routing_policy_rule_get() or friends take
a RoutingPolicyRule object as an input.
2019-06-19 21:10:07 +09:00
Yu Watanabe
34715d8b03
network: make routing_policy_rule_get() require Manager
2019-06-18 13:10:23 +09:00
Yu Watanabe
bafa964144
network: read link specific sysctl value
...
This introduce link_sysctl_ipv6_enabled() and replaces
manager_sysctl_ipv6_enabled() with it.
2019-06-15 14:56:42 +02:00
Yu Watanabe
7ef7e5509b
network: ignore requested ipv6 routing policy rule when ipv6 is disabled by sysctl
2019-06-12 11:03:37 +09:00
Yu Watanabe
9ee92e7ed8
network: check stored object is euivalent to what we want to remove
...
When object A is stored in Manager::rules and B is in ::rules_foreign,
and compare function for the object cannot distinguish them,
then freeing A causes B to be removed from rules_foreign or vice versa.
Hopefully fixes #12731 .
2019-06-06 00:45:46 +09:00
Yu Watanabe
9f08a578a8
network: remove unused argument in routing_policy_rule_configure()
2019-06-04 16:23:18 +09:00
Yu Watanabe
d26267ddf1
network: fix double free on error path
2019-06-04 16:23:18 +09:00
Yu Watanabe
fcbf4cb727
network: drop sections contain invalid settings in network_verify()
...
If e.g., an [Address] section has an invalid setting, then
previously assigned settings in the section is freed, and
only later settings are stored. That may cause partially broken
section stored in Network object.
This makes if an invalid setting is found, then set 'invalid' flag
instead of freeing it. And invalid sections are dropped later by
network_verify().
2019-03-13 11:59:18 +09:00
Yu Watanabe
031fb59a98
network: do not remove rule when it is requested by existing links
...
Otherwise, the first link once removes all saved rules in the foreign
rule database, and the second or later links create again...
2019-02-27 10:59:10 +09:00
Yu Watanabe
92cd00b974
network: remove routing policy rule from foreign rule database when it is removed
...
Previously, When the first link configures rules, it removes all saved
rules, which were configured by networkd previously, in the foreign rule
database, but the rules themselves are still in the database.
Thus, when the second or later link configures rules, it errnously
treats the rules already exist.
This is the root of issue #11280 .
This removes rules from the foreign database when they are removed.
Fixes #11280 .
2019-02-27 10:58:09 +09:00
Yu Watanabe
434094864c
network: use netlink_message_append_{in_addr,sockaddr}_union()
2019-02-11 01:28:09 +09:00
Yu Watanabe
d40b01e44b
network: in_addr_is_null() may return negative errno
...
So, do not silently cast the returned value to boolean.
Exception is the case that family is trivially AF_INET or AF_INET6.
2019-02-11 01:28:09 +09:00
Susant Sahani
8b220643b1
networkd: RPDB rule - add support to configure inverted rule.
...
Closes #10706
2018-12-06 10:42:36 +05:30
Lennart Poettering
76b31bbb24
Merge pull request #10920 from yuwata/hashmap-destructor
...
hashmap: make hashmap_free() call destructors of key or value
2018-12-03 17:59:44 +01:00
Lennart Poettering
a20f73221a
Merge pull request #10976 from yuwata/typesafe-netlink-call
...
netlink: introduce typesafe netlink functions
2018-12-03 17:55:00 +01:00
Yu Watanabe
7934dede41
network: drop unnecessary buffers
2018-12-03 12:15:26 +01:00
Yu Watanabe
7a08d314f2
tree-wide: make hash_ops typesafe
2018-12-02 07:53:27 +01:00
Yu Watanabe
302a796f5a
network: use typesafe netlink_call_async() macro where applicable
2018-12-02 06:29:32 +01:00
Yu Watanabe
29889b4d24
network: set default callbacks for routing_policy_rule_configure() and routing_policy_rule_remove()
2018-12-02 06:23:45 +01:00
Yu Watanabe
3a269dcf51
network: make IPProtocol= also accept IP protocol number
2018-12-02 06:13:47 +01:00
Yu Watanabe
97f9df9e30
network: rename Protocol= in [RoutingPolicyRule] to IPProtocol=
2018-12-02 06:13:47 +01:00
Yu Watanabe
da96ad5ae2
util: rename socket_protocol_{from,to}_name() to ip_protocol_{from,to}_name()
2018-12-02 05:48:27 +01:00