|
@@ -11,6 +11,7 @@
|
|
#include "utils/common.h"
|
|
#include "utils/common.h"
|
|
#include "common/ieee802_11_defs.h"
|
|
#include "common/ieee802_11_defs.h"
|
|
#include "common/sae.h"
|
|
#include "common/sae.h"
|
|
|
|
+#include "common/wpa_ctrl.h"
|
|
#include "eapol_auth/eapol_auth_sm.h"
|
|
#include "eapol_auth/eapol_auth_sm.h"
|
|
#include "eapol_auth/eapol_auth_sm_i.h"
|
|
#include "eapol_auth/eapol_auth_sm_i.h"
|
|
#include "eap_server/eap.h"
|
|
#include "eap_server/eap.h"
|
|
@@ -144,6 +145,14 @@ static int hostapd_wpa_auth_mic_failure_report(void *ctx, const u8 *addr)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+static void hostapd_wpa_auth_psk_failure_report(void *ctx, const u8 *addr)
|
|
|
|
+{
|
|
|
|
+ struct hostapd_data *hapd = ctx;
|
|
|
|
+ wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_POSSIBLE_PSK_MISMATCH MACSTR,
|
|
|
|
+ MAC2STR(addr));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
static void hostapd_wpa_auth_set_eapol(void *ctx, const u8 *addr,
|
|
static void hostapd_wpa_auth_set_eapol(void *ctx, const u8 *addr,
|
|
wpa_eapol_variable var, int value)
|
|
wpa_eapol_variable var, int value)
|
|
{
|
|
{
|
|
@@ -579,6 +588,7 @@ int hostapd_setup_wpa(struct hostapd_data *hapd)
|
|
cb.logger = hostapd_wpa_auth_logger;
|
|
cb.logger = hostapd_wpa_auth_logger;
|
|
cb.disconnect = hostapd_wpa_auth_disconnect;
|
|
cb.disconnect = hostapd_wpa_auth_disconnect;
|
|
cb.mic_failure_report = hostapd_wpa_auth_mic_failure_report;
|
|
cb.mic_failure_report = hostapd_wpa_auth_mic_failure_report;
|
|
|
|
+ cb.psk_failure_report = hostapd_wpa_auth_psk_failure_report;
|
|
cb.set_eapol = hostapd_wpa_auth_set_eapol;
|
|
cb.set_eapol = hostapd_wpa_auth_set_eapol;
|
|
cb.get_eapol = hostapd_wpa_auth_get_eapol;
|
|
cb.get_eapol = hostapd_wpa_auth_get_eapol;
|
|
cb.get_psk = hostapd_wpa_auth_get_psk;
|
|
cb.get_psk = hostapd_wpa_auth_get_psk;
|