* [PATCH] mac80211: don't connect to IBSS network with different privacy
@ 2009-05-12 18:47 Johannes Berg
0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2009-05-12 18:47 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless, Jouni Malinen
Even when we find an IBSS with the SSID we're looking for, we
may not be able to connect to it because it has a key and we
don't, or vice versa. Avoid such situations by checking the
privacy capability bit.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
net/mac80211/ibss.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
--- wireless-testing.orig/net/mac80211/ibss.c 2009-05-12 20:37:52.000000000 +0200
+++ wireless-testing/net/mac80211/ibss.c 2009-05-12 20:40:19.000000000 +0200
@@ -499,6 +499,7 @@ static void ieee80211_sta_find_ibss(stru
struct ieee80211_channel *chan = NULL;
const u8 *bssid = NULL;
int active_ibss;
+ u16 capability;
active_ibss = ieee80211_sta_active_ibss(sdata);
#ifdef CONFIG_MAC80211_IBSS_DEBUG
@@ -509,6 +510,10 @@ static void ieee80211_sta_find_ibss(stru
if (active_ibss)
return;
+ capability = WLAN_CAPABILITY_IBSS;
+ if (sdata->default_key)
+ capability |= WLAN_CAPABILITY_PRIVACY;
+
if (ifibss->fixed_bssid)
bssid = ifibss->bssid;
if (ifibss->fixed_channel)
@@ -517,8 +522,9 @@ static void ieee80211_sta_find_ibss(stru
bssid = ifibss->bssid;
bss = (void *)cfg80211_get_bss(local->hw.wiphy, chan, bssid,
ifibss->ssid, ifibss->ssid_len,
- WLAN_CAPABILITY_IBSS,
- WLAN_CAPABILITY_IBSS);
+ capability,
+ WLAN_CAPABILITY_IBSS |
+ WLAN_CAPABILITY_PRIVACY);
#ifdef CONFIG_MAC80211_IBSS_DEBUG
if (bss)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-05-12 18:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-12 18:47 [PATCH] mac80211: don't connect to IBSS network with different privacy Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox