From b67983c3873e943bd1969b7e4908575682d044da Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 22 Nov 2019 11:33:38 +0100 Subject: [PATCH] ifcfg: various cleanup in ifcfg writer svUnsetValue (ifcfg, KEY); if (condition) svSetValue* (ifcfg, KEY, ...); is not good. It requires first clearing the value, before setting it again. Various cleanup to fix such uses. (cherry picked from commit 5028206ec410760c46cc6ac411a6b0c2fb2405a6) --- .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 39 +++++++++---------- 1 file changed, 18 insertions(+), 21 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 03a533108b..809d3769f9 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -436,35 +436,33 @@ write_8021x_setting (NMConnection *connection, "IEEE_8021X_SYSTEM_CA_CERTS", nm_setting_802_1x_get_system_ca_certs (s_8021x)); - /* PEAP version */ value = nm_setting_802_1x_get_phase1_peapver (s_8021x); - svUnsetValue (ifcfg, "IEEE_8021X_PEAP_VERSION"); - if (value && (!strcmp (value, "0") || !strcmp (value, "1"))) + if (NM_IN_STRSET (value, "0", "1")) svSetValueStr (ifcfg, "IEEE_8021X_PEAP_VERSION", value); + else + svUnsetValue (ifcfg, "IEEE_8021X_PEAP_VERSION"); - /* Force new PEAP label */ - value = nm_setting_802_1x_get_phase1_peaplabel (s_8021x); - svUnsetValue (ifcfg, "IEEE_8021X_PEAP_FORCE_NEW_LABEL"); - if (value && !strcmp (value, "1")) - svSetValueStr (ifcfg, "IEEE_8021X_PEAP_FORCE_NEW_LABEL", "yes"); + svSetValueBoolean_cond_true (ifcfg, + "IEEE_8021X_PEAP_FORCE_NEW_LABEL", + nm_streq0 (nm_setting_802_1x_get_phase1_peaplabel (s_8021x), "1")); - /* PAC file */ - value = nm_setting_802_1x_get_pac_file (s_8021x); - svUnsetValue (ifcfg, "IEEE_8021X_PAC_FILE"); - if (value) - svSetValueStr (ifcfg, "IEEE_8021X_PAC_FILE", value); + svSetValueStr (ifcfg, + "IEEE_8021X_PAC_FILE", + nm_setting_802_1x_get_pac_file (s_8021x)); /* FAST PAC provisioning */ value = nm_setting_802_1x_get_phase1_fast_provisioning (s_8021x); - svUnsetValue (ifcfg, "IEEE_8021X_FAST_PROVISIONING"); if (value) { if (strcmp (value, "1") == 0) - svSetValueStr (ifcfg, "IEEE_8021X_FAST_PROVISIONING", "allow-unauth"); + value = "allow-unauth"; else if (strcmp (value, "2") == 0) - svSetValueStr (ifcfg, "IEEE_8021X_FAST_PROVISIONING", "allow-auth"); + value = "allow-auth"; else if (strcmp (value, "3") == 0) - svSetValueStr (ifcfg, "IEEE_8021X_FAST_PROVISIONING", "allow-unauth allow-auth"); + value = "allow-unauth allow-auth"; + else + value = NULL; } + svSetValueStr (ifcfg, "IEEE_8021X_FAST_PROVISIONING", value); /* Phase2 auth methods */ svUnsetValue (ifcfg, "IEEE_8021X_INNER_AUTH_METHODS"); @@ -541,10 +539,9 @@ write_8021x_setting (NMConnection *connection, vint = nm_setting_802_1x_get_auth_timeout (s_8021x); svSetValueInt64_cond (ifcfg, "IEEE_8021X_AUTH_TIMEOUT", vint > 0, vint); - if (nm_setting_802_1x_get_optional (s_8021x)) - svSetValueBoolean (ifcfg, "IEEE_8021X_OPTIONAL", TRUE); - else - svUnsetValue (ifcfg, "IEEE_8021X_OPTIONAL"); + svSetValueBoolean_cond_true (ifcfg, + "IEEE_8021X_OPTIONAL", + nm_setting_802_1x_get_optional (s_8021x)); if (!write_8021x_certs (s_8021x, secrets, blobs, FALSE, ifcfg, error)) return FALSE;