diff options
Diffstat (limited to 'src/WifiAP.cpp')
-rw-r--r-- | src/WifiAP.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/WifiAP.cpp b/src/WifiAP.cpp index 1472425..f8c9f79 100644 --- a/src/WifiAP.cpp +++ b/src/WifiAP.cpp @@ -150,6 +150,9 @@ int HandleManagementFrame(u8* data, int len) { case 0x0: // assoc request { + if (!MACEqual(&data[16], (u8*)APMac)) // check BSSID + return 0; + if (ClientStatus != 1) { printf("wifiAP: bad assoc request, needs auth prior\n"); @@ -203,6 +206,9 @@ int HandleManagementFrame(u8* data, int len) case 0xA: // deassoc { + if (!MACEqual(&data[16], (u8*)APMac)) // check BSSID + return 0; + ClientStatus = 1; printf("wifiAP: client deassociated\n"); @@ -222,6 +228,9 @@ int HandleManagementFrame(u8* data, int len) case 0xB: // auth { + if (!MACEqual(&data[16], (u8*)APMac)) // check BSSID + return 0; + ClientStatus = 1; printf("wifiAP: client authenticated\n"); @@ -243,6 +252,9 @@ int HandleManagementFrame(u8* data, int len) case 0xC: // deauth { + if (!MACEqual(&data[16], (u8*)APMac)) // check BSSID + return 0; + ClientStatus = 0; printf("wifiAP: client deauthenticated\n"); |