[PATCH 6/8] TDLS: ignore incoming setup-response retries

Ilan Peer ilan.peer at intel.com
Thu Dec 10 02:56:07 PST 2015


From: Arik Nemtsov <arik at wizery.com>

The setup-response timer is relatively fast (500ms) and there are instances
where it fires on the responder side after the initiator has already sent
out the setup-confirm packet. Prevent the processing of this stale
setup-response packet on the initiator side.

Signed-off-by: Arik Nemtsov <arikx.nemtsov at intel.com>
---
 src/rsn_supp/tdls.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
index 48752d7..cb85899 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) {
-- 
1.9.1




More information about the Hostap mailing list