AP: Use the MLD MAC address for SAE authentication failures and testing
In cases of SAE failure and testing, mgmt->sa was used for sending the Authentication frame. Fix these to use the station address (which is the MLD MAC address in cases of non-AP MLDs). Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
4a973718d4
commit
615835626f
1 changed files with 6 additions and 3 deletions
|
@ -1282,7 +1282,8 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
|
||||||
pos = mgmt->u.auth.variable;
|
pos = mgmt->u.auth.variable;
|
||||||
end = ((const u8 *) mgmt) + len;
|
end = ((const u8 *) mgmt) + len;
|
||||||
resp = status_code;
|
resp = status_code;
|
||||||
send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE,
|
send_auth_reply(hapd, sta, sta->addr, mgmt->bssid,
|
||||||
|
WLAN_AUTH_SAE,
|
||||||
auth_transaction, resp, pos, end - pos,
|
auth_transaction, resp, pos, end - pos,
|
||||||
"auth-sae-reflection-attack");
|
"auth-sae-reflection-attack");
|
||||||
goto remove_sta;
|
goto remove_sta;
|
||||||
|
@ -1290,7 +1291,8 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
|
||||||
|
|
||||||
if (hapd->conf->sae_commit_override && auth_transaction == 1) {
|
if (hapd->conf->sae_commit_override && auth_transaction == 1) {
|
||||||
wpa_printf(MSG_DEBUG, "SAE: TESTING - commit override");
|
wpa_printf(MSG_DEBUG, "SAE: TESTING - commit override");
|
||||||
send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE,
|
send_auth_reply(hapd, sta, sta->addr, mgmt->bssid,
|
||||||
|
WLAN_AUTH_SAE,
|
||||||
auth_transaction, resp,
|
auth_transaction, resp,
|
||||||
wpabuf_head(hapd->conf->sae_commit_override),
|
wpabuf_head(hapd->conf->sae_commit_override),
|
||||||
wpabuf_len(hapd->conf->sae_commit_override),
|
wpabuf_len(hapd->conf->sae_commit_override),
|
||||||
|
@ -1561,7 +1563,8 @@ reply:
|
||||||
data = wpabuf_alloc_copy(pos, 2);
|
data = wpabuf_alloc_copy(pos, 2);
|
||||||
|
|
||||||
sae_sme_send_external_auth_status(hapd, sta, resp);
|
sae_sme_send_external_auth_status(hapd, sta, resp);
|
||||||
send_auth_reply(hapd, sta, mgmt->sa, mgmt->bssid, WLAN_AUTH_SAE,
|
send_auth_reply(hapd, sta, sta->addr, mgmt->bssid,
|
||||||
|
WLAN_AUTH_SAE,
|
||||||
auth_transaction, resp,
|
auth_transaction, resp,
|
||||||
data ? wpabuf_head(data) : (u8 *) "",
|
data ? wpabuf_head(data) : (u8 *) "",
|
||||||
data ? wpabuf_len(data) : 0, "auth-sae");
|
data ? wpabuf_len(data) : 0, "auth-sae");
|
||||||
|
|
Loading…
Add table
Reference in a new issue