diff options
Diffstat (limited to 'package/madwifi/patches/356-hidden_ssid.patch')
-rw-r--r-- | package/madwifi/patches/356-hidden_ssid.patch | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/package/madwifi/patches/356-hidden_ssid.patch b/package/madwifi/patches/356-hidden_ssid.patch deleted file mode 100644 index b87569e762..0000000000 --- a/package/madwifi/patches/356-hidden_ssid.patch +++ /dev/null @@ -1,49 +0,0 @@ -This patch fixes the detection of hidden SSIDs as transmitted -by some cisco systems. - -Signed-off-by: Felix Fietkau <nbd@openwrt.org> - ---- a/net80211/ieee80211_scan_sta.c -+++ b/net80211/ieee80211_scan_sta.c -@@ -209,6 +209,19 @@ saveie(u_int8_t **iep, const u_int8_t *i - ieee80211_saveie(iep, ie); - } - -+ -+static inline int is_empty_ssid(u_int8_t *ssid) -+{ -+ if (!ssid) -+ return 1; -+ if (ssid[1] == 0) -+ return 1; -+ if ((ssid[1] == 1) && (ssid[2] == 0)) -+ return 1; -+ return 0; -+} -+ -+ - /* - * Process a beacon or probe response frame; create an - * entry in the scan cache or update any previous entry. -@@ -233,8 +246,8 @@ sta_add(struct ieee80211_scan_state *ss, - 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 @@ found: - ise = &se->base; - - /* XXX ap beaconing multiple ssid w/ same bssid */ -- if (sp->ssid[1] != 0 && -- (ISPROBE(subtype) || ise->se_ssid[1] == 0)) -+ if (!is_empty_ssid(sp->ssid) && -+ (ISPROBE(subtype) || is_empty_ssid(ise->se_ssid))) - memcpy(ise->se_ssid, sp->ssid, 2 + sp->ssid[1]); - - memcpy(ise->se_rates, sp->rates, |