2009-09-18 00:15:59

by Johannes Berg

[permalink] [raw]
Subject: [PATCH] cfg80211: don't overwrite privacy setting

When cfg80211 is instructed to connect, it always
uses the default WEP key for the privacy setting,
which clearly is wrong when using wpa_supplicant.
Don't overwrite the setting, and rely on it being
false when wpa_supplicant is not running, instead
set it to true when we have keys.

Signed-off-by: Johannes Berg <[email protected]>

--- wireless-testing.orig/net/wireless/wext-sme.c 2009-09-17 17:12:03.000000000 -0700
+++ wireless-testing/net/wireless/wext-sme.c 2009-09-17 17:12:53.000000000 -0700
@@ -26,11 +26,11 @@ int cfg80211_mgd_wext_connect(struct cfg

wdev->wext.connect.ie = wdev->wext.ie;
wdev->wext.connect.ie_len = wdev->wext.ie_len;
- wdev->wext.connect.privacy = wdev->wext.default_key != -1;

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.connect.ssid_len)




2009-09-18 20:58:13

by ASIC Felix

[permalink] [raw]
Subject: Re: [PATCH] cfg80211: don't overwrite privacy setting

On Thu, 2009-09-17 at 17:15 -0700, Johannes Berg wrote:
> When cfg80211 is instructed to connect, it always
> uses the default WEP key for the privacy setting,
> which clearly is wrong when using wpa_supplicant.
> Don't overwrite the setting, and rely on it being
> false when wpa_supplicant is not running, instead
> set it to true when we have keys.
>
> Signed-off-by: Johannes Berg <[email protected]>
>
> --- wireless-testing.orig/net/wireless/wext-sme.c 2009-09-17 17:12:03.000000000 -0700
> +++ wireless-testing/net/wireless/wext-sme.c 2009-09-17 17:12:53.000000000 -0700
> @@ -26,11 +26,11 @@ int cfg80211_mgd_wext_connect(struct cfg
>
> wdev->wext.connect.ie = wdev->wext.ie;
> wdev->wext.connect.ie_len = wdev->wext.ie_len;
> - wdev->wext.connect.privacy = wdev->wext.default_key != -1;
>
> 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.connect.ssid_len)

This patch fixes my issue "Re: regression? No connection with
master-2009-09-16 was fine until master-2009-09-14"

Best regards,
Felix


2009-09-18 21:27:46

by Sedat Dilek

[permalink] [raw]
Subject: Re: [PATCH] cfg80211: don't overwrite privacy setting

Quick Feedback:

Fixes also compat-wireless (2009-09-18) built against 2.6.31 with iwl3945.
ath5k driver on another machine is also OK.
With yesterday's c-w I had no connection to my AP (WPA2-PSK/CCMP).

$ sudo wpa_cli -iwlan0 status
bssid=$myBSSID
ssid=$mySSID
id=0
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=$myIPADDR


-Sedat

On Fri, Sep 18, 2009 at 2:15 AM, Johannes Berg
<[email protected]> wrote:
> When cfg80211 is instructed to connect, it always
> uses the default WEP key for the privacy setting,
> which clearly is wrong when using wpa_supplicant.
> Don't overwrite the setting, and rely on it being
> false when wpa_supplicant is not running, instead
> set it to true when we have keys.
>
> Signed-off-by: Johannes Berg <[email protected]>
>
> --- wireless-testing.orig/net/wireless/wext-sme.c       2009-09-17 17:12:03.000000000 -0700
> +++ wireless-testing/net/wireless/wext-sme.c    2009-09-17 17:12:53.000000000 -0700
> @@ -26,11 +26,11 @@ int cfg80211_mgd_wext_connect(struct cfg
>
>        wdev->wext.connect.ie = wdev->wext.ie;
>        wdev->wext.connect.ie_len = wdev->wext.ie_len;
> -       wdev->wext.connect.privacy = wdev->wext.default_key != -1;
>
>        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.connect.ssid_len)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>