wifi: check that SSID in probe requests is either broadcast or corresponds to AP SSID

This commit is contained in:
Alexander Krotov
2019-01-23 16:41:54 +03:00
parent 71247a83f7
commit 1d9bfae669

View File

@@ -1092,8 +1092,14 @@ ApWifiMac::Receive (Ptr<Packet> packet, const WifiMacHeader *hdr)
if (hdr->IsProbeReq ())
{
NS_ASSERT (hdr->GetAddr1 ().IsBroadcast ());
NS_LOG_DEBUG ("Probe request received from " << from << ": send probe response");
SendProbeResp (from);
MgtProbeRequestHeader probeRequestHeader;
packet->RemoveHeader (probeRequestHeader);
Ssid ssid = probeRequestHeader.GetSsid ();
if (ssid == GetSsid () || ssid.IsBroadcast ())
{
NS_LOG_DEBUG ("Probe request received from " << from << ": send probe response");
SendProbeResp (from);
}
return;
}
else if (hdr->GetAddr1 () == GetAddress ())