Add disallow_aps parameter to disallow BSSIDs/SSIDs
External programs can use this new parameter to prevent wpa_supplicant from connecting to a list of BSSIDs and/or SSIDs. The disallowed BSSes will still be visible in scan results and it is possible to run ANQP operations with them, but BSS selection for connection will skip any BSS that matches an entry in the disallowed list. The new parameter can be set with the control interface SET command using following syntax: SET disallow_aps <disallow_list> disallow_list ::= <ssid_spec> | <bssid_spec> | <disallow_list> | “” SSID_SPEC ::= ssid <SSID_HEX> BSSID_SPEC ::= bssid <BSSID_HEX> For example: wpa_cli set disallow_list "ssid 74657374 bssid 001122334455 ssid 68656c6c6f" wpa_cli set disallow_list (the empty value removes all entries) Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
39b1572c41
commit
6407f4132f
4 changed files with 194 additions and 0 deletions
|
@ -267,6 +267,11 @@ struct wps_ap_info {
|
|||
struct os_time last_attempt;
|
||||
};
|
||||
|
||||
struct wpa_ssid_value {
|
||||
u8 ssid[32];
|
||||
size_t ssid_len;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wpa_supplicant - Internal data for wpa_supplicant interface
|
||||
*
|
||||
|
@ -323,6 +328,11 @@ struct wpa_supplicant {
|
|||
u8 *bssid_filter;
|
||||
size_t bssid_filter_count;
|
||||
|
||||
u8 *disallow_aps_bssid;
|
||||
size_t disallow_aps_bssid_count;
|
||||
struct wpa_ssid_value *disallow_aps_ssid;
|
||||
size_t disallow_aps_ssid_count;
|
||||
|
||||
/* previous scan was wildcard when interleaving between
|
||||
* wildcard scans and specific SSID scan when max_ssids=1 */
|
||||
int prev_scan_wildcard;
|
||||
|
@ -693,6 +703,9 @@ int wpas_is_p2p_prioritized(struct wpa_supplicant *wpa_s);
|
|||
void wpas_auth_failed(struct wpa_supplicant *wpa_s);
|
||||
void wpas_clear_temp_disabled(struct wpa_supplicant *wpa_s,
|
||||
struct wpa_ssid *ssid, int clear_failures);
|
||||
int disallowed_bssid(struct wpa_supplicant *wpa_s, const u8 *bssid);
|
||||
int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid,
|
||||
size_t ssid_len);
|
||||
void wpa_supplicant_proc_40mhz_intolerant(struct wpa_supplicant *wpa_s);
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue