mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-01-31 01:04:03 -05:00
DPP2: Support mutual auth with QR in scan-during-auth-exchange case
Extend DPP authentication session search for the DPP_QR_CODE command to cover the ongoing exchanges in Controller/Responder. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
2e956c37d2
commit
fc3efe0834
@ -668,6 +668,8 @@ int dpp_controller_start(struct dpp_global *dpp,
|
|||||||
void dpp_controller_stop(struct dpp_global *dpp);
|
void dpp_controller_stop(struct dpp_global *dpp);
|
||||||
struct dpp_authentication * dpp_controller_get_auth(struct dpp_global *dpp,
|
struct dpp_authentication * dpp_controller_get_auth(struct dpp_global *dpp,
|
||||||
unsigned int id);
|
unsigned int id);
|
||||||
|
void dpp_controller_new_qr_code(struct dpp_global *dpp,
|
||||||
|
struct dpp_bootstrap_info *bi);
|
||||||
int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication *auth,
|
int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication *auth,
|
||||||
const struct hostapd_ip_addr *addr, int port,
|
const struct hostapd_ip_addr *addr, int port,
|
||||||
const char *name);
|
const char *name);
|
||||||
|
@ -1719,6 +1719,28 @@ struct dpp_authentication * dpp_controller_get_auth(struct dpp_global *dpp,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void dpp_controller_new_qr_code(struct dpp_global *dpp,
|
||||||
|
struct dpp_bootstrap_info *bi)
|
||||||
|
{
|
||||||
|
struct dpp_controller *ctrl = dpp->controller;
|
||||||
|
struct dpp_connection *conn;
|
||||||
|
|
||||||
|
if (!ctrl)
|
||||||
|
return;
|
||||||
|
|
||||||
|
dl_list_for_each(conn, &ctrl->conn, struct dpp_connection, list) {
|
||||||
|
struct dpp_authentication *auth = conn->auth;
|
||||||
|
|
||||||
|
if (!auth->response_pending ||
|
||||||
|
dpp_notify_new_qr_code(auth, bi) != 1)
|
||||||
|
continue;
|
||||||
|
wpa_printf(MSG_DEBUG,
|
||||||
|
"DPP: Sending out pending authentication response");
|
||||||
|
dpp_tcp_send_msg(conn, conn->auth->resp_msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void dpp_tcp_init_flush(struct dpp_global *dpp)
|
void dpp_tcp_init_flush(struct dpp_global *dpp)
|
||||||
{
|
{
|
||||||
struct dpp_connection *conn, *tmp;
|
struct dpp_connection *conn, *tmp;
|
||||||
|
@ -90,6 +90,10 @@ int wpas_dpp_qr_code(struct wpa_supplicant *wpa_s, const char *cmd)
|
|||||||
500, wpas_dpp_tx_status, 0);
|
500, wpas_dpp_tx_status, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DPP2
|
||||||
|
dpp_controller_new_qr_code(wpa_s->dpp, bi);
|
||||||
|
#endif /* CONFIG_DPP2 */
|
||||||
|
|
||||||
return bi->id;
|
return bi->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user