]> git.ipfire.org Git - thirdparty/hostap.git/commit
FILS: Do not process FILS HLP request again while previous one is pending
authorJouni Malinen <jouni@codeaurora.org>
Fri, 7 Dec 2018 14:03:40 +0000 (16:03 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 7 Dec 2018 14:03:40 +0000 (16:03 +0200)
commit17adac9ef9f7e840a11a8a7df0b928f44dbb7e67
tree7ed50b20e86858f7dacd1ce7891d928ae862fb84
parent891e1668c0f9b31f1b04c14bebdab7dd58c48824
FILS: Do not process FILS HLP request again while previous one is pending

It is better not to process a new (most likely repeated) FILS HLP
request if a station retransmits (Re)Association Request frame before
the previous HLP response has either been received or timed out. The
previous implementation ended up doing this and also ended up
rescheduling the fils_hlp_timeout timer in a manner that prevented the
initial timeout from being reached if the STA continued retransmitting
the frame. This could result in failed association due to a timeout on
the station side.

Make this more robust by processing (and relaying to the server) the HLP
request once and then ignoring any new HLP request while the response
for the relayed request is still pending. The new (Re)Association
Request frames are otherwise processed, but they do not result in actual
state change on the AP side before the HLP process from the first
pending request is completed.

This fixes hwsim test case fils_sk_hlp_oom failures with unmodified
mac80211 implementation (i.e., with a relatively short retransmission
timeout for (Re)Association Request frame).

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/ap/fils_hlp.c
src/ap/ieee802_11.c