X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/ff6f490212293226512be1b72de70905a8f4ba47..1668e99572f3443f81e120932f2bc9cdba97bccc:/package/madwifi/patches/356-hidden_ssid.patch diff --git a/package/madwifi/patches/356-hidden_ssid.patch b/package/madwifi/patches/356-hidden_ssid.patch index 92d0480d2..b87569e76 100644 --- a/package/madwifi/patches/356-hidden_ssid.patch +++ b/package/madwifi/patches/356-hidden_ssid.patch @@ -5,7 +5,7 @@ Signed-off-by: Felix Fietkau --- a/net80211/ieee80211_scan_sta.c +++ b/net80211/ieee80211_scan_sta.c -@@ -209,6 +209,19 @@ +@@ -209,6 +209,19 @@ saveie(u_int8_t **iep, const u_int8_t *i ieee80211_saveie(iep, ie); } @@ -25,7 +25,18 @@ Signed-off-by: Felix Fietkau /* * Process a beacon or probe response frame; create an * entry in the scan cache or update any previous entry. -@@ -252,8 +265,8 @@ +@@ -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 */