|
@@ -357,7 +357,7 @@ static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
|
|
[NL80211_ATTR_BG_SCAN_PERIOD] = { .type = NLA_U16 },
|
|
[NL80211_ATTR_BG_SCAN_PERIOD] = { .type = NLA_U16 },
|
|
[NL80211_ATTR_WDEV] = { .type = NLA_U64 },
|
|
[NL80211_ATTR_WDEV] = { .type = NLA_U64 },
|
|
[NL80211_ATTR_USER_REG_HINT_TYPE] = { .type = NLA_U32 },
|
|
[NL80211_ATTR_USER_REG_HINT_TYPE] = { .type = NLA_U32 },
|
|
- [NL80211_ATTR_SAE_DATA] = { .type = NLA_BINARY, },
|
|
|
|
|
|
+ [NL80211_ATTR_AUTH_DATA] = { .type = NLA_BINARY, },
|
|
[NL80211_ATTR_VHT_CAPABILITY] = { .len = NL80211_VHT_CAPABILITY_LEN },
|
|
[NL80211_ATTR_VHT_CAPABILITY] = { .len = NL80211_VHT_CAPABILITY_LEN },
|
|
[NL80211_ATTR_SCAN_FLAGS] = { .type = NLA_U32 },
|
|
[NL80211_ATTR_SCAN_FLAGS] = { .type = NLA_U32 },
|
|
[NL80211_ATTR_P2P_CTWINDOW] = { .type = NLA_U8 },
|
|
[NL80211_ATTR_P2P_CTWINDOW] = { .type = NLA_U8 },
|
|
@@ -7729,8 +7729,8 @@ static int nl80211_authenticate(struct sk_buff *skb, struct genl_info *info)
|
|
struct cfg80211_registered_device *rdev = info->user_ptr[0];
|
|
struct cfg80211_registered_device *rdev = info->user_ptr[0];
|
|
struct net_device *dev = info->user_ptr[1];
|
|
struct net_device *dev = info->user_ptr[1];
|
|
struct ieee80211_channel *chan;
|
|
struct ieee80211_channel *chan;
|
|
- const u8 *bssid, *ssid, *ie = NULL, *sae_data = NULL;
|
|
|
|
- int err, ssid_len, ie_len = 0, sae_data_len = 0;
|
|
|
|
|
|
+ const u8 *bssid, *ssid, *ie = NULL, *auth_data = NULL;
|
|
|
|
+ int err, ssid_len, ie_len = 0, auth_data_len = 0;
|
|
enum nl80211_auth_type auth_type;
|
|
enum nl80211_auth_type auth_type;
|
|
struct key_parse key;
|
|
struct key_parse key;
|
|
bool local_state_change;
|
|
bool local_state_change;
|
|
@@ -7811,16 +7811,16 @@ static int nl80211_authenticate(struct sk_buff *skb, struct genl_info *info)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
if (auth_type == NL80211_AUTHTYPE_SAE &&
|
|
if (auth_type == NL80211_AUTHTYPE_SAE &&
|
|
- !info->attrs[NL80211_ATTR_SAE_DATA])
|
|
|
|
|
|
+ !info->attrs[NL80211_ATTR_AUTH_DATA])
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
- if (info->attrs[NL80211_ATTR_SAE_DATA]) {
|
|
|
|
|
|
+ if (info->attrs[NL80211_ATTR_AUTH_DATA]) {
|
|
if (auth_type != NL80211_AUTHTYPE_SAE)
|
|
if (auth_type != NL80211_AUTHTYPE_SAE)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
- sae_data = nla_data(info->attrs[NL80211_ATTR_SAE_DATA]);
|
|
|
|
- sae_data_len = nla_len(info->attrs[NL80211_ATTR_SAE_DATA]);
|
|
|
|
|
|
+ auth_data = nla_data(info->attrs[NL80211_ATTR_AUTH_DATA]);
|
|
|
|
+ auth_data_len = nla_len(info->attrs[NL80211_ATTR_AUTH_DATA]);
|
|
/* need to include at least Auth Transaction and Status Code */
|
|
/* need to include at least Auth Transaction and Status Code */
|
|
- if (sae_data_len < 4)
|
|
|
|
|
|
+ if (auth_data_len < 4)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -7837,7 +7837,7 @@ static int nl80211_authenticate(struct sk_buff *skb, struct genl_info *info)
|
|
err = cfg80211_mlme_auth(rdev, dev, chan, auth_type, bssid,
|
|
err = cfg80211_mlme_auth(rdev, dev, chan, auth_type, bssid,
|
|
ssid, ssid_len, ie, ie_len,
|
|
ssid, ssid_len, ie, ie_len,
|
|
key.p.key, key.p.key_len, key.idx,
|
|
key.p.key, key.p.key_len, key.idx,
|
|
- sae_data, sae_data_len);
|
|
|
|
|
|
+ auth_data, auth_data_len);
|
|
wdev_unlock(dev->ieee80211_ptr);
|
|
wdev_unlock(dev->ieee80211_ptr);
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|