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 - [email protected]
+
+- 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 
[email protected] -- 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 [email protected] 
-- 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to