Hello community, here is the log from the commit of package NetworkManager-gnome for openSUSE:11.3 checked in at Tue Jan 10 15:00:09 CET 2012. -------- --- old-versions/11.3/UPDATES/all/NetworkManager-gnome/NetworkManager-gnome.changes 2011-12-20 03:16:25.000000000 +0100 +++ 11.3/NetworkManager-gnome/NetworkManager-gnome.changes 2012-01-04 07:51:04.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Jan 4 06:34:50 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.3-i586 New: ---- nma-eap-tls-subject-probe.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ NetworkManager-gnome.spec ++++++ --- /var/tmp/diff_new_pack.pI3mdS/_old 2012-01-10 14:59:52.000000000 +0100 +++ /var/tmp/diff_new_pack.pI3mdS/_new 2012-01-10 14:59:52.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 -Release: 6.<RELEASE5> +Release: 6.<RELEASE7> License: GPLv2+ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: NetworkManager-devel @@ -49,6 +49,8 @@ Patch2: 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 Patch3: 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 +Patch4: nma-eap-tls-subject-probe.patch Provides: NetworkManager-client Requires: NetworkManager >= 0.7.998 timezone %gconf_schemas_prereq @@ -62,6 +64,7 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build # -fno-strict-aliasing added 2009-04-28. Need for build with gcc 4.4 at that time. ++++++ nma-eap-tls-subject-probe.patch ++++++ diff --git a/src/applet.glade b/src/applet.glade index 4a8be19..2f75191 100644 --- a/src/applet.glade +++ b/src/applet.glade @@ -1440,7 +1440,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="homogeneous">False</property> <property name="row_spacing">6</property> @@ -1525,6 +1525,56 @@ Shared Key</property> </child> <child> + <widget class="GtkLabel" id="eap_tls_subject_label"> + <property name="visible">True</property> + <property name="label" translatable="yes">CA _subject:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">eap_tls_subject_entry</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="eap_tls_subject_entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="activates_default">False</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="label" translatable="yes">C_A certificate:</property> @@ -1546,8 +1596,8 @@ Shared Key</property> <packing> <property name="left_attach">0</property> <property name="right_attach">1</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> <property name="x_options">fill</property> <property name="y_options"></property> </packing> @@ -1566,8 +1616,8 @@ Shared Key</property> <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="top_attach">3</property> + <property name="bottom_attach">4</property> <property name="x_options">fill</property> <property name="y_options">fill</property> </packing> @@ -1595,8 +1645,8 @@ Shared Key</property> <packing> <property name="left_attach">0</property> <property name="right_attach">1</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">fill</property> <property name="y_options"></property> </packing> @@ -1615,8 +1665,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">fill</property> <property name="y_options">fill</property> </packing> @@ -1644,8 +1694,8 @@ Shared Key</property> <packing> <property name="left_attach">0</property> <property name="right_attach">1</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="x_options">fill</property> <property name="y_options"></property> </packing> @@ -1665,8 +1715,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> @@ -1686,8 +1736,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">fill</property> <property name="y_options"></property> </packing> diff --git a/src/wireless-dialog.c b/src/wireless-dialog.c index 752c302..761f9a2 100644 --- a/src/wireless-dialog.c +++ b/src/wireless-dialog.c @@ -133,7 +133,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 b7a2175..08ed33e 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)); @@ -384,6 +397,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, @@ -478,6 +528,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