[network-manager-applet/lr/tls-domain-suffix-match-rh1457542: 9/12] wireless-security/ttls: add domain suffix match entry



commit 69af1f550cc02fcdbb599fd9f92c62e76b0b4fcf
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Fri Jun 9 19:39:20 2017 +0200

    wireless-security/ttls: add domain suffix match entry
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1457542

 src/wireless-security/eap-method-ttls.c  |   31 +++++++++++-
 src/wireless-security/eap-method-ttls.ui |   85 +++++++++++++++++++-----------
 2 files changed, 85 insertions(+), 31 deletions(-)
---
diff --git a/src/wireless-security/eap-method-ttls.c b/src/wireless-security/eap-method-ttls.c
index 17cfe35..374c548 100644
--- a/src/wireless-security/eap-method-ttls.c
+++ b/src/wireless-security/eap-method-ttls.c
@@ -109,6 +109,10 @@ add_to_size_group (EAPMethod *parent, GtkSizeGroup *group)
        g_assert (widget);
        gtk_size_group_add_widget (group, widget);
 
+       widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_label"));
+       g_assert (widget);
+       gtk_size_group_add_widget (group, widget);
+
        nma_cert_chooser_add_to_size_group (NMA_CERT_CHOOSER (method->ca_cert_chooser), group);
 
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_label"));
@@ -157,6 +161,14 @@ fill_connection (EAPMethod *parent, NMConnection *connection)
                g_object_set (s_8021x, NM_SETTING_802_1X_ANONYMOUS_IDENTITY, text, NULL);
 
 #if LIBNM_BUILD
+       widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_entry"));
+       g_assert (widget);
+       text = gtk_entry_get_text (GTK_ENTRY (widget));
+       if (text && strlen (text))
+               g_object_set (s_8021x, NM_SETTING_802_1X_DOMAIN_SUFFIX_MATCH, text, NULL);
+#endif
+
+#if LIBNM_BUILD
 /* libnm-glib doesn't support this. */
        /* Save CA certificate PIN password flags to the connection */
        secret_flags = nma_cert_chooser_get_cert_password_flags (NMA_CERT_CHOOSER (method->ca_cert_chooser));
@@ -436,7 +448,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
        method->ca_cert_chooser = nma_cert_chooser_new ("CA",
                                                          NMA_CERT_CHOOSER_FLAG_CERT
                                                        | (secrets_only ? NMA_CERT_CHOOSER_FLAG_PASSWORDS : 
0));
-       gtk_grid_attach (GTK_GRID (widget), method->ca_cert_chooser, 0, 1, 2, 1);
+       gtk_grid_attach (GTK_GRID (widget), method->ca_cert_chooser, 0, 2, 2, 1);
        gtk_widget_show (method->ca_cert_chooser);
 
        g_signal_connect (method->ca_cert_chooser,
@@ -486,6 +498,19 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
                          (GCallback) wireless_security_changed_cb,
                          ws_parent);
 
+       widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_entry"));
+#if LIBNM_BUILD
+       if (s_8021x && nm_setting_802_1x_get_domain_suffix_match (s_8021x))
+               gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_domain_suffix_match (s_8021x));
+       g_signal_connect (G_OBJECT (widget), "changed",
+                         (GCallback) wireless_security_changed_cb,
+                         ws_parent);
+#else
+       gtk_widget_hide (widget);
+       widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_label"));
+       gtk_widget_hide (widget);
+#endif
+
        widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only);
        inner_auth_combo_changed_cb (widget, (gpointer) method);
 
@@ -494,6 +519,10 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
                gtk_widget_hide (widget);
                widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"eap_ttls_anon_identity_entry"));
                gtk_widget_hide (widget);
+               widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_label"));
+               gtk_widget_hide (widget);
+               widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_entry"));
+               gtk_widget_hide (widget);
                widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"eap_ttls_ca_cert_not_required_checkbox"));
                gtk_widget_hide (widget);
                widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_label"));
diff --git a/src/wireless-security/eap-method-ttls.ui b/src/wireless-security/eap-method-ttls.ui
index 2b15651..86f0861 100644
--- a/src/wireless-security/eap-method-ttls.ui
+++ b/src/wireless-security/eap-method-ttls.ui
@@ -25,20 +25,6 @@
         <property name="row_spacing">6</property>
         <property name="column_spacing">12</property>
         <child>
-          <object class="GtkLabel" id="eap_ttls_anon_identity_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Anony_mous identity:</property>
-            <property name="use_underline">True</property>
-            <property name="mnemonic_widget">eap_ttls_anon_identity_entry</property>
-            <property name="xalign">0</property>
-          </object>
-          <packing>
-            <property name="left_attach">0</property>
-            <property name="top_attach">0</property>
-          </packing>
-        </child>
-        <child>
           <object class="GtkEntry" id="eap_ttls_anon_identity_entry">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
@@ -61,11 +47,42 @@
           </object>
           <packing>
             <property name="left_attach">0</property>
-            <property name="top_attach">4</property>
+            <property name="top_attach">5</property>
             <property name="width">2</property>
           </packing>
         </child>
         <child>
+          <object class="GtkComboBox" id="eap_ttls_inner_auth_combo">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="model">model6</property>
+            <child>
+              <object class="GtkCellRendererText" id="renderer6"/>
+              <attributes>
+                <attribute name="text">0</attribute>
+              </attributes>
+            </child>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="top_attach">4</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="eap_ttls_inner_auth_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">_Inner authentication:</property>
+            <property name="use_underline">True</property>
+            <property name="xalign">0</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">4</property>
+          </packing>
+        </child>
+        <child>
           <object class="GtkCheckButton" id="eap_ttls_ca_cert_not_required_checkbox">
             <property name="label" translatable="yes">No CA certificate is _required</property>
             <property name="visible">True</property>
@@ -78,39 +95,47 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="top_attach">2</property>
+            <property name="top_attach">3</property>
           </packing>
         </child>
         <child>
-          <object class="GtkComboBox" id="eap_ttls_inner_auth_combo">
+          <object class="GtkEntry" id="eap_ttls_domain_entry">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can_focus">True</property>
             <property name="hexpand">True</property>
-            <property name="model">model6</property>
-            <child>
-              <object class="GtkCellRendererText" id="renderer6"/>
-              <attributes>
-                <attribute name="text">0</attribute>
-              </attributes>
-            </child>
+            <property name="activates_default">True</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="top_attach">3</property>
+            <property name="top_attach">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="eap_ttls_inner_auth_label">
+          <object class="GtkLabel" id="eap_ttls_anon_identity_label">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Inner authentication:</property>
+            <property name="label" translatable="yes">Anony_mous identity:</property>
             <property name="use_underline">True</property>
-            <property name="mnemonic_widget">eap_ttls_inner_auth_combo</property>
+            <property name="mnemonic_widget">eap_ttls_anon_identity_entry</property>
             <property name="xalign">0</property>
           </object>
           <packing>
             <property name="left_attach">0</property>
-            <property name="top_attach">3</property>
+            <property name="top_attach">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="eap_ttls_domain_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">_Domain:</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">eap_ttls_domain_entry</property>
+            <property name="xalign">0</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">1</property>
           </packing>
         </child>
         <child>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]