P2P: Do not reply to 802.11b-only Probe Request frames as GO
If AP mode SME/MLME within wpa_supplicant is used for processing Probe Request frames in GO mode, drop Probe Request frames that include only 802.11b rates per P2P spec section 2.4.1. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
ec7b97ab00
commit
85b4eac364
4 changed files with 46 additions and 33 deletions
|
@ -512,3 +512,36 @@ enum hostapd_hw_mode ieee80211_freq_to_chan(int freq, u8 *channel)
|
|||
|
||||
return mode;
|
||||
}
|
||||
|
||||
|
||||
static int is_11b(u8 rate)
|
||||
{
|
||||
return rate == 0x02 || rate == 0x04 || rate == 0x0b || rate == 0x16;
|
||||
}
|
||||
|
||||
|
||||
int supp_rates_11b_only(struct ieee802_11_elems *elems)
|
||||
{
|
||||
int num_11b = 0, num_others = 0;
|
||||
int i;
|
||||
|
||||
if (elems->supp_rates == NULL && elems->ext_supp_rates == NULL)
|
||||
return 0;
|
||||
|
||||
for (i = 0; elems->supp_rates && i < elems->supp_rates_len; i++) {
|
||||
if (is_11b(elems->supp_rates[i]))
|
||||
num_11b++;
|
||||
else
|
||||
num_others++;
|
||||
}
|
||||
|
||||
for (i = 0; elems->ext_supp_rates && i < elems->ext_supp_rates_len;
|
||||
i++) {
|
||||
if (is_11b(elems->ext_supp_rates[i]))
|
||||
num_11b++;
|
||||
else
|
||||
num_others++;
|
||||
}
|
||||
|
||||
return num_11b > 0 && num_others == 0;
|
||||
}
|
||||
|
|
|
@ -101,4 +101,6 @@ int hostapd_config_wmm_ac(struct hostapd_wmm_ac_params wmm_ac_params[],
|
|||
const char *name, const char *val);
|
||||
enum hostapd_hw_mode ieee80211_freq_to_chan(int freq, u8 *channel);
|
||||
|
||||
int supp_rates_11b_only(struct ieee802_11_elems *elems);
|
||||
|
||||
#endif /* IEEE802_11_COMMON_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue