mac80211: Allow AUTH_DATA to be used for FILS
authorJouni Malinen <jouni@qca.qualcomm.com>
Wed, 26 Oct 2016 21:41:59 +0000 (00:41 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 27 Oct 2016 14:03:21 +0000 (16:03 +0200)
The special SAE case should be limited only for SAE since the more
generic AUTH_DATA can now be used with other authentication algorithms
as well.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index 32fd29581d4d2b93da4c813ecf74989b1d913a77..00db34b204dbd985d280e47ed924ef25f85e5c8a 100644 (file)
@@ -4491,9 +4491,12 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
        auth_data->bss = req->bss;
 
        if (req->auth_data_len >= 4) {
-               __le16 *pos = (__le16 *) req->auth_data;
-               auth_data->sae_trans = le16_to_cpu(pos[0]);
-               auth_data->sae_status = le16_to_cpu(pos[1]);
+               if (req->auth_type == NL80211_AUTHTYPE_SAE) {
+                       __le16 *pos = (__le16 *) req->auth_data;
+
+                       auth_data->sae_trans = le16_to_cpu(pos[0]);
+                       auth_data->sae_status = le16_to_cpu(pos[1]);
+               }
                memcpy(auth_data->data, req->auth_data + 4,
                       req->auth_data_len - 4);
                auth_data->data_len += req->auth_data_len - 4;