ifupdown: use _nm_utils_ascii_str_to_int64() for converting netmask to string

This commit is contained in:
Thomas Haller
2020-04-01 12:30:12 +02:00
parent 9cbf4c2825
commit 3930ef194e

View File

@@ -565,9 +565,8 @@ update_ip6_setting_from_if_block (NMConnection *connection,
const char *nameserver_v; const char *nameserver_v;
const char *nameservers_v; const char *nameservers_v;
const char *search_v; const char *search_v;
int prefix_int = 128; guint prefix_int;
/* Address */
address_v = ifparser_getkey (block, "address"); address_v = ifparser_getkey (block, "address");
if (!address_v) { if (!address_v) {
g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION, g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
@@ -575,12 +574,12 @@ update_ip6_setting_from_if_block (NMConnection *connection,
return FALSE; return FALSE;
} }
/* Prefix */
prefix_v = ifparser_getkey (block, "netmask"); prefix_v = ifparser_getkey (block, "netmask");
if (prefix_v) if (prefix_v)
prefix_int = g_ascii_strtoll (prefix_v, NULL, 10); prefix_int = _nm_utils_ascii_str_to_int64 (prefix_v, 10, 0, 128, G_MAXINT);
else
prefix_int = 128;
/* Add the new address to the setting */
addr = nm_ip_address_new (AF_INET6, address_v, prefix_int, error); addr = nm_ip_address_new (AF_INET6, address_v, prefix_int, error);
if (!addr) if (!addr)
return FALSE; return FALSE;
@@ -593,7 +592,6 @@ update_ip6_setting_from_if_block (NMConnection *connection,
} }
nm_ip_address_unref (addr); nm_ip_address_unref (addr);
/* gateway */
gateway_v = ifparser_getkey (block, "gateway"); gateway_v = ifparser_getkey (block, "gateway");
if (gateway_v) { if (gateway_v) {
if (!nm_utils_ipaddr_is_valid (AF_INET6, gateway_v)) { if (!nm_utils_ipaddr_is_valid (AF_INET6, gateway_v)) {
@@ -614,7 +612,6 @@ update_ip6_setting_from_if_block (NMConnection *connection,
if (!nm_setting_ip_config_get_num_dns (s_ip6)) if (!nm_setting_ip_config_get_num_dns (s_ip6))
_LOGI ("No dns-nameserver configured in /etc/network/interfaces"); _LOGI ("No dns-nameserver configured in /etc/network/interfaces");
/* DNS searches */
search_v = ifparser_getkey (block, "dns-search"); search_v = ifparser_getkey (block, "dns-search");
if (search_v) { if (search_v) {
gs_free const char **list = NULL; gs_free const char **list = NULL;