mesh: Delay Authentication frame process with no_auto_peer

There is a possible race condition between receiving the
NEW_PEER_CANDIDATE event and the Authentication frame from the peer.
Previously, if the Authentication frame RX event was indicated first,
that frame got dropped silently. Now, this frame is still dropped, but a
copy of it is stored and the frame gets processed on the following
NEW_PEER_CANDIDATE event if that is received for the same peer within
two seconds.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2014-12-23 13:44:38 +02:00
parent e0cfd223c0
commit 3a322496f9
4 changed files with 40 additions and 0 deletions

View file

@ -251,6 +251,8 @@ struct hostapd_data {
int num_plinks;
int max_plinks;
void (*mesh_sta_free_cb)(struct sta_info *sta);
struct wpabuf *mesh_pending_auth;
struct os_reltime mesh_pending_auth_time;
#endif /* CONFIG_MESH */
#ifdef CONFIG_SQLITE