Root/package/hostapd/patches/300-scan_ssid.patch

1--- a/wpa_supplicant/scan.c
2+++ b/wpa_supplicant/scan.c
3@@ -423,6 +423,7 @@ static void wpa_supplicant_scan(void *el
4     int scan_req = 0, ret;
5     struct wpabuf *extra_ie;
6     struct wpa_driver_scan_params params;
7+ int scan_ssid_all = 1;
8     size_t max_ssids;
9     enum wpa_states prev_state;
10 
11@@ -502,6 +503,16 @@ static void wpa_supplicant_scan(void *el
12         }
13     }
14 
15+ /* check if all configured ssids should be scanned directly */
16+ ssid = wpa_s->conf->ssid;
17+ while (ssid) {
18+ if (!ssid->scan_ssid) {
19+ scan_ssid_all = 0;
20+ break;
21+ }
22+ ssid = ssid->next;
23+ }
24+
25     /* Find the starting point from which to continue scanning */
26     ssid = wpa_s->conf->ssid;
27     if (wpa_s->prev_scan_ssid != WILDCARD_SSID_SCAN) {
28@@ -564,6 +575,9 @@ static void wpa_supplicant_scan(void *el
29         int_array_sort_unique(params.freqs);
30     }
31 
32+ if (scan_ssid_all && !ssid)
33+ ssid = wpa_s->conf->ssid;
34+
35     if (ssid) {
36         wpa_s->prev_scan_ssid = ssid;
37         if (max_ssids > 1) {
38

Archive Download this file



interactive