diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-01-23 08:28:26 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-01-23 08:28:26 +0000 |
commit | 64268c716596edbad395cfa82ff30eb84a2f8488 (patch) | |
tree | 04d424eaeac0deea69260e5390f3d5972908c9ec /package/hostapd/patches/310-scan_ssid.patch | |
parent | 26c953db2072dcc03e36c43446d237df83770270 (diff) | |
download | upstream-64268c716596edbad395cfa82ff30eb84a2f8488.tar.gz upstream-64268c716596edbad395cfa82ff30eb84a2f8488.tar.bz2 upstream-64268c716596edbad395cfa82ff30eb84a2f8488.zip |
hostapd: add a build variant for wpa_supplicant and one for a multicall hostapd+supplicant program (wpad) and remove the old wpa_supplicant package
SVN-Revision: 19286
Diffstat (limited to 'package/hostapd/patches/310-scan_ssid.patch')
-rw-r--r-- | package/hostapd/patches/310-scan_ssid.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/package/hostapd/patches/310-scan_ssid.patch b/package/hostapd/patches/310-scan_ssid.patch new file mode 100644 index 0000000000..5a7e10f6b7 --- /dev/null +++ b/package/hostapd/patches/310-scan_ssid.patch @@ -0,0 +1,37 @@ +--- a/wpa_supplicant/scan.c ++++ b/wpa_supplicant/scan.c +@@ -215,6 +215,7 @@ static void wpa_supplicant_scan(void *el + enum wps_request_type req_type = WPS_REQ_ENROLLEE_INFO; + #endif /* CONFIG_WPS */ + struct wpa_driver_scan_params params; ++ int scan_ssid_all = 1; + size_t max_ssids; + + if (wpa_s->disconnected && !wpa_s->scan_req) { +@@ -275,6 +276,16 @@ static void wpa_supplicant_scan(void *el + wpa_s->wpa_state == WPA_INACTIVE) + wpa_supplicant_set_state(wpa_s, WPA_SCANNING); + ++ /* check if all configured ssids should be scanned directly */ ++ ssid = wpa_s->conf->ssid; ++ while (ssid) { ++ if (!ssid->scan_ssid) { ++ scan_ssid_all = 0; ++ break; ++ } ++ ssid = ssid->next; ++ } ++ + /* Find the starting point from which to continue scanning */ + ssid = wpa_s->conf->ssid; + if (wpa_s->prev_scan_ssid != WILDCARD_SSID_SCAN) { +@@ -336,6 +347,9 @@ static void wpa_supplicant_scan(void *el + int_array_sort_unique(params.freqs); + } + ++ if (scan_ssid_all && !ssid) ++ ssid = wpa_s->conf->ssid; ++ + if (ssid) { + wpa_s->prev_scan_ssid = ssid; + if (max_ssids > 1) { |