summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-04-28 12:21:05 +0200
committerThomas Haller <thaller@redhat.com>2017-04-28 12:31:45 +0200
commitf16ec61a011396ee30fd4748d64eca48ae93fff7 (patch)
tree7aa78aec5d1125824bf3ce5b0d4017128a6a73ea
parent606497a4e9826a3fbb7d47f5b31eeb7c46451001 (diff)
downloadNetworkManager-f16ec61a011396ee30fd4748d64eca48ae93fff7.tar.gz
ifcfg-rh: use svGetValueEnum() in reader
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c74
1 files changed, 23 insertions, 51 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 c4221c8893..e7dbc7ed26 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
@@ -1533,12 +1533,13 @@ make_ip6_setting (shvarFile *ifcfg,
char *ipv6addr, *ipv6addr_secondaries;
char **list = NULL, **iter;
guint32 i;
+ int i_val;
+ GError *local = NULL;
gint priority;
shvarFile *network_ifcfg;
gboolean never_default = FALSE;
gboolean ip6_privacy = FALSE, ip6_privacy_prefer_public_ip;
NMSettingIP6ConfigPrivacy ip6_privacy_val;
- NMSettingIP6ConfigAddrGenMode addr_gen_mode;
s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new ();
@@ -1730,21 +1731,14 @@ make_ip6_setting (shvarFile *ifcfg,
}
}
- /* IPv6 addressing mode configuration */
- str_value = svGetValueStr_cp (ifcfg, "IPV6_ADDR_GEN_MODE");
- if (str_value) {
- if (nm_utils_enum_from_str (nm_setting_ip6_config_addr_gen_mode_get_type (), str_value,
- (int *) &addr_gen_mode, NULL))
- g_object_set (s_ip6, NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE, addr_gen_mode, NULL);
- else
- PARSE_WARNING ("Invalid IPV6_ADDR_GEN_MODE");
- g_free (str_value);
- } else {
- g_object_set (s_ip6,
- NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
- NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
- NULL);
+ i_val = NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64;
+ if (!svGetValueEnum (ifcfg, "IPV6_ADDR_GEN_MODE",
+ nm_setting_ip6_config_addr_gen_mode_get_type (),
+ &i_val, &local)) {
+ PARSE_WARNING ("%s", local->message);
+ g_clear_error (&local);
}
+ g_object_set (s_ip6, NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE, i_val, NULL);
/* IPv6 tokenized interface identifier */
str_value = svGetValueStr_cp (ifcfg, "IPV6_TOKEN");
@@ -3170,6 +3164,7 @@ fill_8021x (shvarFile *ifcfg,
char *value;
char **list = NULL, **iter;
gint64 timeout;
+ int i_val;
value = svGetValueStr_cp (ifcfg, "IEEE_8021X_EAP_METHODS");
if (!value) {
@@ -3240,23 +3235,12 @@ next:
g_object_set (s_8021x, NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH, value, NULL);
g_free (value);
- value = svGetValueStr_cp (ifcfg, "IEEE_8021X_PHASE1_AUTH_FLAGS");
- if (value) {
- NMSetting8021xAuthFlags flags;
- char *token;
-
- if (nm_utils_enum_from_str (nm_setting_802_1x_auth_flags_get_type (), value,
- (int *) &flags, &token)) {
- g_object_set (s_8021x, NM_SETTING_802_1X_PHASE1_AUTH_FLAGS, flags, NULL);
- } else {
- g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
- "Invalid IEEE_8021X_PHASE1_AUTH_FLAGS flag '%s'", token);
- g_free (token);
- g_free (value);
- goto error;
- }
- g_free (value);
- }
+ i_val = NM_SETTING_802_1X_AUTH_FLAGS_NONE;
+ if (!svGetValueEnum (ifcfg, "IEEE_8021X_PHASE1_AUTH_FLAGS",
+ nm_setting_802_1x_auth_flags_get_type (),
+ &i_val, error))
+ goto error;
+ g_object_set (s_8021x, NM_SETTING_802_1X_PHASE1_AUTH_FLAGS, (guint) i_val, NULL);
read_8021x_list_value (ifcfg, "IEEE_8021X_ALTSUBJECT_MATCHES",
s_8021x, NM_SETTING_802_1X_ALTSUBJECT_MATCHES);
@@ -3294,9 +3278,8 @@ make_wpa_setting (shvarFile *ifcfg,
{
NMSettingWirelessSecurity *wsec;
char *value, *psk, *lower;
- const char *cvalue;
gboolean wpa_psk = FALSE, wpa_eap = FALSE, ieee8021x = FALSE;
- guint pmf = NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT;
+ int i_val;
wsec = NM_SETTING_WIRELESS_SECURITY (nm_setting_wireless_security_new ());
@@ -3375,23 +3358,12 @@ make_wpa_setting (shvarFile *ifcfg,
g_free (value);
- cvalue = svGetValue (ifcfg, "PMF", &value);
- if (cvalue) {
- int i_pmf;
-
- if (!nm_utils_enum_from_str (nm_setting_wireless_security_pmf_get_type (),
- cvalue,
- &i_pmf,
- NULL)) {
- g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
- "Invalid PMF value '%s'", cvalue);
- g_free (value);
- goto error;
- }
- pmf = i_pmf;
- g_free (value);
- }
- g_object_set (wsec, NM_SETTING_WIRELESS_SECURITY_PMF, pmf, NULL);
+ i_val = NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT;
+ if (!svGetValueEnum (ifcfg, "PMF",
+ nm_setting_wireless_security_pmf_get_type (),
+ &i_val, error))
+ goto error;
+ g_object_set (wsec, NM_SETTING_WIRELESS_SECURITY_PMF, (guint) i_val, NULL);
value = svGetValueStr_cp (ifcfg, "SECURITYMODE");
if (NM_IN_STRSET (value, NULL, "open"))