cfg80211: wext: only allow WEP keys to be configured before connected
authorJohannes Berg <johannes.berg@intel.com>
Tue, 13 Sep 2016 14:11:32 +0000 (16:11 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 13 Sep 2016 18:20:52 +0000 (20:20 +0200)
When not connected, anything but WEP keys shouldn't be allowed to be
configured for later - only static WEP keys make sense at this point.
Change wext to reject anything else just like nl80211 does.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/wext-compat.c

index 9f27221..e45a764 100644 (file)
@@ -487,6 +487,9 @@ static int __cfg80211_set_encryption(struct cfg80211_registered_device *rdev,
        err = 0;
        if (wdev->current_bss)
                err = rdev_add_key(rdev, dev, idx, pairwise, addr, params);
+       else if (params->cipher != WLAN_CIPHER_SUITE_WEP40 &&
+                params->cipher != WLAN_CIPHER_SUITE_WEP104)
+               return -EINVAL;
        if (err)
                return err;