cfg80211: don't set privacy w/o key
authorJohannes Berg <johannes@sipsolutions.net>
Thu, 24 Sep 2009 07:00:57 +0000 (09:00 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 28 Sep 2009 20:55:04 +0000 (16:55 -0400)
When wpa_supplicant is used to connect to open networks,
it causes the wdev->wext.keys to point to key memory, but
that key memory is all empty. Only use privacy when there
is a default key to be used.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Tested-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Tested-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/wireless/wext-sme.c

index 53c6ba98dc2598d8dda845809738af6aea982b7b..5615a88025367f5beaee4e90e9040d5e4deb9f15 100644 (file)
@@ -30,7 +30,8 @@ int cfg80211_mgd_wext_connect(struct cfg80211_registered_device *rdev,
        if (wdev->wext.keys) {
                wdev->wext.keys->def = wdev->wext.default_key;
                wdev->wext.keys->defmgmt = wdev->wext.default_mgmt_key;
-               wdev->wext.connect.privacy = true;
+               if (wdev->wext.default_key != -1)
+                       wdev->wext.connect.privacy = true;
        }
 
        if (!wdev->wext.connect.ssid_len)