do not run broadcast disassociations
@@ -2727,6 +2727,7 @@ for(zeiger = aplist; zeiger < aplist +MACLIST_MAX; zeiger++)
if(zeiger->status >= NET_M2) return;
if((attackstatus &DISABLE_AP_ATTACKS) == DISABLE_AP_ATTACKS) return;
{
+ if(memcmp(&mac_broadcast, macfrx->addr2, 6) == 0) return;
send_ack();
send_disassociation(macfrx->addr2, macfrx->addr1, WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY);
send_beacon_reactive(zeiger->addr, zeiger->essidlen, zeiger->essid);
@@ -2741,6 +2742,7 @@ for(zeiger = aplist; zeiger < aplist +MACLIST_MAX; zeiger++)
if(zeiger->status >= NET_M2) return;
if((attackstatus &DISABLE_AP_ATTACKS) == DISABLE_AP_ATTACKS) return;
{
+ if(memcmp(&mac_broadcast, macfrx->addr1, 6) == 0) return;
send_ack();
send_disassociation(macfrx->addr2, macfrx->addr1, WLAN_REASON_DISASSOC_STA_HAS_LEFT);
}
@@ -2759,6 +2761,7 @@ if((macfrx->to_ds == 1) && (macfrx->from_ds == 0))
}
if((macfrx->to_ds == 0) && (macfrx->from_ds == 1))
{
+ if(memcmp(&mac_broadcast, macfrx->addr1, 6) == 0) return;
send_ack();
send_disassociation(macfrx->addr2, macfrx->addr1, WLAN_REASON_DISASSOC_STA_HAS_LEFT);
send_disassociation(macfrx->addr2, macfrx->addr1, WLAN_REASON_DISASSOC_STA_HAS_LEFT);
