From 40eb1b0ae8bc63844be608814147f561c803d497 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 9 Sep 2020 23:05:19 +0200 Subject: [PATCH 1/3] tree-wide: prefer AF_xyz over PF_xyz This really doesn't matter given that AF_xyz and PF_xyz are equivalent in all ways, but we almost always use AF_xyz, hence stick to it universally and convert the remaining PF_ to AF_ --- src/libsystemd-network/arp-util.c | 2 +- src/libsystemd-network/lldp-network.c | 2 +- src/libsystemd/sd-netlink/rtnl-message.c | 2 +- src/libsystemd/sd-netlink/test-netlink.c | 2 +- src/libsystemd/sd-resolve/sd-resolve.c | 4 ++-- src/libsystemd/sd-resolve/test-resolve.c | 2 +- src/network/netdev/bridge.c | 2 +- src/network/networkd-brvlan.c | 2 +- src/network/networkd-fdb.c | 2 +- src/network/networkd-lldp-tx.c | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/libsystemd-network/arp-util.c b/src/libsystemd-network/arp-util.c index ac601a4efa..4fbf2bbc96 100644 --- a/src/libsystemd-network/arp-util.c +++ b/src/libsystemd-network/arp-util.c @@ -76,7 +76,7 @@ int arp_network_bind_raw_socket(int ifindex, be32_t address, const struct ether_ assert(ifindex > 0); - s = socket(PF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0); + s = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0); if (s < 0) return -errno; diff --git a/src/libsystemd-network/lldp-network.c b/src/libsystemd-network/lldp-network.c index 53e329734b..de7e2bf847 100644 --- a/src/libsystemd-network/lldp-network.c +++ b/src/libsystemd-network/lldp-network.c @@ -47,7 +47,7 @@ int lldp_network_bind_raw_socket(int ifindex) { assert(ifindex > 0); - fd = socket(PF_PACKET, SOCK_RAW|SOCK_CLOEXEC|SOCK_NONBLOCK, + fd = socket(AF_PACKET, SOCK_RAW|SOCK_CLOEXEC|SOCK_NONBLOCK, htobe16(ETHERTYPE_LLDP)); if (fd < 0) return -errno; diff --git a/src/libsystemd/sd-netlink/rtnl-message.c b/src/libsystemd/sd-netlink/rtnl-message.c index 7689bf6621..38563e5f34 100644 --- a/src/libsystemd/sd-netlink/rtnl-message.c +++ b/src/libsystemd/sd-netlink/rtnl-message.c @@ -436,7 +436,7 @@ int sd_rtnl_message_new_neigh(sd_netlink *rtnl, sd_netlink_message **ret, uint16 int r; assert_return(rtnl_message_type_is_neigh(nlmsg_type), -EINVAL); - assert_return(IN_SET(ndm_family, AF_UNSPEC, AF_INET, AF_INET6, PF_BRIDGE), -EINVAL); + assert_return(IN_SET(ndm_family, AF_UNSPEC, AF_INET, AF_INET6, AF_BRIDGE), -EINVAL); assert_return(ret, -EINVAL); r = message_new(rtnl, ret, nlmsg_type); diff --git a/src/libsystemd/sd-netlink/test-netlink.c b/src/libsystemd/sd-netlink/test-netlink.c index 9598ad8e02..f9d79bc0d6 100644 --- a/src/libsystemd/sd-netlink/test-netlink.c +++ b/src/libsystemd/sd-netlink/test-netlink.c @@ -21,7 +21,7 @@ static void test_message_link_bridge(sd_netlink *rtnl) { uint32_t cost; assert_se(sd_rtnl_message_new_link(rtnl, &message, RTM_NEWLINK, 1) >= 0); - assert_se(sd_rtnl_message_link_set_family(message, PF_BRIDGE) >= 0); + assert_se(sd_rtnl_message_link_set_family(message, AF_BRIDGE) >= 0); assert_se(sd_netlink_message_open_container(message, IFLA_PROTINFO) >= 0); assert_se(sd_netlink_message_append_u32(message, IFLA_BRPORT_COST, 10) >= 0); assert_se(sd_netlink_message_close_container(message) >= 0); diff --git a/src/libsystemd/sd-resolve/sd-resolve.c b/src/libsystemd/sd-resolve/sd-resolve.c index 9d4057f7cb..1dc3203813 100644 --- a/src/libsystemd/sd-resolve/sd-resolve.c +++ b/src/libsystemd/sd-resolve/sd-resolve.c @@ -496,10 +496,10 @@ _public_ int sd_resolve_new(sd_resolve **ret) { for (i = 0; i < _FD_MAX; i++) resolve->fds[i] = -1; - if (socketpair(PF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + REQUEST_RECV_FD) < 0) + if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + REQUEST_RECV_FD) < 0) return -errno; - if (socketpair(PF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + RESPONSE_RECV_FD) < 0) + if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, resolve->fds + RESPONSE_RECV_FD) < 0) return -errno; for (i = 0; i < _FD_MAX; i++) diff --git a/src/libsystemd/sd-resolve/test-resolve.c b/src/libsystemd/sd-resolve/test-resolve.c index d2798e7042..8377c66ae3 100644 --- a/src/libsystemd/sd-resolve/test-resolve.c +++ b/src/libsystemd/sd-resolve/test-resolve.c @@ -56,7 +56,7 @@ int main(int argc, char *argv[]) { int r; struct addrinfo hints = { - .ai_family = PF_UNSPEC, + .ai_family = AF_UNSPEC, .ai_socktype = SOCK_STREAM, .ai_flags = AI_CANONNAME }; diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c index 70240661e8..45d97ac15e 100644 --- a/src/network/netdev/bridge.c +++ b/src/network/netdev/bridge.c @@ -192,7 +192,7 @@ int link_set_bridge(Link *link) { if (r < 0) return log_link_error_errno(link, r, "Could not allocate RTM_SETLINK message: %m"); - r = sd_rtnl_message_link_set_family(req, PF_BRIDGE); + r = sd_rtnl_message_link_set_family(req, AF_BRIDGE); if (r < 0) return log_link_error_errno(link, r, "Could not set message family: %m"); diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c index 3fc252d211..bbe01037d1 100644 --- a/src/network/networkd-brvlan.c +++ b/src/network/networkd-brvlan.c @@ -169,7 +169,7 @@ int br_vlan_configure(Link *link, uint16_t pvid, uint32_t *br_vid_bitmap, uint32 if (r < 0) return log_link_error_errno(link, r, "Could not allocate RTM_SETLINK message: %m"); - r = sd_rtnl_message_link_set_family(req, PF_BRIDGE); + r = sd_rtnl_message_link_set_family(req, AF_BRIDGE); if (r < 0) return log_link_error_errno(link, r, "Could not set message family: %m"); diff --git a/src/network/networkd-fdb.c b/src/network/networkd-fdb.c index 833d13cf00..4fb0f632df 100644 --- a/src/network/networkd-fdb.c +++ b/src/network/networkd-fdb.c @@ -124,7 +124,7 @@ int fdb_entry_configure(Link *link, FdbEntry *fdb_entry) { assert(fdb_entry); /* create new RTM message */ - r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_NEWNEIGH, link->ifindex, PF_BRIDGE); + r = sd_rtnl_message_new_neigh(link->manager->rtnl, &req, RTM_NEWNEIGH, link->ifindex, AF_BRIDGE); if (r < 0) return log_link_error_errno(link, r, "Could not create RTM_NEWNEIGH message: %m"); diff --git a/src/network/networkd-lldp-tx.c b/src/network/networkd-lldp-tx.c index 16147b9c7a..2be7c27e18 100644 --- a/src/network/networkd-lldp-tx.c +++ b/src/network/networkd-lldp-tx.c @@ -267,7 +267,7 @@ static int lldp_send_packet( memcpy(sa.ll.sll_addr, address, ETH_ALEN); - fd = socket(PF_PACKET, SOCK_RAW|SOCK_CLOEXEC, IPPROTO_RAW); + fd = socket(AF_PACKET, SOCK_RAW|SOCK_CLOEXEC, IPPROTO_RAW); if (fd < 0) return -errno; From e5f1b999eb51681e895ad77281a6862478641845 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 9 Sep 2020 23:06:40 +0200 Subject: [PATCH 2/3] network: don't fail on various config parse errors We typically don't fail on config parse errors (to maximize compat), let's not do this in these cases either. --- src/network/netdev/macsec.c | 10 ++++++---- src/network/netdev/wireguard.c | 12 ++++++++---- src/network/networkd-fdb.c | 10 ++++++---- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c index 6fc316b3a0..2776605b1c 100644 --- a/src/network/netdev/macsec.c +++ b/src/network/netdev/macsec.c @@ -851,10 +851,12 @@ int config_parse_macsec_key_id( log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to parse KeyId \"%s\": %m", rvalue); return 0; } - if (l > MACSEC_KEYID_LEN) - return log_syntax(unit, LOG_WARNING, filename, line, 0, - "Specified KeyId is larger then the allowed maximum (%zu > %u), ignoring: %s", - l, MACSEC_KEYID_LEN, rvalue); + if (l > MACSEC_KEYID_LEN) { + log_syntax(unit, LOG_WARNING, filename, line, 0, + "Specified KeyId is larger then the allowed maximum (%zu > %u), ignoring: %s", + l, MACSEC_KEYID_LEN, rvalue); + return 0; + } dest = a ? a->sa.key_id : b->sa.key_id; memcpy_safe(dest, p, l); diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c index d15ab845ff..f833cfb61a 100644 --- a/src/network/netdev/wireguard.c +++ b/src/network/netdev/wireguard.c @@ -492,13 +492,17 @@ static int wireguard_decode_key_and_warn( (void) warn_file_is_world_accessible(filename, NULL, unit, line); r = unbase64mem_full(rvalue, strlen(rvalue), true, &key, &len); - if (r < 0) - return log_syntax(unit, LOG_WARNING, filename, line, r, + if (r < 0) { + log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to decode wireguard key provided by %s=, ignoring assignment: %m", lvalue); - if (len != WG_KEY_LEN) - return log_syntax(unit, LOG_WARNING, filename, line, SYNTHETIC_ERRNO(EINVAL), + return 0; + } + if (len != WG_KEY_LEN) { + log_syntax(unit, LOG_WARNING, filename, line, 0, "Wireguard key provided by %s= has invalid length (%zu bytes), ignoring assignment.", lvalue, len); + return 0; + } memcpy(ret, key, WG_KEY_LEN); return 0; diff --git a/src/network/networkd-fdb.c b/src/network/networkd-fdb.c index 4fb0f632df..628c3988ac 100644 --- a/src/network/networkd-fdb.c +++ b/src/network/networkd-fdb.c @@ -292,10 +292,12 @@ int config_parse_fdb_destination( return log_oom(); r = in_addr_from_string_auto(rvalue, &fdb_entry->family, &fdb_entry->destination_addr); - if (r < 0) - return log_syntax(unit, LOG_WARNING, filename, line, r, - "FDB destination IP address is invalid, ignoring assignment: %s", - rvalue); + if (r < 0) { + log_syntax(unit, LOG_WARNING, filename, line, r, + "FDB destination IP address is invalid, ignoring assignment: %s", + rvalue); + return 0; + } fdb_entry = NULL; From d8ea7f838b1199d240d522ee3ce05d1c263b7ad4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 9 Sep 2020 23:41:49 +0200 Subject: [PATCH 3/3] ethtool-util: don't pass error value that isn't used to log_syntax --- src/shared/ethtool-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c index 3bb12f9225..14e91e3e4d 100644 --- a/src/shared/ethtool-util.c +++ b/src/shared/ethtool-util.c @@ -943,7 +943,7 @@ int config_parse_channel(const char *unit, } if (k < 1) { - log_syntax(unit, LOG_ERR, filename, line, -EINVAL, "Invalid %s value, ignoring: %s", lvalue, rvalue); + log_syntax(unit, LOG_ERR, filename, line, 0, "Invalid %s value, ignoring: %s", lvalue, rvalue); return 0; }