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