Patchwork [v3,15/15] driver_nl80211: dont encrypt 802.1X WEP EAPOL

login
register
mail settings
Submitter Johannes Berg
Date Nov. 19, 2011, 12:39 p.m.
Message ID <20111119123953.918144279@sipsolutions.net>
Download mbox | patch
Permalink /patch/126582/
State Accepted
Commit 9f12614b8cad55e5ec0a50e04d9d3e090df666fd
Headers show

Comments

Johannes Berg - Nov. 19, 2011, 12:39 p.m.
From: Johannes Berg <johannes.berg@intel.com>

Set the NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT flag for
nl80211 to tell drivers (mac80211) to not encrypt the
EAPOL frames for WEP 802.1X.

Signed-hostap: Johannes Berg <johannes.berg@intel.com>
---
 src/drivers/driver_nl80211.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Jouni Malinen - Dec. 3, 2011, 6:47 p.m.
On Sat, Nov 19, 2011 at 01:39:25PM +0100, Johannes Berg wrote:
> Set the NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT flag for
> nl80211 to tell drivers (mac80211) to not encrypt the
> EAPOL frames for WEP 802.1X.

Thanks, applied.
Johannes Berg - Dec. 4, 2011, 9:41 a.m.
On Sat, 2011-12-03 at 20:47 +0200, Jouni Malinen wrote:
> On Sat, Nov 19, 2011 at 01:39:25PM +0100, Johannes Berg wrote:
> > Set the NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT flag for
> > nl80211 to tell drivers (mac80211) to not encrypt the
> > EAPOL frames for WEP 802.1X.
> 
> Thanks, applied.

Did you forget to push after this?

johannes
Jouni Malinen - Dec. 4, 2011, 10:42 a.m.
On Sun, Dec 04, 2011 at 10:41:18AM +0100, Johannes Berg wrote:
> Did you forget to push after this?

Yeah, pushed it now with another commit.

Patch

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index e99aa7f..e3b4403 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -4989,6 +4989,10 @@  static int wpa_driver_nl80211_set_ap(void *priv,
 			num_suites * sizeof(u32), suites);
 	}
 
+	if (params->key_mgmt_suites & WPA_KEY_MGMT_IEEE8021X &&
+	    params->pairwise_ciphers & (WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40))
+		NLA_PUT_FLAG(msg, NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT);
+
 	num_suites = 0;
 	if (params->pairwise_ciphers & WPA_CIPHER_CCMP)
 		suites[num_suites++] = WLAN_CIPHER_SUITE_CCMP;