Remove the bssid argument from send_auth_reply()

This became unused, so remove the argument from this function, all its
callers, and from places that became unused with these changes.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
Jouni Malinen 2024-04-20 11:28:54 +03:00 committed by Jouni Malinen
parent fd1a35e14a
commit 866ed63243
5 changed files with 45 additions and 55 deletions

View file

@ -1537,7 +1537,6 @@ int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa, const u8 *da,
#ifdef CONFIG_IEEE80211R_AP #ifdef CONFIG_IEEE80211R_AP
static void hostapd_notify_auth_ft_finish(void *ctx, const u8 *dst, static void hostapd_notify_auth_ft_finish(void *ctx, const u8 *dst,
const u8 *bssid,
u16 auth_transaction, u16 status, u16 auth_transaction, u16 status,
const u8 *ies, size_t ies_len) const u8 *ies, size_t ies_len)
{ {
@ -1613,7 +1612,7 @@ static void hostapd_notif_auth(struct hostapd_data *hapd,
status = WLAN_STATUS_UNSPECIFIED_FAILURE; status = WLAN_STATUS_UNSPECIFIED_FAILURE;
goto fail; goto fail;
} }
wpa_ft_process_auth(sta->wpa_sm, rx_auth->bssid, wpa_ft_process_auth(sta->wpa_sm,
rx_auth->auth_transaction, rx_auth->ies, rx_auth->auth_transaction, rx_auth->ies,
rx_auth->ies_len, rx_auth->ies_len,
hostapd_notify_auth_ft_finish, hapd); hostapd_notify_auth_ft_finish, hapd);

View file

@ -404,7 +404,7 @@ static u16 auth_shared_key(struct hostapd_data *hapd, struct sta_info *sta,
static int send_auth_reply(struct hostapd_data *hapd, struct sta_info *sta, static int send_auth_reply(struct hostapd_data *hapd, struct sta_info *sta,
const u8 *dst, const u8 *bssid, const u8 *dst,
u16 auth_alg, u16 auth_transaction, u16 resp, u16 auth_alg, u16 auth_transaction, u16 resp,
const u8 *ies, size_t ies_len, const char *dbg) const u8 *ies, size_t ies_len, const char *dbg)
{ {
@ -501,7 +501,7 @@ static int send_auth_reply(struct hostapd_data *hapd, struct sta_info *sta,
#ifdef CONFIG_IEEE80211R_AP #ifdef CONFIG_IEEE80211R_AP
static void handle_auth_ft_finish(void *ctx, const u8 *dst, const u8 *bssid, static void handle_auth_ft_finish(void *ctx, const u8 *dst,
u16 auth_transaction, u16 status, u16 auth_transaction, u16 status,
const u8 *ies, size_t ies_len) const u8 *ies, size_t ies_len)
{ {
@ -509,7 +509,7 @@ static void handle_auth_ft_finish(void *ctx, const u8 *dst, const u8 *bssid,
struct sta_info *sta; struct sta_info *sta;
int reply_res; int reply_res;
reply_res = send_auth_reply(hapd, NULL, dst, bssid, WLAN_AUTH_FT, reply_res = send_auth_reply(hapd, NULL, dst, WLAN_AUTH_FT,
auth_transaction, status, ies, ies_len, auth_transaction, status, ies, ies_len,
"auth-ft-finish"); "auth-ft-finish");
@ -705,7 +705,7 @@ static struct wpabuf * auth_build_sae_confirm(struct hostapd_data *hapd,
static int auth_sae_send_commit(struct hostapd_data *hapd, static int auth_sae_send_commit(struct hostapd_data *hapd,
struct sta_info *sta, struct sta_info *sta,
const u8 *bssid, int update, int status_code) int update, int status_code)
{ {
struct wpabuf *data; struct wpabuf *data;
int reply_res; int reply_res;
@ -732,7 +732,7 @@ static int auth_sae_send_commit(struct hostapd_data *hapd,
status = hapd->conf->sae_commit_status; status = hapd->conf->sae_commit_status;
} }
#endif /* CONFIG_TESTING_OPTIONS */ #endif /* CONFIG_TESTING_OPTIONS */
reply_res = send_auth_reply(hapd, sta, sta->addr, bssid, reply_res = send_auth_reply(hapd, sta, sta->addr,
WLAN_AUTH_SAE, 1, WLAN_AUTH_SAE, 1,
status, wpabuf_head(data), status, wpabuf_head(data),
wpabuf_len(data), "sae-send-commit"); wpabuf_len(data), "sae-send-commit");
@ -744,8 +744,7 @@ static int auth_sae_send_commit(struct hostapd_data *hapd,
static int auth_sae_send_confirm(struct hostapd_data *hapd, static int auth_sae_send_confirm(struct hostapd_data *hapd,
struct sta_info *sta, struct sta_info *sta)
const u8 *bssid)
{ {
struct wpabuf *data; struct wpabuf *data;
int reply_res; int reply_res;
@ -754,7 +753,7 @@ static int auth_sae_send_confirm(struct hostapd_data *hapd,
if (data == NULL) if (data == NULL)
return WLAN_STATUS_UNSPECIFIED_FAILURE; return WLAN_STATUS_UNSPECIFIED_FAILURE;
reply_res = send_auth_reply(hapd, sta, sta->addr, bssid, reply_res = send_auth_reply(hapd, sta, sta->addr,
WLAN_AUTH_SAE, 2, WLAN_AUTH_SAE, 2,
WLAN_STATUS_SUCCESS, wpabuf_head(data), WLAN_STATUS_SUCCESS, wpabuf_head(data),
wpabuf_len(data), "sae-send-confirm"); wpabuf_len(data), "sae-send-confirm");
@ -836,13 +835,13 @@ static void auth_sae_retransmit_timer(void *eloop_ctx, void *eloop_data)
switch (sta->sae->state) { switch (sta->sae->state) {
case SAE_COMMITTED: case SAE_COMMITTED:
ret = auth_sae_send_commit(hapd, sta, hapd->own_addr, 0, -1); ret = auth_sae_send_commit(hapd, sta, 0, -1);
eloop_register_timeout(0, eloop_register_timeout(0,
hapd->dot11RSNASAERetransPeriod * 1000, hapd->dot11RSNASAERetransPeriod * 1000,
auth_sae_retransmit_timer, hapd, sta); auth_sae_retransmit_timer, hapd, sta);
break; break;
case SAE_CONFIRMED: case SAE_CONFIRMED:
ret = auth_sae_send_confirm(hapd, sta, hapd->own_addr); ret = auth_sae_send_confirm(hapd, sta);
eloop_register_timeout(0, eloop_register_timeout(0,
hapd->dot11RSNASAERetransPeriod * 1000, hapd->dot11RSNASAERetransPeriod * 1000,
auth_sae_retransmit_timer, hapd, sta); auth_sae_retransmit_timer, hapd, sta);
@ -950,7 +949,7 @@ void sae_accept_sta(struct hostapd_data *hapd, struct sta_info *sta)
static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta, static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
const u8 *bssid, u16 auth_transaction, u16 status_code, u16 auth_transaction, u16 status_code,
int allow_reuse, int *sta_removed) int allow_reuse, int *sta_removed)
{ {
int ret; int ret;
@ -974,7 +973,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
sta->sae->pk = sta->sae->pk =
status_code == WLAN_STATUS_SAE_PK; status_code == WLAN_STATUS_SAE_PK;
} }
ret = auth_sae_send_commit(hapd, sta, bssid, ret = auth_sae_send_commit(hapd, sta,
!allow_reuse, status_code); !allow_reuse, status_code);
if (ret) if (ret)
return ret; return ret;
@ -1000,7 +999,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
* based on SAE finite state machine * based on SAE finite state machine
* Nothing -> Confirm transition. * Nothing -> Confirm transition.
*/ */
ret = auth_sae_send_confirm(hapd, sta, bssid); ret = auth_sae_send_confirm(hapd, sta);
if (ret) if (ret)
return ret; return ret;
sae_set_state(sta, SAE_CONFIRMED, sae_set_state(sta, SAE_CONFIRMED,
@ -1030,7 +1029,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
if (sae_process_commit(sta->sae) < 0) if (sae_process_commit(sta->sae) < 0)
return WLAN_STATUS_UNSPECIFIED_FAILURE; return WLAN_STATUS_UNSPECIFIED_FAILURE;
ret = auth_sae_send_confirm(hapd, sta, bssid); ret = auth_sae_send_confirm(hapd, sta);
if (ret) if (ret)
return ret; return ret;
sae_set_state(sta, SAE_CONFIRMED, "Sent Confirm"); sae_set_state(sta, SAE_CONFIRMED, "Sent Confirm");
@ -1045,8 +1044,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
return WLAN_STATUS_SUCCESS; return WLAN_STATUS_SUCCESS;
sta->sae->sync++; sta->sae->sync++;
ret = auth_sae_send_commit(hapd, sta, bssid, 0, ret = auth_sae_send_commit(hapd, sta, 0, status_code);
status_code);
if (ret) if (ret)
return ret; return ret;
@ -1057,7 +1055,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
* Nothing -> Confirmed transition that was reduced to * Nothing -> Confirmed transition that was reduced to
* Nothing -> Committed above. * Nothing -> Committed above.
*/ */
ret = auth_sae_send_confirm(hapd, sta, bssid); ret = auth_sae_send_confirm(hapd, sta);
if (ret) if (ret)
return ret; return ret;
@ -1068,7 +1066,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
* step to get to Accepted without waiting for * step to get to Accepted without waiting for
* additional events. * additional events.
*/ */
return sae_sm_step(hapd, sta, bssid, auth_transaction, return sae_sm_step(hapd, sta, auth_transaction,
WLAN_STATUS_SUCCESS, 0, sta_removed); WLAN_STATUS_SUCCESS, 0, sta_removed);
} }
break; break;
@ -1079,15 +1077,14 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
return WLAN_STATUS_SUCCESS; return WLAN_STATUS_SUCCESS;
sta->sae->sync++; sta->sae->sync++;
ret = auth_sae_send_commit(hapd, sta, bssid, 1, ret = auth_sae_send_commit(hapd, sta, 1, status_code);
status_code);
if (ret) if (ret)
return ret; return ret;
if (sae_process_commit(sta->sae) < 0) if (sae_process_commit(sta->sae) < 0)
return WLAN_STATUS_UNSPECIFIED_FAILURE; return WLAN_STATUS_UNSPECIFIED_FAILURE;
ret = auth_sae_send_confirm(hapd, sta, bssid); ret = auth_sae_send_confirm(hapd, sta);
if (ret) if (ret)
return ret; return ret;
@ -1108,8 +1105,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
*sta_removed = 1; *sta_removed = 1;
} else if (auth_transaction == 1) { } else if (auth_transaction == 1) {
wpa_printf(MSG_DEBUG, "SAE: Start reauthentication"); wpa_printf(MSG_DEBUG, "SAE: Start reauthentication");
ret = auth_sae_send_commit(hapd, sta, bssid, 1, ret = auth_sae_send_commit(hapd, sta, 1, status_code);
status_code);
if (ret) if (ret)
return ret; return ret;
sae_set_state(sta, SAE_COMMITTED, "Sent Commit"); sae_set_state(sta, SAE_COMMITTED, "Sent Commit");
@ -1123,7 +1119,7 @@ static int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,
return WLAN_STATUS_SUCCESS; return WLAN_STATUS_SUCCESS;
sta->sae->sync++; sta->sae->sync++;
ret = auth_sae_send_confirm(hapd, sta, bssid); ret = auth_sae_send_confirm(hapd, sta);
sae_clear_temp_data(sta->sae); sae_clear_temp_data(sta->sae);
if (ret) if (ret)
return ret; return ret;
@ -1284,7 +1280,7 @@ 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, sta->addr, mgmt->bssid, send_auth_reply(hapd, sta, sta->addr,
WLAN_AUTH_SAE, WLAN_AUTH_SAE,
auth_transaction, resp, pos, end - pos, auth_transaction, resp, pos, end - pos,
"auth-sae-reflection-attack"); "auth-sae-reflection-attack");
@ -1293,7 +1289,7 @@ 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, sta->addr, mgmt->bssid, send_auth_reply(hapd, sta, sta->addr,
WLAN_AUTH_SAE, WLAN_AUTH_SAE,
auth_transaction, resp, auth_transaction, resp,
wpabuf_head(hapd->conf->sae_commit_override), wpabuf_head(hapd->conf->sae_commit_override),
@ -1373,8 +1369,7 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
* Authentication frame, and the commit-scalar and * Authentication frame, and the commit-scalar and
* COMMIT-ELEMENT previously sent. * COMMIT-ELEMENT previously sent.
*/ */
resp = auth_sae_send_commit(hapd, sta, mgmt->bssid, 0, resp = auth_sae_send_commit(hapd, sta, 0, status_code);
status_code);
if (resp != WLAN_STATUS_SUCCESS) { if (resp != WLAN_STATUS_SUCCESS) {
wpa_printf(MSG_ERROR, wpa_printf(MSG_ERROR,
"SAE: Failed to send commit message"); "SAE: Failed to send commit message");
@ -1497,7 +1492,7 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
goto reply; goto reply;
} }
resp = sae_sm_step(hapd, sta, mgmt->bssid, auth_transaction, resp = sae_sm_step(hapd, sta, auth_transaction,
status_code, allow_reuse, &sta_removed); status_code, allow_reuse, &sta_removed);
} else if (auth_transaction == 2) { } else if (auth_transaction == 2) {
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
@ -1540,7 +1535,7 @@ static void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,
} }
sta->sae->rc = peer_send_confirm; sta->sae->rc = peer_send_confirm;
} }
resp = sae_sm_step(hapd, sta, mgmt->bssid, auth_transaction, resp = sae_sm_step(hapd, sta, auth_transaction,
status_code, 0, &sta_removed); status_code, 0, &sta_removed);
} else { } else {
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211, hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
@ -1565,7 +1560,7 @@ 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, sta->addr, mgmt->bssid, send_auth_reply(hapd, sta, sta->addr,
WLAN_AUTH_SAE, WLAN_AUTH_SAE,
auth_transaction, resp, auth_transaction, resp,
data ? wpabuf_head(data) : (u8 *) "", data ? wpabuf_head(data) : (u8 *) "",
@ -1606,7 +1601,7 @@ int auth_sae_init_committed(struct hostapd_data *hapd, struct sta_info *sta)
if (sta->sae->state != SAE_NOTHING) if (sta->sae->state != SAE_NOTHING)
return -1; return -1;
ret = auth_sae_send_commit(hapd, sta, hapd->own_addr, 0, -1); ret = auth_sae_send_commit(hapd, sta, 0, -1);
if (ret) if (ret)
return -1; return -1;
@ -2219,7 +2214,7 @@ static void handle_auth_fils_finish(struct hostapd_data *hapd,
auth_alg = (pub || auth_alg = (pub ||
resp == WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED) ? resp == WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED) ?
WLAN_AUTH_FILS_SK_PFS : WLAN_AUTH_FILS_SK; WLAN_AUTH_FILS_SK_PFS : WLAN_AUTH_FILS_SK;
send_auth_reply(hapd, sta, sta->addr, hapd->own_addr, auth_alg, 2, resp, send_auth_reply(hapd, sta, sta->addr, auth_alg, 2, resp,
data ? wpabuf_head(data) : (u8 *) "", data ? wpabuf_head(data) : (u8 *) "",
data ? wpabuf_len(data) : 0, "auth-fils-finish"); data ? wpabuf_len(data) : 0, "auth-fils-finish");
wpabuf_free(data); wpabuf_free(data);
@ -2820,7 +2815,7 @@ static void handle_auth(struct hostapd_data *hapd,
size_t resp_ies_len = 0; size_t resp_ies_len = 0;
u16 seq_ctrl; u16 seq_ctrl;
struct radius_sta rad_info; struct radius_sta rad_info;
const u8 *dst, *sa, *bssid; const u8 *dst, *sa;
#ifdef CONFIG_IEEE80211BE #ifdef CONFIG_IEEE80211BE
bool mld_sta = false; bool mld_sta = false;
#endif /* CONFIG_IEEE80211BE */ #endif /* CONFIG_IEEE80211BE */
@ -3207,7 +3202,7 @@ static void handle_auth(struct hostapd_data *hapd,
resp = WLAN_STATUS_UNSPECIFIED_FAILURE; resp = WLAN_STATUS_UNSPECIFIED_FAILURE;
goto fail; goto fail;
} }
wpa_ft_process_auth(sta->wpa_sm, mgmt->bssid, wpa_ft_process_auth(sta->wpa_sm,
auth_transaction, mgmt->u.auth.variable, auth_transaction, mgmt->u.auth.variable,
len - IEEE80211_HDRLEN - len - IEEE80211_HDRLEN -
sizeof(mgmt->u.auth), sizeof(mgmt->u.auth),
@ -3255,16 +3250,13 @@ static void handle_auth(struct hostapd_data *hapd,
fail: fail:
dst = mgmt->sa; dst = mgmt->sa;
bssid = mgmt->bssid;
#ifdef CONFIG_IEEE80211BE #ifdef CONFIG_IEEE80211BE
if (ap_sta_is_mld(hapd, sta)) { if (ap_sta_is_mld(hapd, sta))
dst = sta->addr; dst = sta->addr;
bssid = hapd->own_addr;
}
#endif /* CONFIG_IEEE80211BE */ #endif /* CONFIG_IEEE80211BE */
reply_res = send_auth_reply(hapd, sta, dst, bssid, auth_alg, reply_res = send_auth_reply(hapd, sta, dst, auth_alg,
auth_alg == WLAN_AUTH_SAE ? auth_alg == WLAN_AUTH_SAE ?
auth_transaction : auth_transaction + 1, auth_transaction : auth_transaction + 1,
resp, resp_ies, resp_ies_len, resp, resp_ies, resp_ies_len,
@ -4774,7 +4766,6 @@ static u16 send_assoc_resp(struct hostapd_data *hapd, struct sta_info *sta,
struct ieee80211_mgmt *reply; struct ieee80211_mgmt *reply;
u8 *p; u8 *p;
u16 res = WLAN_STATUS_SUCCESS; u16 res = WLAN_STATUS_SUCCESS;
const u8 *sa = hapd->own_addr;
buflen = sizeof(struct ieee80211_mgmt) + 1024; buflen = sizeof(struct ieee80211_mgmt) + 1024;
#ifdef CONFIG_FILS #ifdef CONFIG_FILS
@ -4812,8 +4803,8 @@ static u16 send_assoc_resp(struct hostapd_data *hapd, struct sta_info *sta,
WLAN_FC_STYPE_ASSOC_RESP)); WLAN_FC_STYPE_ASSOC_RESP));
os_memcpy(reply->da, addr, ETH_ALEN); os_memcpy(reply->da, addr, ETH_ALEN);
os_memcpy(reply->sa, sa, ETH_ALEN); os_memcpy(reply->sa, hapd->own_addr, ETH_ALEN);
os_memcpy(reply->bssid, sa, ETH_ALEN); os_memcpy(reply->bssid, hapd->own_addr, ETH_ALEN);
send_len = IEEE80211_HDRLEN; send_len = IEEE80211_HDRLEN;
send_len += sizeof(reply->u.assoc_resp); send_len += sizeof(reply->u.assoc_resp);

View file

@ -520,9 +520,9 @@ u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8 *pos,
size_t max_len, int auth_alg, size_t max_len, int auth_alg,
const u8 *req_ies, size_t req_ies_len, const u8 *req_ies, size_t req_ies_len,
int omit_rsnxe); int omit_rsnxe);
void wpa_ft_process_auth(struct wpa_state_machine *sm, const u8 *bssid, void wpa_ft_process_auth(struct wpa_state_machine *sm,
u16 auth_transaction, const u8 *ies, size_t ies_len, u16 auth_transaction, const u8 *ies, size_t ies_len,
void (*cb)(void *ctx, const u8 *dst, const u8 *bssid, void (*cb)(void *ctx, const u8 *dst,
u16 auth_transaction, u16 resp, u16 auth_transaction, u16 resp,
const u8 *ies, size_t ies_len), const u8 *ies, size_t ies_len),
void *ctx); void *ctx);

View file

@ -3442,9 +3442,9 @@ out:
} }
void wpa_ft_process_auth(struct wpa_state_machine *sm, const u8 *bssid, void wpa_ft_process_auth(struct wpa_state_machine *sm,
u16 auth_transaction, const u8 *ies, size_t ies_len, u16 auth_transaction, const u8 *ies, size_t ies_len,
void (*cb)(void *ctx, const u8 *dst, const u8 *bssid, void (*cb)(void *ctx, const u8 *dst,
u16 auth_transaction, u16 status, u16 auth_transaction, u16 status,
const u8 *ies, size_t ies_len), const u8 *ies, size_t ies_len),
void *ctx) void *ctx)
@ -3462,7 +3462,8 @@ void wpa_ft_process_auth(struct wpa_state_machine *sm, const u8 *bssid,
wpa_printf(MSG_DEBUG, "FT: Received authentication frame: STA=" MACSTR wpa_printf(MSG_DEBUG, "FT: Received authentication frame: STA=" MACSTR
" BSSID=" MACSTR " transaction=%d", " BSSID=" MACSTR " transaction=%d",
MAC2STR(sm->addr), MAC2STR(bssid), auth_transaction); MAC2STR(sm->addr), MAC2STR(sm->wpa_auth->addr),
auth_transaction);
sm->ft_pending_cb = cb; sm->ft_pending_cb = cb;
sm->ft_pending_cb_ctx = ctx; sm->ft_pending_cb_ctx = ctx;
sm->ft_pending_auth_transaction = auth_transaction; sm->ft_pending_auth_transaction = auth_transaction;
@ -3480,8 +3481,7 @@ void wpa_ft_process_auth(struct wpa_state_machine *sm, const u8 *bssid,
MAC2STR(sm->addr), auth_transaction + 1, status, MAC2STR(sm->addr), auth_transaction + 1, status,
status2str(status)); status2str(status));
wpa_hexdump(MSG_DEBUG, "FT: Response IEs", resp_ies, resp_ies_len); wpa_hexdump(MSG_DEBUG, "FT: Response IEs", resp_ies, resp_ies_len);
cb(ctx, sm->addr, bssid, auth_transaction + 1, status, cb(ctx, sm->addr, auth_transaction + 1, status, resp_ies, resp_ies_len);
resp_ies, resp_ies_len);
os_free(resp_ies); os_free(resp_ies);
} }
@ -3810,7 +3810,7 @@ int wpa_ft_action_rx(struct wpa_state_machine *sm, const u8 *data, size_t len)
} }
static void wpa_ft_rrb_rx_request_cb(void *ctx, const u8 *dst, const u8 *bssid, static void wpa_ft_rrb_rx_request_cb(void *ctx, const u8 *dst,
u16 auth_transaction, u16 resp, u16 auth_transaction, u16 resp,
const u8 *ies, size_t ies_len) const u8 *ies, size_t ies_len)
{ {
@ -4339,7 +4339,7 @@ static void ft_finish_pull(struct wpa_state_machine *sm)
wpa_printf(MSG_DEBUG, "FT: Postponed auth callback result for " MACSTR wpa_printf(MSG_DEBUG, "FT: Postponed auth callback result for " MACSTR
" - status %u", MAC2STR(sm->addr), status); " - status %u", MAC2STR(sm->addr), status);
sm->ft_pending_cb(sm->ft_pending_cb_ctx, sm->addr, sm->wpa_auth->addr, sm->ft_pending_cb(sm->ft_pending_cb_ctx, sm->addr,
sm->ft_pending_auth_transaction + 1, status, sm->ft_pending_auth_transaction + 1, status,
resp_ies, resp_ies_len); resp_ies, resp_ies_len);
os_free(resp_ies); os_free(resp_ies);

View file

@ -136,7 +136,7 @@ struct wpa_state_machine {
size_t r0kh_id_len; size_t r0kh_id_len;
u8 *assoc_resp_ftie; u8 *assoc_resp_ftie;
void (*ft_pending_cb)(void *ctx, const u8 *dst, const u8 *bssid, void (*ft_pending_cb)(void *ctx, const u8 *dst,
u16 auth_transaction, u16 status, u16 auth_transaction, u16 status,
const u8 *ies, size_t ies_len); const u8 *ies, size_t ies_len);
void *ft_pending_cb_ctx; void *ft_pending_cb_ctx;