]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r306139:
authoreadler <eadler@FreeBSD.org>
Mon, 5 Mar 2018 08:18:13 +0000 (08:18 +0000)
committereadler <eadler@FreeBSD.org>
Mon, 5 Mar 2018 08:18:13 +0000 (08:18 +0000)
commitb86724478f0767bcb447f2a4ced738fa9317c57d
tree8e55f2865c25f67982c5f269695e06ab75528fc8
parent84a91ad3fd267fb2e209772e738541578c0c31c5
MFC r306139:

[net80211] don't add IBSS node table entries for neighbors from other SSIDs.

The adhoc probe/beacon input path was creating nodes for all SSIDs.
This wasn't a problem when the NICs were configured to only process
frames for the current BSSID, but that didn't allow IBSS merges.
Once avos and I flipped on "beacons from all BSSIDs" to allow for
correct IBSS merging, we found this interesting behaviour.

This adds a check against the current SSID.

* If there's no VAP SSID, allow anything
* If there's a VAP SSID, check if the incoming frame has a suitable
  SSID and if so, allow it.

This prevents nodes being created for other SSIDs in probe and beacon
frames - ie, beacons overlapping IBSSes with different SSIDs, and
probe requests from arbitrary devices.

Tested:

* AR9380, IBSS mode, both local and other IBSSes.
sys/net80211/ieee80211_adhoc.c
sys/net80211/ieee80211_node.c
sys/net80211/ieee80211_node.h