summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-04-01 12:30:12 +0200
committerThomas Haller <thaller@redhat.com>2020-05-02 17:03:24 +0200
commit5b552d2946b65bec91f4c4473034130e0982e548 (patch)
treed970ff483770ef6d6a0de3e32a704360b4a13b60
parentd446c909858d188cba4f31ab0dbf240dd3fcaa20 (diff)
downloadNetworkManager-5b552d2946b65bec91f4c4473034130e0982e548.tar.gz
ifupdown: use _nm_utils_ascii_str_to_int64() for converting netmask to string
(cherry picked from commit 3930ef194ec37d51eb74aed6e7e2ac403539bbfd) (cherry picked from commit 1a80179c60ea02af9da1ce454afbdc3cae023426) (cherry picked from commit 1a54909bb4161341272c761759ac8c35fa87a46c)
-rw-r--r--src/settings/plugins/ifupdown/nms-ifupdown-parser.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/settings/plugins/ifupdown/nms-ifupdown-parser.c b/src/settings/plugins/ifupdown/nms-ifupdown-parser.c
index 239f641596..266ab578d7 100644
--- a/src/settings/plugins/ifupdown/nms-ifupdown-parser.c
+++ b/src/settings/plugins/ifupdown/nms-ifupdown-parser.c
@@ -582,9 +582,8 @@ update_ip6_setting_from_if_block (NMConnection *connection,
const char *nameserver_v;
const char *nameservers_v;
const char *search_v;
- int prefix_int = 128;
+ guint prefix_int;
- /* Address */
address_v = ifparser_getkey (block, "address");
if (!address_v) {
g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
@@ -592,12 +591,12 @@ update_ip6_setting_from_if_block (NMConnection *connection,
return FALSE;
}
- /* Prefix */
prefix_v = ifparser_getkey (block, "netmask");
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);
if (!addr)
return FALSE;
@@ -610,7 +609,6 @@ update_ip6_setting_from_if_block (NMConnection *connection,
}
nm_ip_address_unref (addr);
- /* gateway */
gateway_v = ifparser_getkey (block, "gateway");
if (gateway_v) {
if (!nm_utils_ipaddr_valid (AF_INET6, gateway_v)) {
@@ -631,7 +629,6 @@ update_ip6_setting_from_if_block (NMConnection *connection,
if (!nm_setting_ip_config_get_num_dns (s_ip6))
_LOGI ("No dns-nameserver configured in /etc/network/interfaces");
- /* DNS searches */
search_v = ifparser_getkey (block, "dns-search");
if (search_v) {
gs_free const char **list = NULL;