GAS client: Make PMF check on RX more consistent
Use the SA field instead of BSSID in the received Action frame to determine whether PMF has been negotiated with the transmitter. While these fields are supposed to be same for Public Action frames from an AP, it would be possible that a frame is received with different values. The following operations in gas_query_rx() use SA, so do the same for the PMF check. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
1bef9e8729
commit
e04019737e
1 changed files with 1 additions and 1 deletions
|
@ -501,7 +501,7 @@ int gas_query_rx(struct gas_query *gas, const u8 *da, const u8 *sa,
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
prot = categ == WLAN_ACTION_PROTECTED_DUAL;
|
prot = categ == WLAN_ACTION_PROTECTED_DUAL;
|
||||||
pmf = pmf_in_use(gas->wpa_s, bssid);
|
pmf = pmf_in_use(gas->wpa_s, sa);
|
||||||
if (prot && !pmf) {
|
if (prot && !pmf) {
|
||||||
wpa_printf(MSG_DEBUG, "GAS: Drop unexpected protected GAS frame when PMF is disabled");
|
wpa_printf(MSG_DEBUG, "GAS: Drop unexpected protected GAS frame when PMF is disabled");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue