aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-07-25 22:35:56 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-07-25 22:35:56 +0000
commit3498c2abe9885d441f842d018cd5eb2eab67f424 (patch)
tree6d602b2d2ee72ccfac2904c582b6edb9b7f6cd25
parent7f7e354f4ca61b9fb20b65d5d8959b8e1961a85a (diff)
downloadupstream-3498c2abe9885d441f842d018cd5eb2eab67f424.tar.gz
upstream-3498c2abe9885d441f842d018cd5eb2eab67f424.tar.bz2
upstream-3498c2abe9885d441f842d018cd5eb2eab67f424.zip
madwifi: improve hidden ssid handling in sta mode
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11924 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/madwifi/patches/356-hidden_ssid.patch17
1 files changed, 15 insertions, 2 deletions
diff --git a/package/madwifi/patches/356-hidden_ssid.patch b/package/madwifi/patches/356-hidden_ssid.patch
index 92d0480d26..4e0c1f883f 100644
--- a/package/madwifi/patches/356-hidden_ssid.patch
+++ b/package/madwifi/patches/356-hidden_ssid.patch
@@ -3,8 +3,10 @@ by some cisco systems.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---- a/net80211/ieee80211_scan_sta.c
-+++ b/net80211/ieee80211_scan_sta.c
+Index: madwifi-trunk-r3314/net80211/ieee80211_scan_sta.c
+===================================================================
+--- madwifi-trunk-r3314.orig/net80211/ieee80211_scan_sta.c 2008-07-23 11:39:10.000000000 +0200
++++ madwifi-trunk-r3314/net80211/ieee80211_scan_sta.c 2008-07-24 18:24:23.000000000 +0200
@@ -209,6 +209,19 @@
ieee80211_saveie(iep, ie);
}
@@ -25,6 +27,17 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
/*
* Process a beacon or probe response frame; create an
* entry in the scan cache or update any previous entry.
+@@ -233,8 +246,8 @@
+ SCAN_STA_LOCK_IRQ(st);
+ LIST_FOREACH(se, &st->st_hash[hash], se_hash)
+ if (IEEE80211_ADDR_EQ(se->base.se_macaddr, macaddr) &&
+- sp->ssid[1] == se->base.se_ssid[1] &&
+- !memcmp(se->base.se_ssid+2, sp->ssid+2, se->base.se_ssid[1]))
++ (is_empty_ssid(sp->ssid) || (sp->ssid[1] == se->base.se_ssid[1] &&
++ !memcmp(se->base.se_ssid+2, sp->ssid+2, se->base.se_ssid[1]))))
+ goto found;
+
+ MALLOC(se, struct sta_entry *, sizeof(struct sta_entry),
@@ -252,8 +265,8 @@
ise = &se->base;