TDLS: Add testing code for concurrent initiation
tdls_testing 0x80 can now be used to request wpa_supplicant to send a TDLS Setup Request frame (i.e., try to initiate TDLS setup) whenever a TDLS Setup Request frame has been received from a peer.
This commit is contained in:
parent
43291b683c
commit
0c4268eb27
1 changed files with 22 additions and 0 deletions
|
@ -35,6 +35,7 @@
|
||||||
#define TDLS_TESTING_WRONG_LIFETIME_RESP BIT(4)
|
#define TDLS_TESTING_WRONG_LIFETIME_RESP BIT(4)
|
||||||
#define TDLS_TESTING_WRONG_LIFETIME_CONF BIT(5)
|
#define TDLS_TESTING_WRONG_LIFETIME_CONF BIT(5)
|
||||||
#define TDLS_TESTING_LONG_LIFETIME BIT(6)
|
#define TDLS_TESTING_LONG_LIFETIME BIT(6)
|
||||||
|
#define TDLS_TESTING_CONCURRENT_INIT BIT(7)
|
||||||
unsigned int tdls_testing = 0;
|
unsigned int tdls_testing = 0;
|
||||||
#endif /* CONFIG_TDLS_TESTING */
|
#endif /* CONFIG_TDLS_TESTING */
|
||||||
|
|
||||||
|
@ -1202,6 +1203,27 @@ static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
|
||||||
wpa_printf(MSG_DEBUG, "TDLS: TPK M1 - TPK initiator " MACSTR,
|
wpa_printf(MSG_DEBUG, "TDLS: TPK M1 - TPK initiator " MACSTR,
|
||||||
MAC2STR(src_addr));
|
MAC2STR(src_addr));
|
||||||
|
|
||||||
|
#ifdef CONFIG_TDLS_TESTING
|
||||||
|
if (tdls_testing & TDLS_TESTING_CONCURRENT_INIT) {
|
||||||
|
for (peer = sm->tdls; peer; peer = peer->next) {
|
||||||
|
if (os_memcmp(peer->addr, src_addr, ETH_ALEN) == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (peer == NULL) {
|
||||||
|
peer = os_zalloc(sizeof(*peer));
|
||||||
|
if (peer == NULL)
|
||||||
|
goto error;
|
||||||
|
os_memcpy(peer->addr, src_addr, ETH_ALEN);
|
||||||
|
peer->next = sm->tdls;
|
||||||
|
sm->tdls = peer;
|
||||||
|
}
|
||||||
|
wpa_printf(MSG_DEBUG, "TDLS: Testing concurrent initiation of "
|
||||||
|
"TDLS setup - send own request");
|
||||||
|
peer->initiator = 1;
|
||||||
|
wpa_tdls_send_tpk_m1(sm, peer);
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_TDLS_TESTING */
|
||||||
|
|
||||||
if (!wpa_tdls_get_privacy(sm)) {
|
if (!wpa_tdls_get_privacy(sm)) {
|
||||||
if (kde.rsn_ie) {
|
if (kde.rsn_ie) {
|
||||||
wpa_printf(MSG_INFO, "TDLS: RSN IE in TPK M1 while "
|
wpa_printf(MSG_INFO, "TDLS: RSN IE in TPK M1 while "
|
||||||
|
|
Loading…
Reference in a new issue