From d21b21eba152152b067501673098a5bea82ae5c7 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 26 Apr 2017 20:26:07 +0200 Subject: [PATCH] ifcfg-rh: preserve the archaic NETMASK key py-kickstart writes this out and there apparently are users using this. Let them have one less problem. Co-Authored-By: Thomas Haller https://bugzilla.redhat.com/show_bug.cgi?id=1445414 (cherry picked from commit dbe0659ba419a77ad5ff2340bfc93c71a1bec61a) --- src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index e93bfbe0aa..7959f45c4c 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -2127,6 +2127,7 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) */ for (i = n = 0; i < num; i++) { NMIPAddress *addr; + guint prefix; addr = nm_setting_ip_config_get_address (s_ip4, i); @@ -2157,11 +2158,19 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) svSetValueStr (ifcfg, addr_key, nm_ip_address_get_address (addr)); - tmp = g_strdup_printf ("%u", nm_ip_address_get_prefix (addr)); + prefix = nm_ip_address_get_prefix (addr); + tmp = g_strdup_printf ("%u", prefix); svSetValueStr (ifcfg, prefix_key, tmp); g_free (tmp); - svUnsetValue (ifcfg, netmask_key); + /* If the legacy "NETMASK" is present, keep it. */ + if (svGetValue (ifcfg, netmask_key, &tmp)) { + char buf[INET_ADDRSTRLEN]; + + g_free (tmp); + svSetValueStr (ifcfg, netmask_key, nm_utils_inet4_ntop (prefix, buf)); + } + svUnsetValue (ifcfg, gw_key); n++; }