aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/wpa_auth_i.h
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2017-10-19 09:16:18 (GMT)
committerJouni Malinen <j@w1.fi>2017-10-19 15:32:16 (GMT)
commit3d6953288b592704484864f41791f8c67ff9aa5a (patch)
tree761078111206e2ab9aff7b3ed6703e1ce76ce376 /src/ap/wpa_auth_i.h
parent4be5bc98a8aabcc12eaf46855b984819d39d2b0e (diff)
downloadhostap-3d6953288b592704484864f41791f8c67ff9aa5a.zip
hostap-3d6953288b592704484864f41791f8c67ff9aa5a.tar.gz
hostap-3d6953288b592704484864f41791f8c67ff9aa5a.tar.bz2
Extend RESEND_* test commands to allow forcing plaintext TX
This allows hostapd testing functionality to be forced to send out a plaintext EAPOL-Key frame with the RESEND_* command. That can be useful in seeing how the station behaves if an unencrypted EAPOL frame is received when TK is already configured. This is not really perfect since there is no convenient way of sending out a single unencrypted frame in the current nl80211 design. The monitor interface could likely still do this, but that's not really supposed to be used anymore. For now, clear and restore TK during this operation. The restore part is not really working correctly, though, since it ends up clearing the TSC value on the AP side and that shows up as replay protection issues on the station. Anyway, this is sufficient to generate sniffer captures to analyze station behavior. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'src/ap/wpa_auth_i.h')
-rw-r--r--src/ap/wpa_auth_i.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
index a9fce6c..befa800 100644
--- a/src/ap/wpa_auth_i.h
+++ b/src/ap/wpa_auth_i.h
@@ -143,6 +143,12 @@ struct wpa_state_machine {
size_t fils_key_auth_len;
unsigned int fils_completed:1;
#endif /* CONFIG_FILS */
+
+#ifdef CONFIG_TESTING_OPTIONS
+ void (*eapol_status_cb)(void *ctx1, void *ctx2);
+ void *eapol_status_cb_ctx1;
+ void *eapol_status_cb_ctx2;
+#endif /* CONFIG_TESTING_OPTIONS */
};