diff mbox

cfg80211: don't overwrite privacy setting

Message ID 1253232931.23567.6.camel@johannes.local (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Johannes Berg Sept. 18, 2009, 12:15 a.m. UTC
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 <johannes@sipsolutions.net>



--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

ASIC Felix Sept. 18, 2009, 8:52 p.m. UTC | #1
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 <johannes@sipsolutions.net>
> 
> --- 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

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sedat Dilek Sept. 18, 2009, 9:27 p.m. UTC | #2
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
<johannes@sipsolutions.net> 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 <johannes@sipsolutions.net>
>
> --- 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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- 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)