Search Linux Wireless

Re: [PATCH] Fixed BSSID step 1: Disallow to set multicast BSSID

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

 



On Tue, 2009-01-06 at 02:41 +0100, Alina Friedrichsen wrote:
> Okay, here is the first of the five patches. After applying all of them you should be able to build/join huge city mesh networks (e.g. with the OLSR protocol) with the most of the mac80211 wireless drivers by setting a fixed BSSID in the ad hoc mode. (If you found no other bug/problem.) This was not specified in the original standard, but is a widely used de facto standard.
> 
> The first patch now completely disallow to set multicast MAC addresses as BSSID. The behavior before was really strange.
> 
> Signed-off-by: Alina Friedrichsen <x-alina@xxxxxxx>

These look ok to me, with proper changelogs. Thanks. You should have
made the subjects

[PATCH 1/5] mac80211: Disallow ...

etc. and also line-wrapped the changelogs, since these are fed directly
into git normally.

> diff -urN compat-wireless-2009-01-05.orig/net/mac80211/mlme.c compat-wireless-2009-01-05.work/net/mac80211/mlme.c
> --- compat-wireless-2009-01-05.orig/net/mac80211/mlme.c	2009-01-06 01:38:05.000000000 +0100
> +++ compat-wireless-2009-01-05/net/mac80211/mlme.c	2009-01-06 01:47:41.000000000 +0100
> @@ -2576,11 +2576,16 @@
>  {
>  	struct ieee80211_if_sta *ifsta;
>  	int res;
> +	bool valid;
>  
>  	ifsta = &sdata->u.sta;
> +	valid = is_valid_ether_addr(bssid);
>  
>  	if (memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0) {
> -		memcpy(ifsta->bssid, bssid, ETH_ALEN);
> +		if(valid)
> +			memcpy(ifsta->bssid, bssid, ETH_ALEN);
> +		else
> +			memset(ifsta->bssid, 0, ETH_ALEN);
>  		res = 0;
>  		/*
>  		 * Hack! See also ieee80211_sta_set_ssid.
> @@ -2594,7 +2599,7 @@
>  		}
>  	}
>  
> -	if (is_valid_ether_addr(bssid))
> +	if (valid)
>  		ifsta->flags |= IEEE80211_STA_BSSID_SET;
>  	else
>  		ifsta->flags &= ~IEEE80211_STA_BSSID_SET;
> 

Attachment: signature.asc
Description: This is a digitally signed message part


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