ifcfg-rh: preserve the archaic BOOTPROTO=static form

py-kickstart writes this out. Okay -- we don't care on read and it makes
sense when there actually are addresses.

https://bugzilla.redhat.com/show_bug.cgi?id=1445414
(cherry picked from commit aa50dfc236b3806c6d7161cdea450655a1268f0d)
This commit is contained in:
Lubomir Rintel
2017-04-26 19:53:37 +02:00
parent 8d2ceac897
commit 40b39844fa

View File

@@ -2096,11 +2096,17 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
return TRUE;
}
num = nm_setting_ip_config_get_num_addresses (s_ip4);
if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_AUTO))
svSetValueStr (ifcfg, "BOOTPROTO", "dhcp");
else if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_MANUAL))
svSetValueStr (ifcfg, "BOOTPROTO", "none");
else if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL))
else if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_MANUAL)) {
/* Preserve the archaic form of "static" if there actually
* is static configuration. */
if (g_strcmp0 (svGetValue (ifcfg, "BOOTPROTO", &tmp), "static") || !num)
svSetValueStr (ifcfg, "BOOTPROTO", "none");
g_free (tmp);
} else if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL))
svSetValueStr (ifcfg, "BOOTPROTO", "autoip");
else if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_SHARED))
svSetValueStr (ifcfg, "BOOTPROTO", "shared");
@@ -2119,7 +2125,6 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
/* Write out IPADDR<n>, PREFIX<n>, GATEWAY<n> for current IP addresses
* without labels. Unset obsolete NETMASK<n>.
*/
num = nm_setting_ip_config_get_num_addresses (s_ip4);
for (i = n = 0; i < num; i++) {
NMIPAddress *addr;