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