[PATCH 1/2] Allow scanning while in authenticated only state

Johannes Berg johannes at sipsolutions.net
Sat Oct 31 06:44:43 EDT 2009


On Sat, 2009-10-31 at 12:33 +0200, Maxim Levitsky wrote:

> > Now, especially since you say that this still runs into problems while
> > connecting to a new AP, I think that wpa_supplicant should
> > deauthenticate from the old AP. After all, it wants to eventually
> > control FT and anything we do in the kernel will come back and interfere
> > with that.
> Exactly, at least for now.
> 
> How about putting this in wpa_supplicant, and end all trouble with this
> for once?
> 
> This is a workaround/hack, but at least it works....

I'm all for fixing the problem in wpa_supplicant, and it should be
plenty clear that I believe that except for the little auth-while-auth
thing, the bug _is_ in wpa_supplicant.

However, it's not my decision. I'll fix the auth-while-auth eventually,
but I believe it is not really the problem in your case.

johannes

> commit e57bfd6e760c32177ab74c462839dd20a92343b8
> Author: Maxim Levitsky <maximlevitsky at gmail.com>
> Date:   Sat Oct 31 12:05:35 2009 +0200
> 
>     driver_nl80211: send deauth on disassoc
> 
> diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> index b3861f5..dfed87d 100644
> --- a/src/drivers/driver_nl80211.c
> +++ b/src/drivers/driver_nl80211.c
> @@ -2046,12 +2046,18 @@ static int wpa_driver_nl80211_deauthenticate(void *priv, const u8 *addr,
>  static int wpa_driver_nl80211_disassociate(void *priv, const u8 *addr,
>                                            int reason_code)
>  {
> +       int err;
>         struct wpa_driver_nl80211_data *drv = priv;
>         if (!(drv->capa.flags & WPA_DRIVER_FLAGS_SME))
>                 return wpa_driver_nl80211_disconnect(drv, addr, reason_code);
>         wpa_printf(MSG_DEBUG, "%s", __func__);
>         drv->associated = 0;
> -       return wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DISASSOCIATE,
> +
> +       err = wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DISASSOCIATE,
> +                                      reason_code);
> +       if (err)
> +               return err;
> +       return wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DEAUTHENTICATE,
>                                        reason_code);
>  }
>  
> 
> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
Url : http://lists.shmoo.com/pipermail/hostap/attachments/20091031/aac33fba/attachment-0001.pgp 


More information about the HostAP mailing list