diff options
-rw-r--r-- | src/network/networkd-address.c | 11 | ||||
-rw-r--r-- | src/network/test-networkd-conf.c | 4 | ||||
-rw-r--r-- | test/test-network/conf/25-dhcp-client-ipv4-only.network | 2 |
3 files changed, 8 insertions, 9 deletions
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index c691a5e057..b8b9dc153b 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -1683,12 +1683,11 @@ int config_parse_address( /* Address=address/prefixlen */ r = in_addr_prefix_from_string_auto_internal(rvalue, PREFIXLEN_REFUSE, &f, &buffer, &prefixlen); if (r == -ENOANO) { - log_syntax(unit, LOG_WARNING, filename, line, r, - "An address '%s' is specified without prefix length. " - "The behavior of parsing addresses without prefix length will be changed in the future release. " - "Please specify prefix length explicitly.", rvalue); - - r = in_addr_prefix_from_string_auto_internal(rvalue, PREFIXLEN_LEGACY, &f, &buffer, &prefixlen); + r = in_addr_prefix_from_string_auto(rvalue, &f, &buffer, &prefixlen); + if (r >= 0) + log_syntax(unit, LOG_WARNING, filename, line, r, + "An address '%s' is specified without prefix length. Assuming the prefix length is %u." + "Please specify the prefix length explicitly.", rvalue, prefixlen); } if (r < 0) { log_syntax(unit, LOG_WARNING, filename, line, r, "Invalid address '%s', ignoring assignment: %m", rvalue); diff --git a/src/network/test-networkd-conf.c b/src/network/test-networkd-conf.c index 2e4ca0cb5f..f6f068706a 100644 --- a/src/network/test-networkd-conf.c +++ b/src/network/test-networkd-conf.c @@ -197,7 +197,7 @@ TEST(config_parse_address) { test_config_parse_address_one("", AF_INET, 0, NULL, 0); test_config_parse_address_one("/", AF_INET, 0, NULL, 0); test_config_parse_address_one("/8", AF_INET, 0, NULL, 0); - test_config_parse_address_one("1.2.3.4", AF_INET, 1, &(union in_addr_union) { .in = (struct in_addr) { .s_addr = htobe32(0x01020304) } }, 8); + test_config_parse_address_one("1.2.3.4", AF_INET, 1, &(union in_addr_union) { .in = (struct in_addr) { .s_addr = htobe32(0x01020304) } }, 32); test_config_parse_address_one("1.2.3.4/0", AF_INET, 1, &(union in_addr_union) { .in = (struct in_addr) { .s_addr = htobe32(0x01020304) } }, 0); test_config_parse_address_one("1.2.3.4/1", AF_INET, 1, &(union in_addr_union) { .in = (struct in_addr) { .s_addr = htobe32(0x01020304) } }, 1); test_config_parse_address_one("1.2.3.4/2", AF_INET, 1, &(union in_addr_union) { .in = (struct in_addr) { .s_addr = htobe32(0x01020304) } }, 2); @@ -208,7 +208,7 @@ TEST(config_parse_address) { test_config_parse_address_one("", AF_INET6, 0, NULL, 0); test_config_parse_address_one("/", AF_INET6, 0, NULL, 0); test_config_parse_address_one("/8", AF_INET6, 0, NULL, 0); - test_config_parse_address_one("::1", AF_INET6, 1, &(union in_addr_union) { .in6 = IN6ADDR_LOOPBACK_INIT }, 0); + test_config_parse_address_one("::1", AF_INET6, 1, &(union in_addr_union) { .in6 = IN6ADDR_LOOPBACK_INIT }, 128); test_config_parse_address_one("::1/0", AF_INET6, 1, &(union in_addr_union) { .in6 = IN6ADDR_LOOPBACK_INIT }, 0); test_config_parse_address_one("::1/1", AF_INET6, 1, &(union in_addr_union) { .in6 = IN6ADDR_LOOPBACK_INIT }, 1); test_config_parse_address_one("::1/2", AF_INET6, 1, &(union in_addr_union) { .in6 = IN6ADDR_LOOPBACK_INIT }, 2); diff --git a/test/test-network/conf/25-dhcp-client-ipv4-only.network b/test/test-network/conf/25-dhcp-client-ipv4-only.network index bd8843b177..80d6bdc1d4 100644 --- a/test/test-network/conf/25-dhcp-client-ipv4-only.network +++ b/test/test-network/conf/25-dhcp-client-ipv4-only.network @@ -5,7 +5,7 @@ Name=veth99 [Network] DHCP=ipv4 IPv6AcceptRA=no -Address=192.168.5.250 +Address=192.168.5.250/24 [DHCPv4] UseDomains=yes |