From 3a3cb8ee81f4f93fbb3d8977808055adabd47ec6 Mon Sep 17 00:00:00 2001 From: Ashok Kumar Ponnaiah Date: Fri, 29 Aug 2014 16:04:08 +0300 Subject: [PATCH] wlantest: Indicate if a TKIP/CCMP replay has Retry=1 Signed-off-by: Jouni Malinen --- wlantest/rx_data.c | 12 ++++++++---- wlantest/rx_mgmt.c | 6 ++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/wlantest/rx_data.c b/wlantest/rx_data.c index dec5857ea..e0c922904 100644 --- a/wlantest/rx_data.c +++ b/wlantest/rx_data.c @@ -192,11 +192,13 @@ static void rx_data_bss_prot_group(struct wlantest *wt, if (os_memcmp(pn, bss->rsc[keyid], 6) <= 0) { u16 seq_ctrl = le_to_host16(hdr->seq_ctrl); add_note(wt, MSG_INFO, "CCMP/TKIP replay detected: A1=" MACSTR - " A2=" MACSTR " A3=" MACSTR " seq=%u frag=%u", + " A2=" MACSTR " A3=" MACSTR " seq=%u frag=%u%s", MAC2STR(hdr->addr1), MAC2STR(hdr->addr2), MAC2STR(hdr->addr3), WLAN_GET_SEQ_SEQ(seq_ctrl), - WLAN_GET_SEQ_FRAG(seq_ctrl)); + WLAN_GET_SEQ_FRAG(seq_ctrl), + (le_to_host16(hdr->frame_control) & WLAN_FC_RETRY) ? + " Retry" : ""); wpa_hexdump(MSG_INFO, "RX PN", pn, 6); wpa_hexdump(MSG_INFO, "RSC", bss->rsc[keyid], 6); } @@ -369,11 +371,13 @@ static void rx_data_bss_prot(struct wlantest *wt, if (os_memcmp(pn, rsc, 6) <= 0) { u16 seq_ctrl = le_to_host16(hdr->seq_ctrl); add_note(wt, MSG_INFO, "CCMP/TKIP replay detected: A1=" MACSTR - " A2=" MACSTR " A3=" MACSTR " seq=%u frag=%u", + " A2=" MACSTR " A3=" MACSTR " seq=%u frag=%u%s", MAC2STR(hdr->addr1), MAC2STR(hdr->addr2), MAC2STR(hdr->addr3), WLAN_GET_SEQ_SEQ(seq_ctrl), - WLAN_GET_SEQ_FRAG(seq_ctrl)); + WLAN_GET_SEQ_FRAG(seq_ctrl), + (le_to_host16(hdr->frame_control) & WLAN_FC_RETRY) ? + " Retry" : ""); wpa_hexdump(MSG_INFO, "RX PN", pn, 6); wpa_hexdump(MSG_INFO, "RSC", rsc, 6); } diff --git a/wlantest/rx_mgmt.c b/wlantest/rx_mgmt.c index c6ff718ac..367a6b5f7 100644 --- a/wlantest/rx_mgmt.c +++ b/wlantest/rx_mgmt.c @@ -930,11 +930,13 @@ static u8 * mgmt_ccmp_decrypt(struct wlantest *wt, const u8 *data, size_t len, if (os_memcmp(pn, rsc, 6) <= 0) { u16 seq_ctrl = le_to_host16(hdr->seq_ctrl); add_note(wt, MSG_INFO, "CCMP/TKIP replay detected: A1=" MACSTR - " A2=" MACSTR " A3=" MACSTR " seq=%u frag=%u", + " A2=" MACSTR " A3=" MACSTR " seq=%u frag=%u%s", MAC2STR(hdr->addr1), MAC2STR(hdr->addr2), MAC2STR(hdr->addr3), WLAN_GET_SEQ_SEQ(seq_ctrl), - WLAN_GET_SEQ_FRAG(seq_ctrl)); + WLAN_GET_SEQ_FRAG(seq_ctrl), + (le_to_host16(hdr->frame_control) & WLAN_FC_RETRY) ? + " Retry" : ""); wpa_hexdump(MSG_INFO, "RX PN", pn, 6); wpa_hexdump(MSG_INFO, "RSC", rsc, 6); }