mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-17 17:43:06 -05:00
Cleanup: move related functions closer to eachother
This commit is contained in:
parent
3313cea0d6
commit
9302c5e19c
@ -168,55 +168,6 @@ static void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void hostapd_deauth_all_stas(struct hostapd_data *hapd)
|
|
||||||
{
|
|
||||||
u8 addr[ETH_ALEN];
|
|
||||||
|
|
||||||
/* New Prism2.5/3 STA firmware versions seem to have issues with this
|
|
||||||
* broadcast deauth frame. This gets the firmware in odd state where
|
|
||||||
* nothing works correctly, so let's skip sending this for the hostap
|
|
||||||
* driver. */
|
|
||||||
|
|
||||||
if (hapd->driver && os_strcmp(hapd->driver->name, "hostap") != 0) {
|
|
||||||
os_memset(addr, 0xff, ETH_ALEN);
|
|
||||||
hostapd_sta_deauth(hapd, addr,
|
|
||||||
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* hostapd_prune_associations - Remove extraneous associations
|
|
||||||
* @hapd: Pointer to BSS data for the most recent association
|
|
||||||
* @sta: Pointer to the associated STA data
|
|
||||||
*
|
|
||||||
* This function looks through all radios and BSS's for previous
|
|
||||||
* (stale) associations of STA. If any are found they are removed.
|
|
||||||
*/
|
|
||||||
static void hostapd_prune_associations(struct hostapd_data *hapd,
|
|
||||||
struct sta_info *sta)
|
|
||||||
{
|
|
||||||
struct sta_info *osta;
|
|
||||||
struct hostapd_data *ohapd;
|
|
||||||
size_t i, j;
|
|
||||||
struct hapd_interfaces *interfaces = eloop_get_user_data();
|
|
||||||
|
|
||||||
for (i = 0; i < interfaces->count; i++) {
|
|
||||||
for (j = 0; j < interfaces->iface[i]->num_bss; j++) {
|
|
||||||
ohapd = interfaces->iface[i]->bss[j];
|
|
||||||
if (ohapd == hapd)
|
|
||||||
continue;
|
|
||||||
osta = ap_get_sta(ohapd, sta->addr);
|
|
||||||
if (!osta)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
ap_sta_disassociate(ohapd, osta,
|
|
||||||
WLAN_REASON_UNSPECIFIED);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void ieee80211_tkip_countermeasures_stop(void *eloop_ctx,
|
static void ieee80211_tkip_countermeasures_stop(void *eloop_ctx,
|
||||||
void *timeout_ctx)
|
void *timeout_ctx)
|
||||||
{
|
{
|
||||||
@ -287,6 +238,38 @@ static void ieee80211_michael_mic_failure(struct hostapd_data *hapd,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hostapd_prune_associations - Remove extraneous associations
|
||||||
|
* @hapd: Pointer to BSS data for the most recent association
|
||||||
|
* @sta: Pointer to the associated STA data
|
||||||
|
*
|
||||||
|
* This function looks through all radios and BSS's for previous
|
||||||
|
* (stale) associations of STA. If any are found they are removed.
|
||||||
|
*/
|
||||||
|
static void hostapd_prune_associations(struct hostapd_data *hapd,
|
||||||
|
struct sta_info *sta)
|
||||||
|
{
|
||||||
|
struct sta_info *osta;
|
||||||
|
struct hostapd_data *ohapd;
|
||||||
|
size_t i, j;
|
||||||
|
struct hapd_interfaces *interfaces = eloop_get_user_data();
|
||||||
|
|
||||||
|
for (i = 0; i < interfaces->count; i++) {
|
||||||
|
for (j = 0; j < interfaces->iface[i]->num_bss; j++) {
|
||||||
|
ohapd = interfaces->iface[i]->bss[j];
|
||||||
|
if (ohapd == hapd)
|
||||||
|
continue;
|
||||||
|
osta = ap_get_sta(ohapd, sta->addr);
|
||||||
|
if (!osta)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
ap_sta_disassociate(ohapd, osta,
|
||||||
|
WLAN_REASON_UNSPECIFIED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hostapd_new_assoc_sta - Notify that a new station associated with the AP
|
* hostapd_new_assoc_sta - Notify that a new station associated with the AP
|
||||||
* @hapd: Pointer to BSS data
|
* @hapd: Pointer to BSS data
|
||||||
@ -981,7 +964,17 @@ static int hostapd_flush_old_stations(struct hostapd_data *hapd)
|
|||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
wpa_printf(MSG_DEBUG, "Deauthenticate all stations");
|
wpa_printf(MSG_DEBUG, "Deauthenticate all stations");
|
||||||
hostapd_deauth_all_stas(hapd);
|
|
||||||
|
/* New Prism2.5/3 STA firmware versions seem to have issues with this
|
||||||
|
* broadcast deauth frame. This gets the firmware in odd state where
|
||||||
|
* nothing works correctly, so let's skip sending this for the hostap
|
||||||
|
* driver. */
|
||||||
|
if (hapd->driver && os_strcmp(hapd->driver->name, "hostap") != 0) {
|
||||||
|
u8 addr[ETH_ALEN];
|
||||||
|
os_memset(addr, 0xff, ETH_ALEN);
|
||||||
|
hostapd_sta_deauth(hapd, addr,
|
||||||
|
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user