- Fix ethernet link detection (gnome #354565, rh #194124)

- Fix perpetual credentials request with private key passwords in the
    applet
- Sleep a bit before activating wireless cards to work around driver bugs
This commit is contained in:
Daniel Williams 2007-06-07 17:11:37 +00:00
parent 104d22528c
commit 63b6aaf3c5
4 changed files with 113 additions and 1 deletions

View File

@ -0,0 +1,54 @@
Index: src/nm-device-802-3-ethernet.c
===================================================================
--- src/nm-device-802-3-ethernet.c (revision 2577)
+++ src/nm-device-802-3-ethernet.c (revision 2578)
@@ -108,18 +108,16 @@
GObject *obj,
NMDevice8023Ethernet *self)
{
+ GSource * source;
+
/* Make sure signal is for us */
if (NM_DEVICE (self) != NM_DEVICE (obj))
return;
- if (!nm_device_has_active_link (NM_DEVICE (self)))
- {
- GSource * source = g_idle_source_new ();
-
- g_source_set_callback (source, (GSourceFunc) link_activated_helper, self, NULL);
- g_source_attach (source, nm_device_get_main_context (NM_DEVICE (self)));
- g_source_unref (source);
- }
+ source = g_idle_source_new ();
+ g_source_set_callback (source, (GSourceFunc) link_activated_helper, self, NULL);
+ g_source_attach (source, nm_device_get_main_context (NM_DEVICE (self)));
+ g_source_unref (source);
}
@@ -135,18 +133,16 @@
GObject *obj,
NMDevice8023Ethernet *self)
{
+ GSource * source;
+
/* Make sure signal is for us */
if (NM_DEVICE (self) != NM_DEVICE (obj))
return;
- if (nm_device_has_active_link (NM_DEVICE (self)))
- {
- GSource * source = g_idle_source_new ();
-
- g_source_set_callback (source, (GSourceFunc) link_deactivated_helper, self, NULL);
- g_source_attach (source, nm_device_get_main_context (NM_DEVICE (self)));
- g_source_unref (source);
- }
+ source = g_idle_source_new ();
+ g_source_set_callback (source, (GSourceFunc) link_deactivated_helper, self, NULL);
+ g_source_attach (source, nm_device_get_main_context (NM_DEVICE (self)));
+ g_source_unref (source);
}
static void

View File

@ -0,0 +1,14 @@
Index: src/nm-device-802-11-wireless.c
===================================================================
--- src/nm-device-802-11-wireless.c (revision 2577)
+++ src/nm-device-802-11-wireless.c (working copy)
@@ -2981,6 +2981,9 @@
return NM_ACT_STAGE_RETURN_POSTPONE;
}
+ /* Some cards are dumb. Wait a second */
+ sleep (1);
+
iface = nm_device_get_iface (dev);
if (!supplicant_exec (self))
{

View File

@ -11,7 +11,7 @@ Name: NetworkManager
Summary: Network connection manager and user applications
Epoch: 1
Version: 0.6.5
Release: 4%{?dist}
Release: 5%{?dist}
Group: System Environment/Base
License: GPL
URL: http://www.gnome.org/projects/NetworkManager/
@ -19,6 +19,9 @@ Source: %{name}-%{version}.tar.bz2
Source1: network-manager-applet-%{version}.tar.bz2
Patch0: NetworkManager-0.6.4-startup-dhcdbd.patch
Patch1: NetworkManager-0.6.5-fixup-internal-applet-build.patch
Patch2: NetworkManager-0.6.5-fix-ethernet-link-detection.patch
Patch3: NetworkManager-0.6.5-wait-for-wireless.patch
Patch4: network-manager-applet-0.6.5-fix-eap-key-request.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
PreReq: chkconfig
@ -117,10 +120,13 @@ NetworkManager functionality from applications that use glib.
%prep
%setup -q
%patch0 -p1 -b .startup-dhcdbd
%patch2 -p0 -b .fix-ethernet-link-detection
%patch3 -p0 -b .wait-for-wireless
# unpack the applet
tar -xjf %{SOURCE1}
%patch1 -p1 -b .buildfix
%patch4 -p1 -b .fix-eap-key-request
%build
# Even though we don't require named, we still build with it
@ -245,6 +251,11 @@ fi
%changelog
* Thu Jun 7 2007 Dan Williams <dcbw@redhat.com> 1:0.6.5-5
- Fix ethernet link detection (gnome #354565, rh #194124)
- Fix perpetual credentials request with private key passwords in the applet
- Sleep a bit before activating wireless cards to work around driver bugs
* Mon Jun 4 2007 Dan Williams <dcbw@redhat.com> 1:0.6.5-4
- Don't spawn wpa_supplicant with -o

View File

@ -0,0 +1,33 @@
Index: NetworkManager-0.6.5/nm-applet-0.6.5/src/applet-dbus-info.c
===================================================================
--- NetworkManager-0.6.5/nm-applet-0.6.5/src/applet-dbus-info.c (revision 78)
+++ NetworkManager-0.6.5/nm-applet-0.6.5/src/applet-dbus-info.c (revision 79)
@@ -152,6 +152,8 @@
char * temp = NULL;
char * escaped_network;
int we_cipher = -1;
+ char * private_key_file = NULL;
+ gboolean have_priv_key_file = FALSE;
g_return_val_if_fail (applet != NULL, NULL);
g_return_val_if_fail (message != NULL, NULL);
@@ -182,9 +184,18 @@
|| !temp)
new_key = TRUE;
+ nm_gconf_get_string_helper (applet->gconf_client,
+ GCONF_PATH_WIRELESS_NETWORKS,
+ "wpa_eap_private_key_file", escaped_network, &private_key_file);
+ if (private_key_file) {
+ have_priv_key_file = TRUE;
+ g_free (private_key_file);
+ }
+
/* Hack: 802.1x passwords are not stored in the keyring */
if (!new_key &&
- (we_cipher == NM_AUTH_TYPE_WPA_EAP || we_cipher == NM_AUTH_TYPE_LEAP))
+ ((we_cipher == NM_AUTH_TYPE_WPA_EAP && !have_priv_key_file) ||
+ we_cipher == NM_AUTH_TYPE_LEAP))
{
NMGConfWSO *gconf_wso;
gconf_wso = nm_gconf_wso_new_deserialize_gconf (applet->gconf_client,