ap: Stop EAPOL negotiation on Disassociation

Make sure we interrupt eapol traffic (4-way handshake) if we receive a
Disassociation from station.  Actually do this in ap_del_station because
it's called from both ap_disassoc_cb and ap_success_assoc_resp_cb and
seems to make sense in both cases.
This commit is contained in:
Andrew Zaborowski 2018-08-24 03:37:54 +02:00 committed by Denis Kenzior
parent f460a7e12c
commit cb04fb6314
1 changed files with 9 additions and 0 deletions

View File

@ -153,6 +153,15 @@ static void ap_del_station(struct sta_state *sta, uint16_t reason,
netdev_del_station(sta->ap->netdev, sta->addr, reason, disassociate);
sta->associated = false;
sta->rsna = false;
if (sta->sm)
eapol_sm_free(sta->sm);
if (sta->hs)
handshake_state_free(sta->hs);
sta->hs = NULL;
sta->sm = NULL;
}
static bool ap_sta_match_addr(const void *a, const void *b)