ifcfg-rh: add support for domain-suffix-match properties
authorBeniamino Galvani <bgalvani@redhat.com>
Fri, 4 Mar 2016 09:39:26 +0000 (10:39 +0100)
committerBeniamino Galvani <bgalvani@redhat.com>
Wed, 16 Mar 2016 16:32:17 +0000 (17:32 +0100)
libnm-core/nm-setting-8021x.c
src/settings/plugins/ifcfg-rh/reader.c
src/settings/plugins/ifcfg-rh/writer.c

index db11be0..06c3d55 100644 (file)
@@ -3415,6 +3415,12 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
         *
         * Since: 1.2
         **/
+       /* ---ifcfg-rh---
+        * property: domain-suffix-match
+        * description: Suffix to match domain of server certificate against.
+        * variable: IEEE_8021X_DOMAIN_SUFFIX_MATCH(+)
+        * ---end---
+        */
        g_object_class_install_property
                (object_class, PROP_DOMAIN_SUFFIX_MATCH,
                 g_param_spec_string (NM_SETTING_802_1X_DOMAIN_SUFFIX_MATCH, "", "",
@@ -3672,6 +3678,12 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
         *
         * Since: 1.2
         **/
+       /* ---ifcfg-rh---
+        * property: phase2-domain-suffix-match
+        * description: Suffix to match domain of server certificate for phase 2 against.
+        * variable: IEEE_8021X_PHASE2_DOMAIN_SUFFIX_MATCH(+)
+        * ---end---
+        */
        g_object_class_install_property
                (object_class, PROP_PHASE2_DOMAIN_SUFFIX_MATCH,
                 g_param_spec_string (NM_SETTING_802_1X_PHASE2_DOMAIN_SUFFIX_MATCH, "", "",
index a65ca5d..41ffa27 100644 (file)
@@ -3076,6 +3076,13 @@ fill_8021x (shvarFile *ifcfg,
        read_8021x_list_value (ifcfg, "IEEE_8021X_PHASE2_ALTSUBJECT_MATCHES",
                               s_8021x, NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES);
 
+       value = svGetValue (ifcfg, "IEEE_8021X_DOMAIN_SUFFIX_MATCH", FALSE);
+       g_object_set (s_8021x, NM_SETTING_802_1X_DOMAIN_SUFFIX_MATCH, value, NULL);
+       g_free (value);
+       value = svGetValue (ifcfg, "IEEE_8021X_PHASE2_DOMAIN_SUFFIX_MATCH", FALSE);
+       g_object_set (s_8021x, NM_SETTING_802_1X_PHASE2_DOMAIN_SUFFIX_MATCH, value, NULL);
+       g_free (value);
+
        if (list)
                g_strfreev (list);
        if (keys)
index e7d6437..c17824d 100644 (file)
@@ -582,6 +582,13 @@ write_8021x_setting (NMConnection *connection,
                svSetValue (ifcfg, "IEEE_8021X_PHASE2_ALTSUBJECT_MATCHES", str->str, FALSE);
        g_string_free (str, TRUE);
 
+       svSetValue (ifcfg, "IEEE_8021X_DOMAIN_SUFFIX_MATCH",
+                   nm_setting_802_1x_get_domain_suffix_match (s_8021x),
+                   FALSE);
+       svSetValue (ifcfg, "IEEE_8021X_PHASE2_DOMAIN_SUFFIX_MATCH",
+                   nm_setting_802_1x_get_phase2_domain_suffix_match (s_8021x),
+                   FALSE);
+
        success = write_8021x_certs (s_8021x, FALSE, ifcfg, error);
        if (success) {
                /* phase2/inner certs */