[gnome-control-center] network/eap-method-ttls: add domain match



commit 04f3264c6a99e904238f31a46a3a5f56c0942a33
Author: Markus Theil <theil markus gmail com>
Date:   Sat Dec 29 19:51:46 2018 +0100

    network/eap-method-ttls: add domain match
    
    As it is often not sufficient to only check against
    a set of known CA certificates, add a domain suffix
    check for Wi-Fi connections.
    
    Signed-off-by: Markus Theil <theil markus gmail com>

 panels/network/wireless-security/eap-method-ttls.c | 20 +++++++++++
 .../network/wireless-security/eap-method-ttls.ui   | 40 ++++++++++++++++++----
 2 files changed, 53 insertions(+), 7 deletions(-)
---
diff --git a/panels/network/wireless-security/eap-method-ttls.c 
b/panels/network/wireless-security/eap-method-ttls.c
index efdc00676..d83521f3f 100644
--- a/panels/network/wireless-security/eap-method-ttls.c
+++ b/panels/network/wireless-security/eap-method-ttls.c
@@ -110,6 +110,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_match_label"));
+       g_assert (widget);
+       gtk_size_group_add_widget (group, widget);
+
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_label"));
        g_assert (widget);
        gtk_size_group_add_widget (group, widget);
@@ -154,6 +158,12 @@ fill_connection (EAPMethod *parent, NMConnection *connection, NMSettingSecretFla
        if (text && strlen (text))
                g_object_set (s_8021x, NM_SETTING_802_1X_ANONYMOUS_IDENTITY, text, NULL);
 
+       widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_match_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);
+
        widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button"));
        g_assert (widget);
        filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
@@ -450,6 +460,12 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
        g_signal_connect (G_OBJECT (widget), "changed",
                          (GCallback) wireless_security_changed_cb,
                          ws_parent);
+       widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_match_entry"));
+       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);
 
        widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only);
        inner_auth_combo_changed_cb (widget, (gpointer) method);
@@ -459,6 +475,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_match_label"));
+               gtk_widget_hide (widget);
+               widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_match_entry"));
+               gtk_widget_hide (widget);
                widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_label"));
                gtk_widget_hide (widget);
                widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button"));
diff --git a/panels/network/wireless-security/eap-method-ttls.ui 
b/panels/network/wireless-security/eap-method-ttls.ui
index 241f1faf6..1edf9b3fa 100644
--- a/panels/network/wireless-security/eap-method-ttls.ui
+++ b/panels/network/wireless-security/eap-method-ttls.ui
@@ -50,17 +50,43 @@
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="eap_ttls_ca_cert_label">
+          <object class="GtkLabel" id="eap_ttls_domain_match_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_match_entry</property>
             <property name="xalign">1</property>
+          </object>
+          <packing>
+            <property name="left_attach">0</property>
+            <property name="top_attach">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkEntry" id="eap_ttls_domain_match_entry">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="hexpand">True</property>
+            <property name="activates_default">True</property>
+          </object>
+          <packing>
+            <property name="left_attach">1</property>
+            <property name="top_attach">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="eap_ttls_ca_cert_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="label" translatable="yes">C_A certificate</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">eap_ttls_ca_cert_button</property>
+            <property name="xalign">1</property>
           </object>
           <packing>
             <property name="left_attach">0</property>
-            <property name="top_attach">1</property>
+            <property name="top_attach">2</property>
           </packing>
         </child>
         <child>
@@ -71,7 +97,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="top_attach">1</property>
+            <property name="top_attach">2</property>
           </packing>
         </child>
         <child>
@@ -87,7 +113,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="top_attach">2</property>
+            <property name="top_attach">3</property>
           </packing>
         </child>
         <child>
@@ -101,7 +127,7 @@
           </object>
           <packing>
             <property name="left_attach">0</property>
-            <property name="top_attach">3</property>
+            <property name="top_attach">4</property>
            </packing>
          </child>
         <child>
@@ -119,7 +145,7 @@
           </object>
           <packing>
             <property name="left_attach">1</property>
-            <property name="top_attach">3</property>
+            <property name="top_attach">4</property>
           </packing>
         </child>
         <child>
@@ -134,7 +160,7 @@
           </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>


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