Re: NM 0.6.5 unable to reconnect to WPA2 network (first connection fine)



----- "Jon Escombe" <lists dresco co uk> wrote:
> ----- "Jon Escombe" <lists dresco co uk> wrote:
> > 
> > Symptom now is that on a first connection it works fine, dialog is
> > presented for the credentials and connects fine. However, once the
> > details for the network are in gconf, reconnecting to that network
> > just results in a endless loop of trying. Including an excerpt from
> > the log below. If I remove the details from gconf then it works again
> > for one time only. 
> > 
> 
> I've managed to debug this some more, and can see that the private key
> password isn't being returned by nm-applet for a WPA-EAP connection.
> 
> In nm-gconf-wso-wpa-eap.c, real_serialize_dbus(),
> nm_gconf_wso_get_key(instance) always returns null - although the key
> is present in the keyring. If I hack my real key into this function
> then it works as expected.. Any clues?
> 
> Thanks,
> Jon.


Got there in the end ;) The current code has an assumption that 802.1X passwords aren't stored in the keyring, but the private key passwords for 802.1X networks ARE stored there. 

The attached patch to applet-dbus-info.c gets things working for me (using a .pfx file and private key password) but I don't know if it has any implications for other 802.1X configs?

Also worth noting that I need Jon Nettleton's device-link-race.patch to get reliable connections.

Regards,
Jon.
diff -urN NetworkManager-0.6.5.original/nm-applet-0.6.5/src/applet-dbus-info.c NetworkManager-0.6.5/nm-applet-0.6.5/src/applet-dbus-info.c
--- NetworkManager-0.6.5.original/nm-applet-0.6.5/src/applet-dbus-info.c	2007-04-19 19:01:13.000000000 +0100
+++ NetworkManager-0.6.5/nm-applet-0.6.5/src/applet-dbus-info.c	2007-06-06 17:03:01.000000000 +0100
@@ -183,8 +183,7 @@
 		new_key = TRUE;
 
 	/* 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))
+	if (!new_key && we_cipher == NM_AUTH_TYPE_LEAP)
 	{
 		NMGConfWSO *gconf_wso;
 		gconf_wso = nm_gconf_wso_new_deserialize_gconf (applet->gconf_client,


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