aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2015-12-10 10:56:07 (GMT)
committerJouni Malinen <j@w1.fi>2015-12-18 18:32:39 (GMT)
commitdabdef9e048b17b22b1c025ad592922eab30dda8 (patch)
treefbcc73bbfbdad8861228377bf993b7dda170f38f
parent0fc5707ddee0643321f9c0b9eee81a73fbac606b (diff)
downloadhostap-dabdef9e048b17b22b1c025ad592922eab30dda8.zip
hostap-dabdef9e048b17b22b1c025ad592922eab30dda8.tar.gz
hostap-dabdef9e048b17b22b1c025ad592922eab30dda8.tar.bz2
TDLS: Ignore incoming TDLS Setup Response retries
The Setup Response timer is relatively fast (500 ms) and there are instances where it fires on the responder side after the initiator has already sent out the TDLS Setup Confirm frame. Prevent the processing of this stale TDLS Setup Response frame on the initiator side. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
-rw-r--r--src/rsn_supp/tdls.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
index 48752d7..86e509e 100644
--- a/src/rsn_supp/tdls.c
+++ b/src/rsn_supp/tdls.c
@@ -2176,6 +2176,14 @@ static int wpa_tdls_process_tpk_m2(struct wpa_sm *sm, const u8 *src_addr,
"ignore TPK M2 from " MACSTR, MAC2STR(src_addr));
return -1;
}
+
+ if (peer->tpk_success) {
+ wpa_printf(MSG_INFO, "TDLS: Ignore incoming TPK M2 retry, from "
+ MACSTR " as TPK M3 was already sent",
+ MAC2STR(src_addr));
+ return 0;
+ }
+
wpa_tdls_tpk_retry_timeout_cancel(sm, peer, WLAN_TDLS_SETUP_REQUEST);
if (len < 3 + 2 + 1) {