aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2017-11-27 18:20:26 (GMT)
committerJouni Malinen <j@w1.fi>2017-11-27 18:20:26 (GMT)
commitd3cb7ebe1baac32adb034f6fc8b47e47b760c638 (patch)
treebfa48956cab51a0640c9e93db35eed789659d830
parentdc2f24f1b2cbc6f08f58016b52889e2476e66d79 (diff)
downloadhostap-d3cb7ebe1baac32adb034f6fc8b47e47b760c638.zip
hostap-d3cb7ebe1baac32adb034f6fc8b47e47b760c638.tar.gz
hostap-d3cb7ebe1baac32adb034f6fc8b47e47b760c638.tar.bz2
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 <jouni@qca.qualcomm.com>
-rw-r--r--src/ap/dpp_hostapd.c4
-rw-r--r--wpa_supplicant/dpp_supplicant.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c
index 8654ee9..e1d798e 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 05fe0c8..693d385 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;
}