Remove direct driver calls from tkip_countermeasures.c
This commit is contained in:
parent
2ce86d9d72
commit
6d1278e998
4 changed files with 13 additions and 12 deletions
|
@ -330,6 +330,15 @@ static int hostapd_sta_remove(struct hostapd_data *hapd, const u8 *addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int hostapd_set_countermeasures(struct hostapd_data *hapd, int enabled)
|
||||||
|
{
|
||||||
|
if (hapd->driver == NULL ||
|
||||||
|
hapd->driver->hapd_set_countermeasures == NULL)
|
||||||
|
return 0;
|
||||||
|
return hapd->driver->hapd_set_countermeasures(hapd->drv_priv, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void hostapd_set_driver_ops(struct hostapd_driver_ops *ops)
|
void hostapd_set_driver_ops(struct hostapd_driver_ops *ops)
|
||||||
{
|
{
|
||||||
ops->set_ap_wps_ie = hostapd_set_ap_wps_ie;
|
ops->set_ap_wps_ie = hostapd_set_ap_wps_ie;
|
||||||
|
@ -354,4 +363,5 @@ void hostapd_set_driver_ops(struct hostapd_driver_ops *ops)
|
||||||
ops->sta_disassoc = hostapd_sta_disassoc;
|
ops->sta_disassoc = hostapd_sta_disassoc;
|
||||||
ops->sta_add = hostapd_sta_add;
|
ops->sta_add = hostapd_sta_add;
|
||||||
ops->sta_remove = hostapd_sta_remove;
|
ops->sta_remove = hostapd_sta_remove;
|
||||||
|
ops->set_countermeasures = hostapd_set_countermeasures;
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,15 +125,6 @@ hostapd_set_ssid(struct hostapd_data *hapd, const u8 *buf, size_t len)
|
||||||
buf, len);
|
buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
|
||||||
hostapd_set_countermeasures(struct hostapd_data *hapd, int enabled)
|
|
||||||
{
|
|
||||||
if (hapd->driver == NULL ||
|
|
||||||
hapd->driver->hapd_set_countermeasures == NULL)
|
|
||||||
return 0;
|
|
||||||
return hapd->driver->hapd_set_countermeasures(hapd->drv_priv, enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
hostapd_set_freq(struct hostapd_data *hapd, int mode, int freq, int channel,
|
hostapd_set_freq(struct hostapd_data *hapd, int mode, int freq, int channel,
|
||||||
int ht_enabled, int sec_channel_offset)
|
int ht_enabled, int sec_channel_offset)
|
||||||
|
|
|
@ -89,6 +89,7 @@ struct hostapd_driver_ops {
|
||||||
u16 listen_interval,
|
u16 listen_interval,
|
||||||
const struct ieee80211_ht_capabilities *ht_capab);
|
const struct ieee80211_ht_capabilities *ht_capab);
|
||||||
int (*sta_remove)(struct hostapd_data *hapd, const u8 *addr);
|
int (*sta_remove)(struct hostapd_data *hapd, const u8 *addr);
|
||||||
|
int (*set_countermeasures)(struct hostapd_data *hapd, int enabled);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "hostapd.h"
|
#include "hostapd.h"
|
||||||
#include "eloop.h"
|
#include "eloop.h"
|
||||||
#include "driver_i.h"
|
|
||||||
#include "sta_info.h"
|
#include "sta_info.h"
|
||||||
#include "mlme.h"
|
#include "mlme.h"
|
||||||
#include "wpa.h"
|
#include "wpa.h"
|
||||||
|
@ -30,7 +29,7 @@ static void ieee80211_tkip_countermeasures_stop(void *eloop_ctx,
|
||||||
{
|
{
|
||||||
struct hostapd_data *hapd = eloop_ctx;
|
struct hostapd_data *hapd = eloop_ctx;
|
||||||
hapd->tkip_countermeasures = 0;
|
hapd->tkip_countermeasures = 0;
|
||||||
hostapd_set_countermeasures(hapd, 0);
|
hapd->drv.set_countermeasures(hapd, 0);
|
||||||
hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
|
hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
|
||||||
HOSTAPD_LEVEL_INFO, "TKIP countermeasures ended");
|
HOSTAPD_LEVEL_INFO, "TKIP countermeasures ended");
|
||||||
}
|
}
|
||||||
|
@ -45,7 +44,7 @@ static void ieee80211_tkip_countermeasures_start(struct hostapd_data *hapd)
|
||||||
|
|
||||||
wpa_auth_countermeasures_start(hapd->wpa_auth);
|
wpa_auth_countermeasures_start(hapd->wpa_auth);
|
||||||
hapd->tkip_countermeasures = 1;
|
hapd->tkip_countermeasures = 1;
|
||||||
hostapd_set_countermeasures(hapd, 1);
|
hapd->drv.set_countermeasures(hapd, 1);
|
||||||
wpa_gtk_rekey(hapd->wpa_auth);
|
wpa_gtk_rekey(hapd->wpa_auth);
|
||||||
eloop_cancel_timeout(ieee80211_tkip_countermeasures_stop, hapd, NULL);
|
eloop_cancel_timeout(ieee80211_tkip_countermeasures_stop, hapd, NULL);
|
||||||
eloop_register_timeout(60, 0, ieee80211_tkip_countermeasures_stop,
|
eloop_register_timeout(60, 0, ieee80211_tkip_countermeasures_stop,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue