diff options
| author | Michael Biebl <biebl@debian.org> | 2019-11-25 18:53:53 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2019-11-25 18:53:53 +0100 |
| commit | e22609983008e1a669196ad64ba3a59ae8c76e0d (patch) | |
| tree | c5b97693244d5004cbe735d507a25159512a753d /src/settings/plugins | |
| parent | 9c642eac191ef0dce49855d8da0a9e9af18d5113 (diff) | |
New upstream version 1.20.8 upstream/1.20.8
Diffstat (limited to 'src/settings/plugins')
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 5 | ||||
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 43 | ||||
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/shvar.c | 6 | ||||
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/shvar.h | 1 |
4 files changed, 34 insertions, 21 deletions
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c index 020766c8..68ebd781 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c @@ -3573,6 +3573,11 @@ next: return NULL; } + g_object_set (s_8021x, + NM_SETTING_802_1X_SYSTEM_CA_CERTS, + svGetValueBoolean (ifcfg, "IEEE_8021X_SYSTEM_CA_CERTS", FALSE), + NULL); + nm_clear_g_free (&value); v = svGetValueStr (ifcfg, "IEEE_8021X_SUBJECT_MATCH", &value); g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, v, NULL); 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 f3cd71bd..809d3769 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -432,35 +432,37 @@ write_8021x_setting (NMConnection *connection, nm_setting_802_1x_get_password_raw_flags (s_8021x)); g_free (tmp); - /* PEAP version */ + svSetValueBoolean_cond_true (ifcfg, + "IEEE_8021X_SYSTEM_CA_CERTS", + nm_setting_802_1x_get_system_ca_certs (s_8021x)); + 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"); @@ -537,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; diff --git a/src/settings/plugins/ifcfg-rh/shvar.c b/src/settings/plugins/ifcfg-rh/shvar.c index 94e31aac..d4bc71f3 100644 --- a/src/settings/plugins/ifcfg-rh/shvar.c +++ b/src/settings/plugins/ifcfg-rh/shvar.c @@ -1357,6 +1357,12 @@ svSetValueBoolean (shvarFile *s, const char *key, gboolean value) } gboolean +svSetValueBoolean_cond_true (shvarFile *s, const char *key, gboolean value) +{ + return svSetValue (s, key, value ? "yes" : NULL); +} + +gboolean svSetValueEnum (shvarFile *s, const char *key, GType gtype, int value) { gs_free char *v = NULL; diff --git a/src/settings/plugins/ifcfg-rh/shvar.h b/src/settings/plugins/ifcfg-rh/shvar.h index 67fb5404..2f6912b3 100644 --- a/src/settings/plugins/ifcfg-rh/shvar.h +++ b/src/settings/plugins/ifcfg-rh/shvar.h @@ -96,6 +96,7 @@ gboolean svGetValueEnum (shvarFile *s, const char *key, gboolean svSetValue (shvarFile *s, const char *key, const char *value); gboolean svSetValueStr (shvarFile *s, const char *key, const char *value); gboolean svSetValueBoolean (shvarFile *s, const char *key, gboolean value); +gboolean svSetValueBoolean_cond_true (shvarFile *s, const char *key, gboolean value); gboolean svSetValueInt64 (shvarFile *s, const char *key, gint64 value); gboolean svSetValueInt64_cond (shvarFile *s, const char *key, gboolean do_set, gint64 value); gboolean svSetValueEnum (shvarFile *s, const char *key, GType gtype, int value); |