提交 c5d3dce8 编写于 作者: J John W. Linville

wireless: remove NETWORK_EMPTY_ESSID flag

It is unnecessary and of questionable value.  Also remove
is_empty_ssid, as it is also unnecessary.
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 7e272fcf
......@@ -5435,16 +5435,6 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv,
return 0;
}
/* If we do not have an ESSID for this AP, we can not associate with
* it */
if (network->flags & NETWORK_EMPTY_ESSID) {
IPW_DEBUG_MERGE("Network '%s (%pM)' excluded "
"because of hidden ESSID.\n",
escape_ssid(network->ssid, network->ssid_len),
network->bssid);
return 0;
}
if (unlikely(roaming)) {
/* If we are roaming, then ensure check if this is a valid
* network to try and roam to */
......@@ -5649,16 +5639,6 @@ static int ipw_best_network(struct ipw_priv *priv,
return 0;
}
/* If we do not have an ESSID for this AP, we can not associate with
* it */
if (network->flags & NETWORK_EMPTY_ESSID) {
IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded "
"because of hidden ESSID.\n",
escape_ssid(network->ssid, network->ssid_len),
network->bssid);
return 0;
}
if (unlikely(roaming)) {
/* If we are roaming, then ensure check if this is a valid
* network to try and roam to */
......@@ -6881,8 +6861,7 @@ static int ipw_qos_handle_probe_response(struct ipw_priv *priv,
if ((priv->status & STATUS_ASSOCIATED) &&
(priv->ieee->iw_mode == IW_MODE_ADHOC) && (active_network == 0)) {
if (memcmp(network->bssid, priv->bssid, ETH_ALEN))
if ((network->capability & WLAN_CAPABILITY_IBSS) &&
!(network->flags & NETWORK_EMPTY_ESSID))
if (network->capability & WLAN_CAPABILITY_IBSS)
if ((network->ssid_len ==
priv->assoc_network->ssid_len) &&
!memcmp(network->ssid,
......
......@@ -729,7 +729,6 @@ struct ieee80211_txb {
#define MAX_WPA_IE_LEN 64
#define NETWORK_EMPTY_ESSID (1<<0)
#define NETWORK_HAS_OFDM (1<<1)
#define NETWORK_HAS_CCK (1<<2)
......
......@@ -12,20 +12,4 @@
* messages. It should never be used for passing ssid to user space. */
const char *escape_ssid(const char *ssid, u8 ssid_len);
static inline int is_empty_ssid(const char *ssid, int ssid_len)
{
/* Single white space is for Linksys APs */
if (ssid_len == 1 && ssid[0] == ' ')
return 1;
/* Otherwise, if the entire ssid is 0, we assume it is hidden */
while (ssid_len) {
ssid_len--;
if (ssid[ssid_len] != '\0')
return 0;
}
return 1;
}
#endif /* LIB80211_H */
......@@ -1146,12 +1146,6 @@ static int ieee80211_parse_info_param(struct ieee80211_info_element
switch (info_element->id) {
case MFIE_TYPE_SSID:
if (is_empty_ssid(info_element->data,
info_element->len)) {
network->flags |= NETWORK_EMPTY_ESSID;
break;
}
network->ssid_len = min(info_element->len,
(u8) IW_ESSID_MAX_SIZE);
memcpy(network->ssid, info_element->data,
......@@ -1161,7 +1155,8 @@ static int ieee80211_parse_info_param(struct ieee80211_info_element
IW_ESSID_MAX_SIZE - network->ssid_len);
IEEE80211_DEBUG_MGMT("MFIE_TYPE_SSID: '%s' len=%d.\n",
network->ssid, network->ssid_len);
escape_ssid(network->ssid),
network->ssid_len);
break;
case MFIE_TYPE_RATES:
......@@ -1391,9 +1386,6 @@ static int ieee80211_handle_assoc_resp(struct ieee80211_device *ieee, struct iee
network->mode |= IEEE_B;
}
if (is_empty_ssid(network->ssid, network->ssid_len))
network->flags |= NETWORK_EMPTY_ESSID;
memcpy(&network->stats, stats, sizeof(network->stats));
if (ieee->handle_assoc_response != NULL)
......@@ -1463,9 +1455,6 @@ static int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee8021
return 1;
}
if (is_empty_ssid(network->ssid, network->ssid_len))
network->flags |= NETWORK_EMPTY_ESSID;
memcpy(&network->stats, stats, sizeof(network->stats));
return 0;
......
......@@ -65,15 +65,9 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
/* Add the ESSID */
iwe.cmd = SIOCGIWESSID;
iwe.u.data.flags = 1;
if (network->flags & NETWORK_EMPTY_ESSID) {
iwe.u.data.length = sizeof("<hidden>");
start = iwe_stream_add_point(info, start, stop,
&iwe, "<hidden>");
} else {
iwe.u.data.length = min(network->ssid_len, (u8) 32);
start = iwe_stream_add_point(info, start, stop,
&iwe, network->ssid);
}
/* Add the protocol name */
iwe.cmd = SIOCGIWNAME;
......
......@@ -24,11 +24,6 @@ const char *escape_ssid(const char *ssid, u8 ssid_len)
const char *s = ssid;
char *d = escaped;
if (is_empty_ssid(ssid, ssid_len)) {
memcpy(escaped, "<hidden>", sizeof("<hidden>"));
return escaped;
}
ssid_len = min_t(u8, ssid_len, IEEE80211_MAX_SSID_LEN);
while (ssid_len--) {
if (*s == '\0') {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册