X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-network%2Fnetwork-internal.c;h=6f16050cdc1097d34ee1a447f8cca9cffeb4f5f4;hp=7f744215cc14569f7c238fd37c27efe6c8ae79d8;hb=a4705396adbf1a8a3e52ed133d9b1f12cb13e77e;hpb=a2a5291b3f5ab6ed4c92f51d0fd10a03047380d8 diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c index 7f744215c..6f16050cd 100644 --- a/src/libsystemd-network/network-internal.c +++ b/src/libsystemd-network/network-internal.c @@ -27,28 +27,27 @@ #include "strv.h" #include "siphash24.h" #include "libudev-private.h" -#include "network-internal.h" #include "dhcp-lease-internal.h" #include "log.h" #include "utf8.h" #include "util.h" #include "conf-parser.h" #include "condition.h" +#include "network-internal.h" const char *net_get_name(struct udev_device *device) { - const char *name = NULL, *field = NULL; + const char *name, *field; assert(device); /* fetch some persistent data unique (on this machine) to this device */ - FOREACH_STRING(field, "ID_NET_NAME_ONBOARD", "ID_NET_NAME_SLOT", - "ID_NET_NAME_PATH", "ID_NET_NAME_MAC") { + FOREACH_STRING(field, "ID_NET_NAME_ONBOARD", "ID_NET_NAME_SLOT", "ID_NET_NAME_PATH", "ID_NET_NAME_MAC") { name = udev_device_get_property_value(device, field); if (name) - break; + return name; } - return name; + return NULL; } #define HASH_KEY SD_ID128_MAKE(d3,1e,48,fa,90,fe,4b,4c,9d,af,d5,d7,a1,b1,2e,8a) @@ -99,16 +98,16 @@ bool net_match_config(const struct ether_addr *match_mac, const char *dev_type, const char *dev_name) { - if (match_host && !condition_test_host(match_host)) + if (match_host && !condition_test(match_host)) return 0; - if (match_virt && !condition_test_virtualization(match_virt)) + if (match_virt && !condition_test(match_virt)) return 0; - if (match_kernel && !condition_test_kernel_command_line(match_kernel)) + if (match_kernel && !condition_test(match_kernel)) return 0; - if (match_arch && !condition_test_architecture(match_arch)) + if (match_arch && !condition_test(match_arch)) return 0; if (match_mac && (!dev_mac || memcmp(match_mac, dev_mac, ETH_ALEN))) @@ -133,12 +132,6 @@ bool net_match_config(const struct ether_addr *match_mac, return 1; } -unsigned net_netmask_to_prefixlen(const struct in_addr *addr) { - assert(addr); - - return 32 - u32ctz(be32toh(addr->s_addr)); -} - int config_parse_net_condition(const char *unit, const char *filename, unsigned line, @@ -206,7 +199,6 @@ int config_parse_ifname(const char *unit, if (!ascii_is_valid(n) || strlen(n) >= IFNAMSIZ) { log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Interface name is not ASCII clean or is too long, ignoring assignment: %s", rvalue); - free(n); return 0; } @@ -304,41 +296,6 @@ int config_parse_hwaddr(const char *unit, return 0; } -int net_parse_inaddr(const char *address, int *family, void *dst) { - int r; - - assert(address); - assert(family); - assert(dst); - - /* IPv4 */ - r = inet_pton(AF_INET, address, dst); - if (r > 0) { - /* succsefully parsed IPv4 address */ - if (*family == AF_UNSPEC) - *family = AF_INET; - else if (*family != AF_INET) - return -EINVAL; - } else if (r < 0) - return -errno; - else { - /* not an IPv4 address, so let's try IPv6 */ - r = inet_pton(AF_INET6, address, dst); - if (r > 0) { - /* successfully parsed IPv6 address */ - if (*family == AF_UNSPEC) - *family = AF_INET6; - else if (*family != AF_INET6) - return -EINVAL; - } else if (r < 0) - return -errno; - else - return -EINVAL; - } - - return 0; -} - void serialize_in_addrs(FILE *f, const struct in_addr *addresses, size_t size) { unsigned i;