From: Jouni Malinen Date: Mon, 27 Nov 2017 18:20:26 +0000 (+0200) Subject: DPP: Do not process dpp_auth_ok_on_ack multiple times X-Git-Tag: hostap_2_7~766 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3cb7ebe1baac32adb034f6fc8b47e47b760c638;p=thirdparty%2Fhostap.git DPP: Do not process dpp_auth_ok_on_ack multiple times An additional TX status callback could result in processing the DPP authentication completion another time at least with hostapd. Fix this by clearing the dpp_auth_ok_on_ack when processing it. Signed-off-by: Jouni Malinen --- diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c index 8654ee9be..e1d798e7d 100644 --- a/src/ap/dpp_hostapd.c +++ b/src/ap/dpp_hostapd.c @@ -300,8 +300,10 @@ void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst, return; } - if (hapd->dpp_auth_ok_on_ack) + if (hapd->dpp_auth_ok_on_ack) { + hapd->dpp_auth_ok_on_ack = 0; hostapd_dpp_auth_success(hapd, 1); + } } diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c index 05fe0c84d..693d3853c 100644 --- a/wpa_supplicant/dpp_supplicant.c +++ b/wpa_supplicant/dpp_supplicant.c @@ -435,6 +435,9 @@ static void wpas_dpp_tx_status(struct wpa_supplicant *wpa_s, offchannel_send_action_done(wpa_s); wpas_dpp_listen_start(wpa_s, wpa_s->dpp_auth->neg_freq); } + + if (wpa_s->dpp_auth_ok_on_ack) + wpa_s->dpp_auth_ok_on_ack = 0; }