diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-06-09 19:39:20 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2017-06-13 15:02:26 +0200 |
commit | 22f953eed2ef1cfb5ef036b131421cc2172e0c52 (patch) | |
tree | 2650f600db4c634878e483a4f96dbdc0974a6a20 | |
parent | e767ef259da96c0616e5b258c2e19a1da434a5d7 (diff) | |
download | network-manager-applet-22f953eed2ef1cfb5ef036b131421cc2172e0c52.tar.gz |
wireless-security/ttls: add domain suffix match entry
https://bugzilla.redhat.com/show_bug.cgi?id=1457542
-rw-r--r-- | src/wireless-security/eap-method-ttls.c | 36 | ||||
-rw-r--r-- | src/wireless-security/eap-method-ttls.ui | 86 |
2 files changed, 88 insertions, 34 deletions
diff --git a/src/wireless-security/eap-method-ttls.c b/src/wireless-security/eap-method-ttls.c index 17cfe350..7244477a 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)); @@ -429,14 +441,13 @@ eap_method_ttls_new (WirelessSecurity *ws_parent, if (connection) s_8021x = nm_connection_get_setting_802_1x (connection); - - widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_grid")); - g_assert (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_grid")); + g_assert (widget); 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 +497,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 +518,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 2b156517..36589941 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,48 @@ </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="tooltip_text" translatable="yes">Suffix of the server certificate name.</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> |