From 1d9bfae669593f91a2c5263b49124c1dbbd8f367 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Wed, 23 Jan 2019 16:41:54 +0300 Subject: [PATCH] wifi: check that SSID in probe requests is either broadcast or corresponds to AP SSID --- src/wifi/model/ap-wifi-mac.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/wifi/model/ap-wifi-mac.cc b/src/wifi/model/ap-wifi-mac.cc index 1eb5aa5e0..8a4c89df3 100644 --- a/src/wifi/model/ap-wifi-mac.cc +++ b/src/wifi/model/ap-wifi-mac.cc @@ -1092,8 +1092,14 @@ ApWifiMac::Receive (Ptr 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 ())