summaryrefslogtreecommitdiffstats
path: root/package/wpa_supplicant/patches/120-ssid_scan.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-07-15 01:40:55 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-07-15 01:40:55 +0000
commit56d7991b6076e383dd3a87947ad7bf789b0536a7 (patch)
tree31268f68aef77d3da62eb3f5480ec5a433ea890d /package/wpa_supplicant/patches/120-ssid_scan.patch
parent01ed40ec23fdac372ea3de50a9bea06fa1a6718f (diff)
Upgrade wpa_supplicant to 0.6.3 and add some improvements (mainly for roaming with ap_scan=1)
Remove arch specific config files (they seem rather pointless) Remove the dependency on OpenSSL (use small built-in SSL functions) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11833 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/wpa_supplicant/patches/120-ssid_scan.patch')
-rw-r--r--package/wpa_supplicant/patches/120-ssid_scan.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/package/wpa_supplicant/patches/120-ssid_scan.patch b/package/wpa_supplicant/patches/120-ssid_scan.patch
new file mode 100644
index 000000000..b4127fa9a
--- /dev/null
+++ b/package/wpa_supplicant/patches/120-ssid_scan.patch
@@ -0,0 +1,41 @@
+Don't do broadcast SSID scans, if all configured SSIDs use scan_ssid=1. Improves background scanning in supplicant-managed roaming.
+
+Index: wpa_supplicant-0.6.3/wpa_supplicant/scan.c
+===================================================================
+--- wpa_supplicant-0.6.3.orig/wpa_supplicant/scan.c 2008-07-09 18:53:28.000000000 +0200
++++ wpa_supplicant-0.6.3/wpa_supplicant/scan.c 2008-07-09 19:00:55.000000000 +0200
+@@ -48,11 +48,23 @@
+ int enabled, scan_req = 0, ret;
+ const u8 *extra_ie = NULL;
+ size_t extra_ie_len = 0;
++ int scan_ssid_all = 1;
+
+ if (wpa_s->disconnected && !wpa_s->scan_req)
+ return;
+
+ enabled = 0;
++
++ /* 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;
++ }
++
+ ssid = wpa_s->conf->ssid;
+ while (ssid) {
+ if (!ssid->disabled) {
+@@ -125,6 +137,10 @@
+ return;
+ }
+
++ if (scan_ssid_all && !ssid) {
++ ssid = wpa_s->conf->ssid;
++ }
++
+ wpa_printf(MSG_DEBUG, "Starting AP scan (%s SSID)",
+ ssid ? "specific": "broadcast");
+ if (ssid) {