Re: [PATCH] LEAP support in NetworkManager



On Wed, 2006-08-02 at 13:44 -0500, Jason Martens wrote:
> Alright,  I've finally succeeded in building n-m from CVS with leap 
> support.  We use a (perhaps) strange wireless configuration here, where 
> the Cisco Access Points run two separate wireless networks off of one 
> access point.  One is unencrypted, the other uses WPA-Enterprise, TKIP 
> and LEAP.  I cannot connect to the WPA access point even with the LEAP 
> support.  Does the current LEAP support allow for TKIP?

Hmm, I don't think so...  does wpa_supplicant support that?

Dan

> I've attached an iwlist eth2 scan of the access point, but you only see 
> the unencrypted ap, so I don't think it's very useful.  I've also 
> attached the syslog output from n-m of an attempted connection to the 
> WPA access point. 
> 
> Jason Martens
> 
> Thiago Bauermann wrote:
> > Hi folks,
> >
> > This is a patch which adds LEAP support to NetworkManager. It has two 
> > issues
> > which I am aware of, but it's most definetly usable (and useful!).
> >
> > One of the issues is that in the first time you connect to the LEAP
> > network, you need to use the "Connect to other wireless network" menu
> > option and specify the SSID by hand, because NM thinks the network is
> > not encrypted and tries to connect to it without bringing up the
> > username/password dialog. After the first time, NM will store the network
> > settings, so it's possible to use the menu item corresponding to the
> > LEAP network in nm-applet from that point on.
> >
> > The other issue is that for some reason, sometimes NM thinks that the 
> > LEAP
> > access point "is unencrypted, no key needed", so it doesn't try to use
> > LEAP to connect to the wireless network (despite the fact that info 
> > for the
> > network is available in gconf, which specifies LEAP should be used for 
> > it).
> > I still didn't recognize any pattern in this behaviour. I'm probably not
> > clearing the NM_802_11_CAP_PROTO_NONE bit in the AP capabilities attribute
> > somewhere in the NM daemon...
> >
> > Anyway, if this happens, it's possible to use the "Connect to other
> > wireless network" menu option to connect to the network (but you need to
> > retype the authentication information).
> >
> > This is my first patch to NM, so comments on this code are welcome.
> > -- 
> > []'s
> > Thiago Jung Bauermann
> > ------------------------------------------------------------------------
> >
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/applet.glade NetworkManager-leap-r46/gnome/applet/applet.glade
> > --- NetworkManager-cvs-orig/gnome/applet/applet.glade	2006-06-08 23:44:19.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/applet.glade	2006-06-25 23:58:33.000000000 -0300
> > @@ -2012,7 +2012,7 @@ Shared Key</property>
> >  	<widget class="GtkTable" id="table5">
> >  	  <property name="border_width">6</property>
> >  	  <property name="visible">True</property>
> > -	  <property name="n_rows">2</property>
> > +	  <property name="n_rows">3</property>
> >  	  <property name="n_columns">2</property>
> >  	  <property name="homogeneous">False</property>
> >  	  <property name="row_spacing">6</property>
> > @@ -2113,6 +2113,51 @@ Shared Key</property>
> >  	      <property name="y_options"></property>
> >  	    </packing>
> >  	  </child>
> > +
> > +	  <child>
> > +	    <widget class="GtkLabel" id="leap_key_mgmt">
> > +	      <property name="visible">True</property>
> > +	      <property name="label" translatable="yes">Key management:</property>
> > +	      <property name="use_underline">False</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="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="GtkComboBox" id="leap_key_mgmt_combobox">
> > +	      <property name="visible">True</property>
> > +	      <property name="items" translatable="yes"></property>
> > +	      <property name="add_tearoffs">False</property>
> > +	      <property name="focus_on_click">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="x_options">fill</property>
> > +	      <property name="y_options">fill</property>
> > +	    </packing>
> > +	  </child>
> >  	</widget>
> >  	<packing>
> >  	  <property name="tab_expand">False</property>
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/Makefile.am NetworkManager-leap-r46/gnome/applet/Makefile.am
> > --- NetworkManager-cvs-orig/gnome/applet/Makefile.am	2006-05-24 12:08:18.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/Makefile.am	2006-06-18 16:34:46.000000000 -0300
> > @@ -82,6 +82,8 @@ nm_applet_SOURCES =			\
> >  	wso-wpa-eap.h			\
> >  	wso-wpa-psk.c			\
> >  	wso-wpa-psk.h			\
> > +	wso-leap.c			\
> > +	wso-leap.h			\
> >  	nm-gconf-wso.c			\
> >  	nm-gconf-wso.h			\
> >  	nm-gconf-wso-private.h	\
> > @@ -91,6 +93,8 @@ nm_applet_SOURCES =			\
> >  	nm-gconf-wso-wpa-eap.h	\
> >  	nm-gconf-wso-wpa-psk.c	\
> >  	nm-gconf-wso-wpa-psk.h	\
> > +	nm-gconf-wso-leap.c	\
> > +	nm-gconf-wso-leap.h	\
> >  	gconf-helpers.c		\
> >  	gconf-helpers.h		\
> >  	$(NULL)
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/nm-gconf-wso.c NetworkManager-leap-r46/gnome/applet/nm-gconf-wso.c
> > --- NetworkManager-cvs-orig/gnome/applet/nm-gconf-wso.c	2006-03-27 12:13:49.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/nm-gconf-wso.c	2006-06-18 17:37:50.000000000 -0300
> > @@ -95,6 +95,10 @@ nm_gconf_wso_new_deserialize_dbus (DBusM
> >  				security = NM_GCONF_WSO (nm_gconf_wso_wpa_eap_new_deserialize_dbus (iter, we_cipher));
> >  				break;
> >  
> > +			case NM_AUTH_TYPE_LEAP:
> > +				security = NM_GCONF_WSO (nm_gconf_wso_leap_new_deserialize_dbus (iter, we_cipher));
> > +				break;
> > +
> >  			default:
> >  				break;
> >  		}
> > @@ -141,6 +145,10 @@ nm_gconf_wso_new_deserialize_gconf (GCon
> >  				security = NM_GCONF_WSO (nm_gconf_wso_wpa_eap_new_deserialize_gconf (client, network, we_cipher));
> >  				break;
> >  
> > +			case NM_AUTH_TYPE_LEAP:
> > +				security = NM_GCONF_WSO (nm_gconf_wso_leap_new_deserialize_gconf (client, network, we_cipher));
> > +				break;
> > +
> >  			default:
> >  				break;
> >  		}
> > @@ -187,6 +195,7 @@ nm_gconf_wso_set_we_cipher (NMGConfWSO *
> >  	g_return_if_fail (
> >  		   (we_cipher == NM_AUTH_TYPE_WPA_PSK_AUTO)
> >  		|| (we_cipher == NM_AUTH_TYPE_WPA_EAP)
> > +		|| (we_cipher == NM_AUTH_TYPE_LEAP)
> >  		|| (we_cipher == IW_AUTH_CIPHER_NONE)
> >  		|| (we_cipher == IW_AUTH_CIPHER_WEP40)
> >  		|| (we_cipher == IW_AUTH_CIPHER_WEP104)
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/nm-gconf-wso-leap.c NetworkManager-leap-r46/gnome/applet/nm-gconf-wso-leap.c
> > --- NetworkManager-cvs-orig/gnome/applet/nm-gconf-wso-leap.c	1969-12-31 21:00:00.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/nm-gconf-wso-leap.c	2006-07-03 20:31:44.000000000 -0300
> > @@ -0,0 +1,178 @@
> > +/* NetworkManager -- Network link manager
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > + *
> > + * (C) Copyright 2006 Thiago Jung Bauermann <thiago bauermann gmail com>
> > + */
> > +
> > +/* This file is heavily based on nm-gconf-wso-wpa-eap.c */
> > +
> > +#include <glib.h>
> > +#include <glib/gi18n.h>
> > +#include <dbus/dbus.h>
> > +#include <iwlib.h>
> > +
> > +#include "applet.h"
> > +#include "nm-gconf-wso.h"
> > +#include "nm-gconf-wso-leap.h"
> > +#include "nm-gconf-wso-private.h"
> > +#include "dbus-helpers.h"
> > +#include "gconf-helpers.h"
> > +
> > +#define LEAP_PREFIX "leap_"
> > +
> > +#define NM_GCONF_WSO_LEAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_GCONF_WSO_LEAP, NMGConfWSOLEAPPrivate))
> > +
> > +struct _NMGConfWSOLEAPPrivate
> > +{
> > +	const char *	username;
> > +	const char *	key_mgmt;
> > +};
> > +
> > +
> > +NMGConfWSOLEAP *
> > +nm_gconf_wso_leap_new_deserialize_dbus (DBusMessageIter *iter, int we_cipher)
> > +{
> > +	NMGConfWSOLEAP *	security = NULL;
> > +	char *			username = NULL;
> > +	char *			password = NULL;
> > +	char *			key_mgmt = NULL;
> > +
> > +	g_return_val_if_fail (we_cipher == NM_AUTH_TYPE_LEAP, NULL);
> > +	g_return_val_if_fail (iter != NULL, NULL);
> > +
> > +	if (!nmu_security_deserialize_leap (iter, &username, &password, &key_mgmt))
> > +		goto out;
> > +
> > +	/* Success, build up our security object */
> > +	security = g_object_new (NM_TYPE_GCONF_WSO_LEAP, NULL);
> > +	nm_gconf_wso_set_we_cipher (NM_GCONF_WSO (security), we_cipher);
> > +	if (password)
> > +		   nm_gconf_wso_set_key (NM_GCONF_WSO (security), password, strlen(password));
> > +	if (username)
> > +		   security->priv->username = g_strdup (username);
> > +	if (key_mgmt)
> > +		   security->priv->key_mgmt = g_strdup (key_mgmt);
> > +
> > +out:
> > +	return security;
> > +}
> > +
> > +
> > +NMGConfWSOLEAP *
> > +nm_gconf_wso_leap_new_deserialize_gconf (GConfClient *client, const char *network, int we_cipher)
> > +{
> > +	NMGConfWSOLEAP *	security = NULL;
> > +	char *			username = NULL;
> > +	char *			key_mgmt = NULL;
> > +
> > +	g_return_val_if_fail (client != NULL, NULL);
> > +	g_return_val_if_fail (network != NULL, NULL);
> > +	g_return_val_if_fail ((we_cipher == NM_AUTH_TYPE_LEAP), NULL);
> > +
> > +	nm_gconf_get_string_helper (client,
> > +						   GCONF_PATH_WIRELESS_NETWORKS,
> > +						   LEAP_PREFIX"username",
> > +						   network,
> > +						   &username);
> > +
> > +	nm_gconf_get_string_helper (client,
> > +						   GCONF_PATH_WIRELESS_NETWORKS,
> > +						   LEAP_PREFIX"key_mgmt",
> > +						   network,
> > +						   &key_mgmt);
> > +
> > +	/* Success, build up our security object */
> > +	security = g_object_new (NM_TYPE_GCONF_WSO_LEAP, NULL);
> > +	nm_gconf_wso_set_we_cipher (NM_GCONF_WSO (security), we_cipher);
> > +	security->priv->username = username;
> > +	security->priv->key_mgmt = key_mgmt;
> > +
> > +	return security;
> > +}
> > +
> > +
> > +static gboolean 
> > +real_serialize_dbus (NMGConfWSO *instance, DBusMessageIter *iter)
> > +{
> > +	NMGConfWSOLEAP * self = NM_GCONF_WSO_LEAP (instance);
> > +
> > +	if (!nmu_security_serialize_leap (iter, self->priv->username,
> > +			nm_gconf_wso_get_key(instance), self->priv->key_mgmt))
> > +		return FALSE;
> > +	return TRUE;
> > +}
> > +
> > +static gboolean 
> > +real_serialize_gconf (NMGConfWSO *instance, GConfClient *client, const char *network)
> > +{
> > +	NMGConfWSOLEAP *	self = NM_GCONF_WSO_LEAP (instance);
> > +	char *			key;
> > +
> > +	key = g_strdup_printf ("%s/%s/%susername", GCONF_PATH_WIRELESS_NETWORKS, network, LEAP_PREFIX);
> > +	gconf_client_set_string (client, key, self->priv->username, NULL);
> > +	g_free (key);
> > +
> > +	key = g_strdup_printf ("%s/%s/%skey_mgmt", GCONF_PATH_WIRELESS_NETWORKS, network, LEAP_PREFIX);
> > +	gconf_client_set_string (client, key, self->priv->key_mgmt, NULL);
> > +	g_free (key);
> > +
> > +	return TRUE;
> > +}
> > +
> > +
> > +static void
> > +nm_gconf_wso_leap_init (NMGConfWSOLEAP *self)
> > +{
> > +	self->priv = NM_GCONF_WSO_LEAP_GET_PRIVATE (self);
> > +}
> > +
> > +
> > +static void
> > +nm_gconf_wso_leap_class_init (NMGConfWSOLEAPClass *klass)
> > +{
> > +	GObjectClass *object_class = G_OBJECT_CLASS (klass);
> > +	NMGConfWSOClass *par_class = NM_GCONF_WSO_CLASS (klass);
> > +
> > +	par_class->serialize_dbus_func = real_serialize_dbus;
> > +	par_class->serialize_gconf_func = real_serialize_gconf;
> > +
> > +	g_type_class_add_private (object_class, sizeof (NMGConfWSOLEAPPrivate));
> > +}
> > +
> > +
> > +GType
> > +nm_gconf_wso_leap_get_type (void)
> > +{
> > +	static GType type = 0;
> > +	if (type == 0) {
> > +		static const GTypeInfo info = {
> > +			sizeof (NMGConfWSOLEAPClass),
> > +			NULL,	/* base_init */
> > +			NULL,	/* base_finalize */
> > +			(GClassInitFunc) nm_gconf_wso_leap_class_init,
> > +			NULL,	/* class_finalize */
> > +			NULL,	/* class_data */
> > +			sizeof (NMGConfWSOLEAP),
> > +			0,		/* n_preallocs */
> > +			(GInstanceInitFunc) nm_gconf_wso_leap_init,
> > +			NULL		/* value_table */
> > +		};
> > +		type = g_type_register_static (NM_TYPE_GCONF_WSO,
> > +								 "NMGConfWSOLEAP",
> > +								 &info, 0);
> > +	}
> > +	return type;
> > +}
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/nm-gconf-wso-leap.h NetworkManager-leap-r46/gnome/applet/nm-gconf-wso-leap.h
> > --- NetworkManager-cvs-orig/gnome/applet/nm-gconf-wso-leap.h	1969-12-31 21:00:00.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/nm-gconf-wso-leap.h	2006-06-26 00:58:40.000000000 -0300
> > @@ -0,0 +1,60 @@
> > +/* NetworkManager -- Network link manager
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > + *
> > + * (C) Copyright 2006 Thiago Jung Bauermann <thiago bauermann gmail com>
> > + */
> > +
> > +/* This file is heavily based on nm-gconf-wso-wpa-eap.h */
> > +
> > +#ifndef NM_GCONF_WSO_LEAP_H
> > +#define NM_GCONF_WSO_LEAP_H
> > +
> > +#include <glib-object.h>
> > +#include <dbus/dbus.h>
> > +#include <gconf/gconf-client.h>
> > +
> > +#define NM_TYPE_GCONF_WSO_LEAP			(nm_gconf_wso_leap_get_type ())
> > +#define NM_GCONF_WSO_LEAP(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_GCONF_WSO_LEAP, NMGConfWSOLEAP))
> > +#define NM_GCONF_WSO_LEAP_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_GCONF_WSO_LEAP, NMGConfWSOLEAPClass))
> > +#define NM_IS_GCONF_WSO_LEAP(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_GCONF_WSO_LEAP))
> > +#define NM_IS_GCONF_WSO_LEAP_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_GCONF_WSO_LEAP))
> > +#define NM_GCONF_WSO_LEAP_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_GCONF_WSO_LEAP, NMGConfWSOLEAPClass))
> > +
> > +typedef struct _NMGConfWSOLEAP NMGConfWSOLEAP;
> > +typedef struct _NMGConfWSOLEAPClass NMGConfWSOLEAPClass;
> > +typedef struct _NMGConfWSOLEAPPrivate NMGConfWSOLEAPPrivate;
> > +
> > +struct _NMGConfWSOLEAP
> > +{
> > +	NMGConfWSO parent;
> > +
> > +	/*< private >*/
> > +	NMGConfWSOLEAPPrivate *priv;
> > +};
> > +
> > +struct _NMGConfWSOLEAPClass
> > +{
> > +	NMGConfWSOClass parent;
> > +};
> > +
> > +
> > +GType nm_gconf_wso_leap_get_type (void);
> > +
> > +NMGConfWSOLEAP * nm_gconf_wso_leap_new_deserialize_dbus (DBusMessageIter *iter, int we_cipher);
> > +
> > +NMGConfWSOLEAP * nm_gconf_wso_leap_new_deserialize_gconf (GConfClient *client, const char *network, int we_cipher);
> > +
> > +#endif	/* NM_GCONF_WSO_LEAP_H */
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/wireless-security-manager.c NetworkManager-leap-r46/gnome/applet/wireless-security-manager.c
> > --- NetworkManager-cvs-orig/gnome/applet/wireless-security-manager.c	2006-02-25 23:16:52.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/wireless-security-manager.c	2006-06-25 23:58:33.000000000 -0300
> > @@ -36,6 +36,7 @@
> >  #include "wso-wep-passphrase.h"
> >  #include "wso-wpa-eap.h"
> >  #include "wso-wpa-psk.h"
> > +#include "wso-leap.h"
> >  
> >  struct WirelessSecurityManager
> >  {
> > @@ -116,6 +117,9 @@ gboolean wsm_set_capabilities (WirelessS
> >  		}
> >  	}
> >  
> > +	if ((opt = wso_leap_new (wsm->glade_file, capabilities)))
> > +		wsm->options = g_slist_append (wsm->options, opt);
> > +
> >  	if (!wsm->options)
> >  	{
> >  		nm_warning ("capabilities='%x' and did not match any protocals, not even none!", capabilities);
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/wso-leap.c NetworkManager-leap-r46/gnome/applet/wso-leap.c
> > --- NetworkManager-cvs-orig/gnome/applet/wso-leap.c	1969-12-31 21:00:00.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/wso-leap.c	2006-06-26 00:58:40.000000000 -0300
> > @@ -0,0 +1,169 @@
> > +/* NetworkManager Wireless Applet -- Display wireless access points and allow user control
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > + *
> > + * (C) Copyright 2006 Thiago Jung Bauermann <thiago bauermann gmail com>
> > + */
> > +
> > +/* This file is heavily based on wso-wpa-eap.c */
> > +
> > +#include <glib.h>
> > +#include <gtk/gtk.h>
> > +#include <glade/glade.h>
> > +#include <dbus/dbus.h>
> > +#include <iwlib.h>
> > +
> > +#include "wireless-security-option.h"
> > +#include "wso-leap.h"
> > +#include "wso-private.h"
> > +#include "dbus-helpers.h"
> > +#include "NetworkManager.h"
> > +
> > +
> > +struct OptData
> > +{
> > +	const char *	username;
> > +	const char *	passwd;
> > +	const char *	key_mgmt;
> > +};
> > +
> > +
> > +static void
> > +data_free_func (WirelessSecurityOption *opt)
> > +{
> > +	g_return_if_fail (opt != NULL);
> > +	g_return_if_fail (opt->data != NULL);
> > +
> > +	if (opt->data->key_mgmt) {
> > +		   g_free((char *) opt->data->key_mgmt);
> > +	}
> > +
> > +	memset (opt->data, 0, sizeof (opt->data));
> > +	g_free (opt->data);
> > +}
> > +
> > +
> > +static gboolean
> > +append_dbus_params_func (WirelessSecurityOption *opt,
> > +                         const char *ssid,
> > +                         DBusMessage *message)
> > +{
> > +	GtkWidget *		entry;
> > +	GtkTreeModel *		combo_model;
> > +	GtkTreeIter		iter;
> > +	DBusMessageIter	dbus_iter;
> > +
> > +	g_return_val_if_fail (opt != NULL, FALSE);
> > +	g_return_val_if_fail (opt->data != NULL, FALSE);
> > +
> > +	entry = glade_xml_get_widget (opt->uixml, "leap_username_entry");
> > +	opt->data->username = gtk_entry_get_text (GTK_ENTRY (entry));
> > +
> > +	entry = glade_xml_get_widget (opt->uixml, "leap_password_entry");
> > +	opt->data->passwd = gtk_entry_get_text (GTK_ENTRY (entry));
> > +
> > +	entry = glade_xml_get_widget (opt->uixml, "leap_key_mgmt_combobox");
> > +	combo_model = gtk_combo_box_get_model(GTK_COMBO_BOX(entry));
> > +	gtk_combo_box_get_active_iter(GTK_COMBO_BOX(entry), &iter);
> > +	gtk_tree_model_get(combo_model, &iter, 1, &opt->data->key_mgmt, -1);
> > +
> > +	dbus_message_iter_init_append (message, &dbus_iter);
> > +
> > +	nmu_security_serialize_leap_with_cipher (&dbus_iter,
> > +								      opt->data->username,
> > +								      opt->data->passwd,
> > +									 opt->data->key_mgmt);
> > +
> > +	return TRUE;
> > +}
> > +
> > +static GtkWidget *
> > +widget_create_func (WirelessSecurityOption *opt,
> > +                    GtkSignalFunc validate_cb,
> > +                    gpointer user_data)
> > +{
> > +	GtkWidget *	entry;
> > +	GtkWidget *	widget;
> > +	GtkWidget *	key_mgmt;
> > +	GtkListStore *	list_store;
> > +	GtkTreeIter 	iter;
> > +
> > +	g_return_val_if_fail (opt != NULL, NULL);
> > +	g_return_val_if_fail (opt->data != NULL, NULL);
> > +	g_return_val_if_fail (validate_cb != NULL, NULL);
> > +
> > +	widget = wso_widget_helper (opt);
> > +
> > +	entry = glade_xml_get_widget (opt->uixml, "leap_username_entry");
> > +	g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data);
> > +
> > +	entry = glade_xml_get_widget (opt->uixml, "leap_password_entry");
> > +	g_signal_connect (G_OBJECT (entry), "changed", validate_cb, user_data);
> > +
> > +	/* set-up key_mgmt combo box */
> > +
> > +	key_mgmt = glade_xml_get_widget (opt->uixml, "leap_key_mgmt_combobox");
> > +
> > +	/* create tree model containing combo box items */
> > +	list_store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
> > +	gtk_list_store_append(list_store, &iter);
> > +	gtk_list_store_set(list_store, &iter, 0, "IEEE 802.1X", 1, "IEEE8021X", -1);
> > +	gtk_list_store_append(list_store, &iter);
> > +	gtk_list_store_set(list_store, &iter, 0, "WPA-EAP", 1, "WPA-EAP", -1);
> > +
> > +	gtk_combo_box_set_model(GTK_COMBO_BOX(key_mgmt), GTK_TREE_MODEL(list_store));
> > +
> > +	/* set default choice to be IEEE 802.1X */
> > +	gtk_combo_box_set_active(GTK_COMBO_BOX(key_mgmt), 0);
> > +
> > +	return widget;
> > +}
> > +
> > +static gboolean
> > +validate_input_func (WirelessSecurityOption *opt,
> > +                     const char *ssid,
> > +                     IEEE_802_11_Cipher **out_cipher)
> > +{
> > +	return TRUE;
> > +}
> > +
> > +
> > +WirelessSecurityOption *
> > +wso_leap_new (const char *glade_file,
> > +              int capabilities)
> > +{
> > +	WirelessSecurityOption * opt = NULL;
> > +
> > +	g_return_val_if_fail (glade_file != NULL, NULL);
> > +
> > +	opt = g_malloc0 (sizeof (WirelessSecurityOption));
> > +	opt->name = g_strdup("LEAP");
> > +	opt->widget_name = "leap_notebook";
> > +	opt->data_free_func = data_free_func;
> > +	opt->validate_input_func = validate_input_func;
> > +	opt->widget_create_func = widget_create_func;
> > +	opt->append_dbus_params_func = append_dbus_params_func;
> > +
> > +	if (!(opt->uixml = glade_xml_new (glade_file, opt->widget_name, NULL)))
> > +	{
> > +		wso_free (opt);
> > +		return NULL;
> > +	}
> > +
> > +	/* Option-specific data */
> > +	opt->data = g_malloc0 (sizeof (OptData));
> > +
> > +	return opt;
> > +}
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/gnome/applet/wso-leap.h NetworkManager-leap-r46/gnome/applet/wso-leap.h
> > --- NetworkManager-cvs-orig/gnome/applet/wso-leap.h	1969-12-31 21:00:00.000000000 -0300
> > +++ NetworkManager-leap-r46/gnome/applet/wso-leap.h	2006-06-26 00:58:40.000000000 -0300
> > @@ -0,0 +1,27 @@
> > +/* NetworkManager Wireless Applet -- Display wireless access points and allow user control
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > + *
> > + * (C) Copyright 2006 Thiago Jung Bauermann <thiago bauermann gmail com>
> > + */
> > +
> > +/* This file is heavily based on wso-wpa-eap.h */
> > +
> > +#ifndef WSO_LEAP_H
> > +#define WSO_LEAP_H
> > +
> > +WirelessSecurityOption * wso_leap_new (const char *glade_file, int capabilities);
> > +
> > +#endif  /* WSO_LEAP_H */
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/include/NetworkManager.h NetworkManager-leap-r46/include/NetworkManager.h
> > --- NetworkManager-cvs-orig/include/NetworkManager.h	2006-02-25 23:16:52.000000000 -0300
> > +++ NetworkManager-leap-r46/include/NetworkManager.h	2006-06-10 19:05:41.000000000 -0300
> > @@ -120,6 +120,7 @@ typedef enum NMDeviceType
> >  #define NM_AUTH_TYPE_WPA_PSK_CCMP		0x00000008
> >  #define NM_AUTH_TYPE_WEP104			0x00000010
> >  #define NM_AUTH_TYPE_WPA_EAP			0x00000020
> > +#define NM_AUTH_TYPE_LEAP			0x00000040
> >  
> >  /*
> >   * EAP Methods
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/libnm-util/dbus-helpers.c NetworkManager-leap-r46/libnm-util/dbus-helpers.c
> > --- NetworkManager-cvs-orig/libnm-util/dbus-helpers.c	2006-05-09 12:06:41.000000000 -0300
> > +++ NetworkManager-leap-r46/libnm-util/dbus-helpers.c	2006-06-25 23:58:33.000000000 -0300
> > @@ -476,6 +476,83 @@ nmu_security_deserialize_wpa_eap (DBusMe
> >  	return TRUE;
> >  }
> >  
> > +dbus_bool_t
> > +nmu_security_serialize_leap (DBusMessageIter *iter,
> > +					    const char *username,
> > +					    const char *passwd,
> > +					    const char *key_mgmt)
> > +{
> > +	const char *fake_username = "";
> > +	const char *fake_passwd = "";
> > +
> > +	g_return_val_if_fail (iter != NULL, FALSE);
> > +	g_return_val_if_fail (key_mgmt != NULL, FALSE);
> > +
> > +	/* Second arg: Username (STRING) */
> > +	dbus_message_iter_append_basic (iter, DBUS_TYPE_STRING, username? &username : &fake_username);
> > +
> > +	/* Third arg: Password (STRING) */
> > +	dbus_message_iter_append_basic (iter, DBUS_TYPE_STRING, passwd? &passwd : &fake_passwd);
> > +
> > +	/* Fourth arg: Key management (STRING) */
> > +	dbus_message_iter_append_basic (iter, DBUS_TYPE_STRING, &key_mgmt);
> > +}
> > +
> > +dbus_bool_t
> > +nmu_security_serialize_leap_with_cipher (DBusMessageIter *iter,
> > +								 const char *username,
> > +								 const char *passwd,
> > +								 const char *key_mgmt)
> > +{
> > +	g_return_val_if_fail (iter != NULL, FALSE);
> > +
> > +	/* First arg: WE Cipher (INT32) */
> > +	we_cipher_append_helper (iter, NM_AUTH_TYPE_LEAP);
> > +
> > +	return nmu_security_serialize_leap (iter, username, passwd, key_mgmt);
> > +}
> > +
> > +dbus_bool_t
> > +nmu_security_deserialize_leap (DBusMessageIter *iter,
> > +					      char **username,
> > +					      char **passwd,
> > +						 char **key_mgmt)
> > +{
> > +	char *		dbus_username;
> > +	char *		dbus_password;
> > +	char *		dbus_key_mgmt;
> > +
> > +	g_return_val_if_fail (iter != NULL, FALSE);
> > +	g_return_val_if_fail (username != NULL, FALSE);
> > +	g_return_val_if_fail (*username == NULL, FALSE);
> > +	g_return_val_if_fail (passwd != NULL, FALSE);
> > +	g_return_val_if_fail (*passwd == NULL, FALSE);
> > +	g_return_val_if_fail (key_mgmt != NULL, FALSE);
> > +	g_return_val_if_fail (*key_mgmt == NULL, FALSE);
> > +
> > +	/* Second arg: Username (STRING) */
> > +	g_return_val_if_fail (dbus_message_iter_get_arg_type (iter) == DBUS_TYPE_STRING, FALSE);
> > +	dbus_message_iter_get_basic (iter, &dbus_username);
> > +	g_return_val_if_fail (dbus_username != NULL, FALSE);
> > +
> > +	/* Third arg: Password (STRING) */
> > +	g_return_val_if_fail (dbus_message_iter_next (iter), FALSE);
> > +	g_return_val_if_fail (dbus_message_iter_get_arg_type (iter) == DBUS_TYPE_STRING, FALSE);
> > +	dbus_message_iter_get_basic (iter, &dbus_password);
> > +	g_return_val_if_fail (dbus_password != NULL, FALSE);
> > +
> > +	/* Fourth arg: Password (STRING) */
> > +	g_return_val_if_fail (dbus_message_iter_next (iter), FALSE);
> > +	g_return_val_if_fail (dbus_message_iter_get_arg_type (iter) == DBUS_TYPE_STRING, FALSE);
> > +	dbus_message_iter_get_basic (iter, &dbus_key_mgmt);
> > +	g_return_val_if_fail (dbus_key_mgmt != NULL, FALSE);
> > +
> > +	*username = strlen (dbus_username) > 0 ? dbus_username : NULL;
> > +	*passwd = strlen (dbus_password) > 0 ? dbus_password : NULL;
> > +	*key_mgmt = strlen (dbus_key_mgmt) > 0 ? dbus_key_mgmt : NULL;
> > +
> > +	return TRUE;
> > +}
> >  
> >  /*
> >   * nmu_create_dbus_error_message
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/libnm-util/dbus-helpers.h NetworkManager-leap-r46/libnm-util/dbus-helpers.h
> > --- NetworkManager-cvs-orig/libnm-util/dbus-helpers.h	2006-03-22 16:52:41.000000000 -0300
> > +++ NetworkManager-leap-r46/libnm-util/dbus-helpers.h	2006-06-25 23:58:33.000000000 -0300
> > @@ -100,6 +100,20 @@ dbus_bool_t	nmu_security_deserialize_wpa
> >  								char **client_cert_file,
> >  								char **ca_cert_file,
> >  								int *wpa_version);
> > +dbus_bool_t	nmu_security_serialize_leap (DBusMessageIter *iter,
> > +								const char *username,
> > +								const char *passwd,
> > +								const char *key_mgmt);
> > +
> > +dbus_bool_t	nmu_security_serialize_leap_with_cipher (DBusMessageIter *iter,
> > +								const char *username,
> > +								const char *passwd,
> > +								const char *key_mgmt);
> > +
> > +dbus_bool_t	nmu_security_deserialize_leap (DBusMessageIter *iter,
> > +								char **username,
> > +								char **passwd,
> > +								char **key_mgmt);
> >  
> >  DBusMessage *	nmu_create_dbus_error_message (DBusMessage *message,
> >                                          const char *exception_namespace,
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/src/Makefile.am NetworkManager-leap-r46/src/Makefile.am
> > --- NetworkManager-cvs-orig/src/Makefile.am	2006-05-24 12:08:19.000000000 -0300
> > +++ NetworkManager-leap-r46/src/Makefile.am	2006-06-16 00:55:39.000000000 -0300
> > @@ -62,6 +62,8 @@ NetworkManager_SOURCES =				\
> >  		nm-ap-security-wpa-eap.h		\
> >  		nm-ap-security-wpa-psk.c		\
> >  		nm-ap-security-wpa-psk.h		\
> > +		nm-ap-security-leap.c   		\
> > +		nm-ap-security-leap.h   		\
> >  		nm-marshal-main.c			\
> >  		kernel-types.h				\
> >  		wpa.c					\
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/src/NetworkManagerAP.c NetworkManager-leap-r46/src/NetworkManagerAP.c
> > --- NetworkManager-cvs-orig/src/NetworkManagerAP.c	2006-06-08 23:44:21.000000000 -0300
> > +++ NetworkManager-leap-r46/src/NetworkManagerAP.c	2006-06-26 23:07:17.000000000 -0300
> > @@ -595,7 +595,10 @@ static guint32 add_capabilities_from_cip
> >  		caps |= NM_802_11_CAP_KEY_MGMT_802_1X;
> >  		caps &= ~NM_802_11_CAP_PROTO_NONE;
> >  	}
> > -
> > +	if (cipher == NM_AUTH_TYPE_LEAP)
> > +	{
> > +		caps &= ~NM_802_11_CAP_PROTO_NONE;
> > +	}
> >  	return caps;
> >  }
> >  
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/src/nm-ap-security.c NetworkManager-leap-r46/src/nm-ap-security.c
> > --- NetworkManager-cvs-orig/src/nm-ap-security.c	2006-03-27 12:13:49.000000000 -0300
> > +++ NetworkManager-leap-r46/src/nm-ap-security.c	2006-06-16 00:55:39.000000000 -0300
> > @@ -29,6 +29,7 @@
> >  #include "nm-ap-security-wep.h"
> >  #include "nm-ap-security-wpa-psk.h"
> >  #include "nm-ap-security-wpa-eap.h"
> > +#include "nm-ap-security-leap.h"
> >  #include "nm-device-802-11-wireless.h"
> >  #include "wpa_ctrl.h"
> >  #include "nm-utils.h"
> > @@ -96,6 +97,10 @@ nm_ap_security_new_deserialize (DBusMess
> >  				security = NM_AP_SECURITY (nm_ap_security_wpa_eap_new_deserialize (iter));
> >  				break;
> >  
> > +			case NM_AUTH_TYPE_LEAP:
> > +				security = NM_AP_SECURITY (nm_ap_security_leap_new_deserialize (iter));
> > +				break;
> > +
> >  			default:
> >  				nm_warning ("Unmatched cipher %d", we_cipher);
> >  				break;
> > @@ -115,6 +120,7 @@ out:
> >  #define WPA_EAP		(NM_802_11_CAP_PROTO_WPA | NM_802_11_CAP_KEY_MGMT_802_1X)
> >  #define WEP_WEP104		(NM_802_11_CAP_PROTO_WEP | NM_802_11_CAP_CIPHER_WEP104)
> >  #define WEP_WEP40		(NM_802_11_CAP_PROTO_WEP | NM_802_11_CAP_CIPHER_WEP40)
> > +#define LEAP			(NM_802_11_CAP_KEY_MGMT_802_1X)
> >  NMAPSecurity *
> >  nm_ap_security_new_from_ap (NMAccessPoint *ap)
> >  {
> > @@ -135,6 +141,8 @@ nm_ap_security_new_from_ap (NMAccessPoin
> >  		security = NM_AP_SECURITY (nm_ap_security_wep_new_from_ap (ap, IW_AUTH_CIPHER_WEP104));
> >  	else if ((caps & WEP_WEP40) == WEP_WEP40)
> >  		security = NM_AP_SECURITY (nm_ap_security_wep_new_from_ap (ap, IW_AUTH_CIPHER_WEP40));
> > +	else if ((caps & LEAP) == LEAP)
> > +		security = NM_AP_SECURITY (nm_ap_security_leap_new_from_ap (ap));
> >  	else if (!nm_ap_get_encrypted (ap))
> >  		security = nm_ap_security_new (IW_AUTH_CIPHER_NONE);
> >  
> > @@ -180,7 +188,8 @@ nm_ap_security_set_we_cipher (NMAPSecuri
> >  		|| (we_cipher == IW_AUTH_CIPHER_WEP104)
> >  		|| (we_cipher == IW_AUTH_CIPHER_TKIP)
> >  		|| (we_cipher == IW_AUTH_CIPHER_CCMP)
> > -		|| (we_cipher == NM_AUTH_TYPE_WPA_EAP));
> > +		|| (we_cipher == NM_AUTH_TYPE_WPA_EAP)
> > +		|| (we_cipher == NM_AUTH_TYPE_LEAP));
> >  
> >  	self->priv->we_cipher = we_cipher;
> >  }
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/src/nm-ap-security-leap.c NetworkManager-leap-r46/src/nm-ap-security-leap.c
> > --- NetworkManager-cvs-orig/src/nm-ap-security-leap.c	1969-12-31 21:00:00.000000000 -0300
> > +++ NetworkManager-leap-r46/src/nm-ap-security-leap.c	2006-06-26 23:07:17.000000000 -0300
> > @@ -0,0 +1,218 @@
> > +/* NetworkManager -- Network link manager
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > + *
> > + * (C) Copyright 2006 Thiago Jung Bauermann <thiago bauermann gmail com>
> > + */
> > +
> > +/* This file is heavily based on nm-ap-security-wpa-eap.c */
> > +
> > +#include <glib.h>
> > +#include <glib/gi18n.h>
> > +#include <dbus/dbus.h>
> > +#include <iwlib.h>
> > +
> > +#include "nm-ap-security.h"
> > +#include "nm-ap-security-leap.h"
> > +#include "nm-ap-security-private.h"
> > +#include "dbus-helpers.h"
> > +#include "nm-device-802-11-wireless.h"
> > +#include "NetworkManagerUtils.h"
> > +
> > +#define NM_AP_SECURITY_LEAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_AP_SECURITY_LEAP, NMAPSecurityLEAPPrivate))
> > +
> > +struct _NMAPSecurityLEAPPrivate
> > +{
> > +	char *	username;
> > +	char * 	key_mgmt;
> > +};
> > +
> > +
> > +NMAPSecurityLEAP *
> > +nm_ap_security_leap_new_deserialize (DBusMessageIter *iter)
> > +{
> > +	NMAPSecurityLEAP *	security = NULL;
> > +	char *			username = NULL;
> > +	char *			password = NULL;
> > +	char *			key_mgmt = NULL;
> > +
> > +	g_return_val_if_fail (iter != NULL, NULL);
> > +
> > +	if (!nmu_security_deserialize_leap (iter, &username, &password, &key_mgmt))
> > +		goto out;
> > +
> > +	/* Success, build up our security object */
> > +	security = g_object_new (NM_TYPE_AP_SECURITY_LEAP, NULL);
> > +	nm_ap_security_set_we_cipher (NM_AP_SECURITY (security), NM_AUTH_TYPE_LEAP);
> > +	if (password)
> > +		nm_ap_security_set_key (NM_AP_SECURITY (security), password, strlen(password));
> > +	if (username)
> > +		security->priv->username = g_strdup (username);
> > +	if (key_mgmt)
> > +		security->priv->key_mgmt = g_strdup (key_mgmt);
> > +
> > +	nm_ap_security_set_description (NM_AP_SECURITY (security), _("LEAP"));
> > +
> > +out:
> > +	return security;
> > +}
> > +
> > +
> > +NMAPSecurityLEAP *
> > +nm_ap_security_leap_new_from_ap (NMAccessPoint *ap)
> > +{
> > +	NMAPSecurityLEAP *	security = NULL;
> > +	guint32			caps;
> > +
> > +	g_return_val_if_fail (ap != NULL, NULL);
> > +
> > +	security = g_object_new (NM_TYPE_AP_SECURITY_LEAP, NULL);
> > +	nm_ap_security_set_we_cipher (NM_AP_SECURITY (security), NM_AUTH_TYPE_LEAP);
> > +	nm_ap_security_set_description (NM_AP_SECURITY (security), _("LEAP"));
> > +
> > +	return security;
> > +}
> > +
> > +
> > +static int 
> > +real_serialize (NMAPSecurity *instance, DBusMessageIter *iter)
> > +{
> > +	NMAPSecurityLEAP * self = NM_AP_SECURITY_LEAP (instance);
> > +
> > +	if (!nmu_security_serialize_leap (iter, self->priv->username,
> > +			nm_ap_security_get_key(instance), self->priv->key_mgmt))
> > +		return -1;
> > +	return 0;
> > +}
> > +
> > +static gboolean 
> > +real_write_supplicant_config (NMAPSecurity *instance,
> > +                              struct wpa_ctrl *ctrl,
> > +                              int nwid,
> > +                              gboolean user_created)
> > +{
> > +	NMAPSecurityLEAP *	self = NM_AP_SECURITY_LEAP (instance);
> > +	gboolean			success = FALSE;
> > +	char *			msg;
> > +	const char *		password = nm_ap_security_get_key(instance);
> > +
> > +	g_return_val_if_fail (nm_ap_security_get_we_cipher (instance) == NM_AUTH_TYPE_LEAP, FALSE);
> > +
> > +	if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL, "SET_NETWORK %i proto WPA", nwid))
> > +		   goto out;
> > +
> > +	if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL, "SET_NETWORK %i key_mgmt %s",
> > +					    nwid, self->priv->key_mgmt))
> > +		   goto out;
> > +
> > +	if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL, "SET_NETWORK %i eap LEAP", nwid))
> > +		goto out;
> > +
> > +	if (self->priv->username && strlen (self->priv->username) > 0)
> > +		if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL, "SET_NETWORK %i identity \"%s\"",
> > +						    nwid, self->priv->username))
> > +			goto out;
> > +
> > +	if (password && strlen (password) > 0)
> > +	{
> > +		msg = g_strdup_printf ("SET_NETWORK %i password <password>", nwid);
> > +		if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, msg, "SET_NETWORK %i password \"%s\"",
> > +						    nwid, password))
> > +		{
> > +			g_free (msg);
> > +			goto out;
> > +		}
> > +		g_free (msg);
> > +	}
> > +
> > +	success = TRUE;
> > +
> > +out:
> > +	return success;
> > +}
> > +
> > +static guint32
> > +real_get_default_capabilities (NMAPSecurity *instance)
> > +{
> > +	NMAPSecurityLEAP	*self = NM_AP_SECURITY_LEAP (instance);
> > +	guint32			caps = NM_802_11_CAP_NONE;
> > +
> > +	caps |= NM_802_11_CAP_KEY_MGMT_802_1X;
> > +
> > +	return caps;
> > +}
> > +
> > +static NMAPSecurity *
> > +real_copy_constructor (NMAPSecurity *instance)
> > +{
> > +	NMAPSecurityLEAP * dst = g_object_new (NM_TYPE_AP_SECURITY_LEAP, NULL);
> > +	NMAPSecurityLEAP * self = NM_AP_SECURITY_LEAP (instance);
> > +
> > +	dst->priv->username = self->priv->username;
> > +	dst->priv->key_mgmt = self->priv->key_mgmt;
> > +
> > +	nm_ap_security_copy_properties (NM_AP_SECURITY (self), NM_AP_SECURITY (dst));
> > +
> > +	return NM_AP_SECURITY (dst);
> > +}
> > +
> > +
> > +static void
> > +nm_ap_security_leap_init (NMAPSecurityLEAP * self)
> > +{
> > +	self->priv = NM_AP_SECURITY_LEAP_GET_PRIVATE (self);
> > +	self->priv->username = NULL;
> > +	self->priv->key_mgmt = NULL;
> > +}
> > +
> > +
> > +static void
> > +nm_ap_security_leap_class_init (NMAPSecurityLEAPClass *klass)
> > +{
> > +	GObjectClass *object_class = G_OBJECT_CLASS (klass);
> > +	NMAPSecurityClass *par_class = NM_AP_SECURITY_CLASS (klass);
> > +
> > +	par_class->copy_constructor_func = real_copy_constructor;
> > +	par_class->serialize_func = real_serialize;
> > +	par_class->write_supplicant_config_func = real_write_supplicant_config;
> > +	par_class->get_default_capabilities_func = real_get_default_capabilities;
> > +
> > +	g_type_class_add_private (object_class, sizeof (NMAPSecurityLEAPPrivate));
> > +}
> > +
> > +
> > +GType
> > +nm_ap_security_leap_get_type (void)
> > +{
> > +	static GType type = 0;
> > +	if (type == 0) {
> > +		static const GTypeInfo info = {
> > +			sizeof (NMAPSecurityLEAPClass),
> > +			NULL,	/* base_init */
> > +			NULL,	/* base_finalize */
> > +			(GClassInitFunc) nm_ap_security_leap_class_init,
> > +			NULL,	/* class_finalize */
> > +			NULL,	/* class_data */
> > +			sizeof (NMAPSecurityLEAP),
> > +			0,		/* n_preallocs */
> > +			(GInstanceInitFunc) nm_ap_security_leap_init,
> > +			NULL		/* value_table */
> > +		};
> > +		type = g_type_register_static (NM_TYPE_AP_SECURITY,
> > +					       		 "NMAPSecurityLEAP",
> > +					       		 &info, 0);
> > +	}
> > +	return type;
> > +}
> > diff -pruN -X exclude.diff NetworkManager-cvs-orig/src/nm-ap-security-leap.h NetworkManager-leap-r46/src/nm-ap-security-leap.h
> > --- NetworkManager-cvs-orig/src/nm-ap-security-leap.h	1969-12-31 21:00:00.000000000 -0300
> > +++ NetworkManager-leap-r46/src/nm-ap-security-leap.h	2006-06-26 00:58:40.000000000 -0300
> > @@ -0,0 +1,61 @@
> > +/* NetworkManager -- Network link manager
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> > + *
> > + * (C) Copyright 2006 Thiago Jung Bauermann <thiago bauermann gmail com>
> > + */
> > +
> > +/* This file is heavily based on nm-ap-security-wpa-eap.h */
> > +
> > +#ifndef NM_AP_SECURITY_LEAP_H
> > +#define NM_AP_SECURITY_LEAP_H
> > +
> > +#include <glib-object.h>
> > +#include <dbus/dbus.h>
> > +#include "nm-ap-security.h"
> > +
> > +#define NM_TYPE_AP_SECURITY_LEAP			(nm_ap_security_leap_get_type ())
> > +#define NM_AP_SECURITY_LEAP(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_AP_SECURITY_LEAP, NMAPSecurityLEAP))
> > +#define NM_AP_SECURITY_LEAP_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_AP_SECURITY_LEAP, NMAPSecurityLEAPClass))
> > +#define NM_IS_AP_SECURITY_LEAP(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_AP_SECURITY_LEAP))
> > +#define NM_IS_AP_SECURITY_LEAP_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_AP_SECURITY_LEAP))
> > +#define NM_AP_SECURITY_LEAP_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_AP_SECURITY_LEAP, NMAPSecurityLEAPClass))
> > +
> > +typedef struct _NMAPSecurityLEAP NMAPSecurityLEAP;
> > +typedef struct _NMAPSecurityLEAPClass NMAPSecurityLEAPClass;
> > +typedef struct _NMAPSecurityLEAPPrivate NMAPSecurityLEAPPrivate;
> > +
> > +struct _NMAPSecurityLEAP
> > +{
> > +	NMAPSecurity parent;
> > +
> > +	/*< private >*/
> > +	NMAPSecurityLEAPPrivate *priv;
> > +};
> > +
> > +struct _NMAPSecurityLEAPClass
> > +{
> > +	NMAPSecurityClass parent;
> > +};
> > +
> > +
> > +GType nm_ap_security_leap_get_type (void);
> > +
> > +NMAPSecurityLEAP * nm_ap_security_leap_new_deserialize (DBusMessageIter *iter);
> > +
> > +struct NMAccessPoint;
> > +NMAPSecurityLEAP * nm_ap_security_leap_new_from_ap (struct NMAccessPoint *ap);
> > +
> > +#endif	/* NM_AP_SECURITY_LEAP_H */
> >   
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > NetworkManager-list mailing list
> > NetworkManager-list gnome org
> > http://mail.gnome.org/mailman/listinfo/networkmanager-list
> >   
> 
> plain text document attachment (iwlistScan.txt)
> eth2      Scan completed :
>           Cell 01 - Address: 00:0D:29:AC:D1:BF
>                     ESSID:"UnencryptedAPESSID"
>                     Protocol:IEEE 802.11b
>                     Mode:Master
>                     Channel:1
>                     Encryption key:off
>                     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
>                     Quality=79/100  Signal level=-50 dBm  
>                     Extra: Last beacon: 144ms ago
> 
> plain text document attachment (leapConnectSyslog.txt)
> Aug  2 12:11:50 mouse NetworkManager: <debug info>^I[1154538710.266512] nm_device_802_11_wireless_get_activation_ap (): Forcing AP 'WPAESSID' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IUser Switch: /org/freedesktop/NetworkManager/Devices/eth2 / WPAESSID 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IDeactivating device eth2. 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IDevice eth2 activation scheduled... 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) started... 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) Stage 1 of 5 (Device Prepare) scheduled... 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) Stage 1 of 5 (Device Prepare) started... 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) Stage 2 of 5 (Device Configure) scheduled... 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) Stage 1 of 5 (Device Prepare) complete. 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) Stage 2 of 5 (Device Configure) starting... 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2/wireless): access point 'WPAESSID' is encrypted, and a key exists.  No new key needed. 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'INTERFACE_ADD eth2^I^Iwext^I/var/run/wpa_supplicant^I' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'AP_SCAN 2' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'ADD_NETWORK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was '0' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 ssid 434f45575041' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 scan_ssid 1' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 proto WPA' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 key_mgmt WPA-EAP' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 eap LEAP' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 identity "jmartens"' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'SET_NETWORK 0 password <password>' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: sending command 'ENABLE_NETWORK 0' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^ISUP: response was 'OK' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IActivation (eth2) Stage 2 of 5 (Device Configure) complete. 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Global control interface '/var/run/wpa_supplicant-global' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX global ctrl_iface - hexdump_ascii(len=49): 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      49 4e 54 45 52 46 41 43 45 5f 41 44 44 20 65 74   INTERFACE_ADD et 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      68 32 09 09 77 65 78 74 09 2f 76 61 72 2f 72 75   h2__wext_/var/ru 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      6e 2f 77 70 61 5f 73 75 70 70 6c 69 63 61 6e 74   n/wpa_supplicant 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      09                                                _                
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE GLOBAL INTERFACE_ADD 'eth2^I^Iwext^I/var/run/wpa_supplicant^I' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Initializing interface 'eth2' conf 'N/A' driver 'wext' ctrl_interface '/var/run/wpa_supplicant' bridge 'N/A' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Initializing interface (2) 'eth2' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: SUPP_PAE entering state DISCONNECTED 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: KEY_RX entering state NO_KEY_RECEIVE 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: SUPP_BE entering state INITIALIZE 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAP: EAP entering state DISABLED 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: External notification - portEnabled=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: External notification - portValid=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): SIOCGIWRANGE: WE(compiled)=19 WE(source)=18 enc_capa=0xf 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):   capabilities: key_mgmt 0xf enc 0xf 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WEXT: Operstate: linkmode=1, operstate=5 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): 1 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_wpa 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_countermeasures 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_drop_unencrypted 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Setting scan request: 0 sec 100000 usec 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Added interface eth2 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b06 len=8 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=9): 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      41 50 5f 53 43 41 4e 20 32                        AP_SCAN 2        
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=11): 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      41 44 44 5f 4e 45 54 57 4f 52 4b                  ADD_NETWORK      
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: ADD_NETWORK 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=31): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: SET_NETWORK id=0 name='ssid' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: value - hexdump_ascii(len=12): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): ssid - hexdump_ascii(len=6): 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      43 4f 45 57 50 41                                 WPAESSID           
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=25): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): SET_NETWORK id=0 name='scan_ssid' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: value - hexdump_ascii(len=1): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): scan_ssid=1 (0x1) 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=23): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: SET_NETWORK id=0 name='proto' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: value - hexdump_ascii(len=3): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): proto: 0x1 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=30): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: SET_NETWORK id=0 name='key_mgmt' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: value - hexdump_ascii(len=7): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): key_mgmt: 0x1 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=22): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: SET_NETWORK id=0 name='eap' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: value - hexdump_ascii(len=4): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): eap methods - hexdump(len=16): 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=33): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: SET_NETWORK id=0 name='identity' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: value - hexdump_ascii(len=10): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): identity - hexdump_ascii(len=8): 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      6a 6d 61 72 74 65 6e 73                           jmartens         
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=33): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: SET_NETWORK id=0 name='password' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): 0): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): password - hexdump_ascii(len=8): [REMOVED] 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): RX ctrl_iface - hexdump_ascii(len=16): 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636):      45 4e 41 42 4c 45 5f 4e 45 54 57 4f 52 4b 20 30   ENABLE_NETWORK 0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE: ENABLE_NETWORK id=0 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Setting scan request: 0 sec 0 usec 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): State: DISCONNECTED -> SCANNING 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Trying to associate with SSID 'WPAESSID' 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Cancelling scan request 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: clearing own WPA/RSN IE 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Automatic auth_alg selection: 0x1 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: No WPA/RSN IE available from association info 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: Set cipher suites based on configuration 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: Selected cipher suites: group 30 pairwise 24 key_mgmt 1 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: clearing AP WPA IE 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: clearing AP RSN IE 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: using GTK CCMP 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: using PTK CCMP 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: using KEY_MGMT 802.1X 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WPA: Set own WPA IE default - hexdump(len=24): dd 16 00 50 f2 01 01 00 00 50 f2 04 01 00 00 50 f2 04 01 00 00 50 f2 01 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): No keys have been configured - skip key clearing 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_drop_unencrypted 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): State: SCANNING -> ASSOCIATING 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WEXT: Operstate: linkmode=-1, operstate=5 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_associate 
> Aug  2 12:11:50 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Setting authentication timeout: 60 sec 0 usec 
> Aug  2 12:11:50 mouse NetworkManager: <information>^IOld device 'eth2' activating, won't change. 
> Aug  2 12:12:01 mouse last message repeated 30 times
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): rnal notification - portControl=Auto 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL_IFACE monitor attached - hexdump(len=41): 2f 76 61 72 2f 72 75 6e 2f 4e 65 74 77 6f 72 6b 4d 61 6e 61 67 65 72 2f 77 70 61 5f 63 74 72 6c 5f 34 33 31 31 2d 31 33 00 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b06 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b1a len=15 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 649 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 649 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b15 len=20 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: new AP: 00:00:00:00:00:00 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Added BSSID 00:00:00:00:00:00 into blacklist 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): State: ASSOCIATING -> DISCONNECTED 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): WEXT: Operstate: linkmode=-1, operstate=5 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: External notification - portEnabled=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): EAPOL: External notification - portValid=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): 5f 63 74 72 6c 5f 34 33 31 31 2d 31 33 00 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^IOld device 'eth2' activating, won't change. 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 837 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 837 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 837 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 837 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636):  (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 838 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): can results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 580 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 612 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 580 bytes of scan results (3 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 3 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 836 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 836 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 804 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 837 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Received 837 bytes of scan results (4 BSSes) 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Scan results: 4 
> Aug  2 12:12:02 mouse NetworkManager: <information>^Iwpa_supplicant(4636): Wireless event: cmd=0x8b19 len=8 
> Aug  2 12:12:02 mouse NetworkManager: <information>^IOld device 'eth2' activating, won't change. 
> Aug  2 12:12:10 mouse last message repeated 21 times
> Aug  2 12:12:10 mouse NetworkManager: <information>^IActivation (eth2/wireless): association took too long (>20s), failing activation. 
> Aug  2 12:12:10 mouse NetworkManager: <information>^IActivation (eth2) failure scheduled... 
> Aug  2 12:12:10 mouse NetworkManager: <information>^IActivation (eth2) failed for access point (WPAESSID) 
> Aug  2 12:12:10 mouse NetworkManager: <information>^IActivation (eth2) failed. 
> Aug  2 12:12:10 mouse NetworkManager: <information>^IDeactivating device eth2. 
> _______________________________________________
> NetworkManager-list mailing list
> NetworkManager-list gnome org
> http://mail.gnome.org/mailman/listinfo/networkmanager-list




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