NetworkManager r3613 - in trunk: . src



Author: dcbw
Date: Mon Apr 28 00:26:25 2008
New Revision: 3613
URL: http://svn.gnome.org/viewvc/NetworkManager?rev=3613&view=rev

Log:
2008-04-27  Dan Williams  <dcbw redhat com>

	* src/nm-device-802-11-wireless.c
		- (link_timeout_cb): don't ask for secrets when disconnected during
			association/authentication phase, drivers are still just too crappy



Modified:
   trunk/ChangeLog
   trunk/src/nm-device-802-11-wireless.c

Modified: trunk/src/nm-device-802-11-wireless.c
==============================================================================
--- trunk/src/nm-device-802-11-wireless.c	(original)
+++ trunk/src/nm-device-802-11-wireless.c	Mon Apr 28 00:26:25 2008
@@ -1964,22 +1964,29 @@
 	if (!encrypted || !auth_enforced)
 		goto time_out;
 
-	nm_connection_clear_secrets (connection);
-	setting_name = nm_connection_need_secrets (connection, NULL);
-	if (!setting_name)
-		goto time_out;
-
-	/* Association/authentication failed during association, probably have a 
-	 * bad encryption key and the authenticating entity (AP, RADIUS server, etc)
-	 * denied the association due to bad credentials.
+	/* Drivers are still just too crappy, and emit too many disassociation
+	 * events during connection.  So for now, just let the driver and supplicant
+	 * keep trying to associate, and don't ask for new secrets when we get
+	 * disconnected during association.
 	 */
-	nm_info ("Activation (%s/wireless): disconnected during association,"
-	         " asking for new key.", nm_device_get_iface (dev));
-	cleanup_association_attempt (self, TRUE);
-	nm_device_state_changed (dev, NM_DEVICE_STATE_NEED_AUTH);
-	nm_act_request_request_connection_secrets (req, setting_name, TRUE);	
+	if (0) {
+		nm_connection_clear_secrets (connection);
+		setting_name = nm_connection_need_secrets (connection, NULL);
+		if (!setting_name)
+			goto time_out;
+
+		/* Association/authentication failed during association, probably have a 
+		 * bad encryption key and the authenticating entity (AP, RADIUS server, etc)
+		 * denied the association due to bad credentials.
+		 */
+		nm_info ("Activation (%s/wireless): disconnected during association,"
+		         " asking for new key.", nm_device_get_iface (dev));
+		cleanup_association_attempt (self, TRUE);
+		nm_device_state_changed (dev, NM_DEVICE_STATE_NEED_AUTH);
+		nm_act_request_request_connection_secrets (req, setting_name, TRUE);	
 
-	return FALSE;
+		return FALSE;
+	}
 
 time_out:
 	nm_info ("%s: link timed out.", nm_device_get_iface (dev));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]