Hello community, here is the log from the commit of package NetworkManager-gnome for openSUSE:11.4 checked in at Tue Jan 10 15:00:46 CET 2012. -------- --- old-versions/11.4/UPDATES/all/NetworkManager-gnome/NetworkManager-gnome.changes 2011-12-20 03:11:58.000000000 +0100 +++ 11.4/NetworkManager-gnome/NetworkManager-gnome.changes 2012-01-03 11:35:56.000000000 +0100 @@ -1,0 +2,6 @@ +Tue Jan 3 10:34:31 UTC 2012 - glin@suse.com + +- Add nma-eap-tls-subject-probe.patch to probe the CA subject of + the EAP-TLS RAIDUS server (bnc#574266) + +------------------------------------------------------------------- calling whatdependson for 11.4-i586 New: ---- nma-eap-tls-subject-probe.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ NetworkManager-gnome.spec ++++++ --- /var/tmp/diff_new_pack.MH6oUu/_old 2012-01-10 15:00:27.000000000 +0100 +++ /var/tmp/diff_new_pack.MH6oUu/_new 2012-01-10 15:00:27.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package NetworkManager-gnome # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ Name: NetworkManager-gnome Url: http://www.gnome.org/projects/NetworkManager/ Version: 0.8.2 -Release: 9.<RELEASE14> +Release: 9.<RELEASE16> License: GPLv2+ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: NetworkManager-devel @@ -51,6 +51,8 @@ Patch3: nma-wpa-eap-probe-ca-cert.patch # PATCH-FIX-OPENSUSE nma-hide-note-wireless-security.patch bnc#732700 glin@suse.com -- Hide the note label if there is no existing 8021x settings Patch4: nma-hide-note-wireless-security.patch +# PATCH-FIX-UPSTREAM nma-eap-tls-subject-probe.patch bnc#574266 glin@suse.com -- Probe the CA subject of the EAP-TLS RADIUS server +Patch5: nma-eap-tls-subject-probe.patch Provides: NetworkManager-client Requires: NetworkManager >= 0.8.0.998 timezone # mobile-broadband-provider-info is required for DUN capabilities. The BT plugin crashes without it. @@ -69,6 +71,7 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build %configure \ ++++++ nma-eap-tls-subject-probe.patch ++++++ diff --git a/src/applet.glade b/src/applet.glade index c194cfa..6f3ea80 100644 --- a/src/applet.glade +++ b/src/applet.glade @@ -845,7 +845,7 @@ Shared Key</property> <child> <widget class="GtkTable" id="table8"> <property name="visible">True</property> - <property name="n_rows">6</property> + <property name="n_rows">7</property> <property name="n_columns">2</property> <property name="column_spacing">12</property> <property name="row_spacing">6</property> @@ -889,12 +889,12 @@ Shared Key</property> </packing> </child> <child> - <widget class="GtkLabel" id="eap_tls_ca_cert_label"> + <widget class="GtkLabel" id="eap_tls_subject_label"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label" translatable="yes">C_A certificate:</property> + <property name="label" translatable="yes">CA _subject:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">eap_tls_ca_cert_button</property> + <property name="mnemonic_widget">eap_tls_private_key_password_entry</property> </widget> <packing> <property name="top_attach">2</property> @@ -904,14 +904,43 @@ Shared Key</property> </packing> </child> <child> - <widget class="GtkFileChooserButton" id="eap_tls_ca_cert_button"> + <widget class="GtkEntry" id="eap_tls_subject_entry"> <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="visibility">True</property> </widget> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> <property name="top_attach">2</property> <property name="bottom_attach">3</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="eap_tls_ca_cert_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">C_A certificate:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">eap_tls_ca_cert_button</property> + </widget> + <packing> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkFileChooserButton" id="eap_tls_ca_cert_button"> + <property name="visible">True</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> <property name="x_options">GTK_FILL</property> <property name="y_options">GTK_FILL</property> </packing> @@ -925,8 +954,8 @@ Shared Key</property> <property name="mnemonic_widget">eap_tls_private_key_button</property> </widget> <packing> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> @@ -938,8 +967,8 @@ Shared Key</property> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> <property name="x_options">GTK_FILL</property> <property name="y_options">GTK_FILL</property> </packing> @@ -953,8 +982,8 @@ Shared Key</property> <property name="mnemonic_widget">eap_tls_private_key_password_entry</property> </widget> <packing> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> @@ -968,8 +997,8 @@ Shared Key</property> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> <property name="y_options"></property> </packing> </child> @@ -985,8 +1014,8 @@ Shared Key</property> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> + <property name="top_attach">6</property> + <property name="bottom_attach">7</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> diff --git a/src/wireless-dialog.c b/src/wireless-dialog.c index a9a8f5a..bff8ebb 100644 --- a/src/wireless-dialog.c +++ b/src/wireless-dialog.c @@ -142,7 +142,9 @@ nma_wireless_dialog_need_ca_cert_probe (NMAWirelessDialog *self) for (i = 0; i < num_eap; i++) { const char *eap; eap = nm_setting_802_1x_get_eap_method (s_8021x, i); - if (g_strcmp0 (eap, "ttls") == 0 || g_strcmp0 (eap, "peap") == 0) { + if ( g_strcmp0 (eap, "ttls") == 0 + || g_strcmp0 (eap, "peap") == 0 + || g_strcmp0 (eap, "tls") == 0) { need_ca = TRUE; break; } diff --git a/src/wireless-security/eap-method-tls.c b/src/wireless-security/eap-method-tls.c index fe34ff6..15327d0 100644 --- a/src/wireless-security/eap-method-tls.c +++ b/src/wireless-security/eap-method-tls.c @@ -34,6 +34,8 @@ #include "utils.h" #include "helpers.h" +#define SUBJECT_NOTE _("<will be filled automatically>") + static void show_toggled_cb (GtkCheckButton *button, EAPMethod *method) { @@ -109,6 +111,10 @@ add_to_size_group (EAPMethod *parent, GtkSizeGroup *group) g_assert (widget); gtk_size_group_add_widget (group, widget); + widget = glade_xml_get_widget (parent->xml, "eap_tls_subject_label"); + g_assert (widget); + gtk_size_group_add_widget (group, widget); + widget = glade_xml_get_widget (parent->xml, "eap_tls_private_key_label"); g_assert (widget); gtk_size_group_add_widget (group, widget); @@ -128,6 +134,7 @@ fill_connection (EAPMethod *parent, NMConnection *connection) GtkWidget *widget; char *ca_filename, *pk_filename, *cc_filename; const char *password = NULL; + const char *text; GError *error = NULL; s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); @@ -212,6 +219,12 @@ fill_connection (EAPMethod *parent, NMConnection *connection) } } + widget = glade_xml_get_widget (parent->xml, "eap_tls_subject_entry"); + g_assert (widget); + text = gtk_entry_get_text (GTK_ENTRY (widget)); + if (text && strlen (text) && g_strcmp0 (text, SUBJECT_NOTE) != 0) + g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, text, NULL); + nm_gconf_set_ignore_ca_cert (nm_setting_connection_get_uuid (s_con), method->phase2, eap_method_get_ignore_ca_cert (parent)); @@ -388,6 +401,43 @@ update_secrets (EAPMethod *parent, NMConnection *connection) } } +static gboolean +subject_entry_focus_in_cb (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); + if (g_strcmp0 (text, SUBJECT_NOTE) == 0) { + gtk_entry_set_text (GTK_ENTRY (widget), ""); + gtk_widget_modify_text (GTK_WIDGET (widget), GTK_STATE_NORMAL, NULL); + } + return FALSE; +} + +static gboolean +subject_entry_focus_out_cb (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + NMSetting8021x *s_8021x = (NMSetting8021x *)user_data; + const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); + GtkStyle *style; + + if (!text || !strlen (text)) { + /* Since we save/restore the subject in ws_802_1x_fill_connection() + * to prevent the probed result from being erased, we have to clear + * the subject here to trigger the probe later. */ + g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, NULL, NULL); + gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); + style = gtk_widget_get_style (widget); + gtk_widget_modify_text (GTK_WIDGET (widget), + GTK_STATE_NORMAL, + &style->text[GTK_STATE_INSENSITIVE]); + } + + return FALSE; +} + EAPMethodTLS * eap_method_tls_new (const char *glade_file, WirelessSecurity *parent, @@ -482,6 +532,30 @@ eap_method_tls_new (const char *glade_file, (GCallback) show_toggled_cb, method); + widget = glade_xml_get_widget (xml, "eap_tls_subject_entry"); + if (s_8021x) { + const char *text = nm_setting_802_1x_get_subject_match (s_8021x); + if (!text) { + GtkStyle *style; + style = gtk_widget_get_style (widget); + gtk_widget_modify_text (widget, + GTK_STATE_NORMAL, + &style->text[GTK_STATE_INSENSITIVE]); + gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); + } else { + gtk_entry_set_text (GTK_ENTRY (widget), text); + } + g_signal_connect (G_OBJECT (widget), "focus-in-event", + (GCallback) subject_entry_focus_in_cb, + NULL); + g_signal_connect (G_OBJECT (widget), "focus-out-event", + (GCallback) subject_entry_focus_out_cb, + s_8021x); + } + g_signal_connect (G_OBJECT (widget), "changed", + (GCallback) wireless_security_changed_cb, + parent); + return method; } continue with "q"... Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org