mirror of https://gitee.com/openkylin/linux.git
nl80211: only allow WEP keys during connect command
This was already documented that way in nl80211.h, but the parsing code still accepted other key types. Change it to really only accept WEP keys as documented. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
42ee231cd1
commit
386b1f2738
|
@ -881,16 +881,19 @@ nl80211_parse_connkeys(struct cfg80211_registered_device *rdev,
|
|||
parse.idx, false, NULL);
|
||||
if (err)
|
||||
goto error;
|
||||
if (parse.p.cipher != WLAN_CIPHER_SUITE_WEP40 &&
|
||||
parse.p.cipher != WLAN_CIPHER_SUITE_WEP104) {
|
||||
err = -EINVAL;
|
||||
goto error;
|
||||
}
|
||||
result->params[parse.idx].cipher = parse.p.cipher;
|
||||
result->params[parse.idx].key_len = parse.p.key_len;
|
||||
result->params[parse.idx].key = result->data[parse.idx];
|
||||
memcpy(result->data[parse.idx], parse.p.key, parse.p.key_len);
|
||||
|
||||
if (parse.p.cipher == WLAN_CIPHER_SUITE_WEP40 ||
|
||||
parse.p.cipher == WLAN_CIPHER_SUITE_WEP104) {
|
||||
if (no_ht)
|
||||
*no_ht = true;
|
||||
}
|
||||
/* must be WEP key if we got here */
|
||||
if (no_ht)
|
||||
*no_ht = true;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
Loading…
Reference in New Issue