I have been looking at an issue with WPA/WPA2 and joining a specific Access
Point SSID that also has a hidden SSID available. This was with 3.14.47 kernel
but it is also present in all 3.x kernels.
When the AP's are being scanned it there is a warning generated stating that
the bssid is empty yet when you inspect what is actually happening in the code
it is because there is an SSID string but its length is 0 so it fails to return
when it should.
in net/wireless/scan.c there is a function is_bss that should return the
cfg80211_bss struct when it finds the matching details. When the bssid is
found but the SSID is empty (valid string "" but with length of 0) it passes
through when it should return as the bssid matches.
Patch is as follows:
--- net/wireless/scan.orig.c 2015-07-20 20:56:00.437994441 +0100
+++ net/wireless/scan.c 2015-07-20 20:57:45.473715000 +0100
@@ -401,7 +401,7 @@
if (bssid && !ether_addr_equal(a->bssid, bssid))
return false;
- if (!ssid)
+ if ( (!ssid) || (!ssid_len) )
return true;
ies = rcu_access_pointer(a->ies);
Kind Regards
Marc
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html