Re: [PATCH] 4addr: fix reconnecting client on connection lost

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

 



On Tue, Jul 05, 2016 at 03:00:43PM +0200, Matthias May wrote:
> When a 4addr client suddenly looses its connection (no deauth/deassoc)
> the AP still thinks it is connected.
> If the client reconnects before the AP timeoutes the client, traffic
> cannot flow.
> 
> Fix this by making sure the WLAN_STA_WDS flag is unset in the sta->flags
> when the client completes association.

> diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
> @@ -2829,6 +2829,7 @@ static void handle_assoc_cb(struct hostapd_data *hapd,
>  		new_assoc = 0;
>  	sta->flags |= WLAN_STA_ASSOC;
>  	sta->flags &= ~WLAN_STA_WNM_SLEEP_MODE;
> +	sta->flags &= ~WLAN_STA_WDS;

This looks a bit strange taken into account this same handle_assoc_cb()
function is using the WLAN_STA_WDS flag just below this:

    if (sta->flags & WLAN_STA_WDS) {
	int ret;
	char ifname_wds[IFNAMSIZ + 1];

	ret = hostapd_set_wds_sta(hapd, ifname_wds, sta->addr,
		      sta->aid, 1);
	if (!ret)
	    hostapd_set_wds_encryption(hapd, sta, ifname_wds);
    }


All that would become dead code if this patch were applied. Is this code
really supposed to be removed? If so, these lines should be deleted as
well. If not, this issue would likely need to be fixed in some other
manner.
 
-- 
Jouni Malinen                                            PGP id EFC895FA

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux