nl80211: Do not encrypt IEEE 802.1X WEP EAPOL
authorJohannes Berg <johannes.berg@intel.com>
Sat, 3 Dec 2011 18:46:12 +0000 (20:46 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 3 Dec 2011 18:46:12 +0000 (20:46 +0200)
Set the NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT flag for nl80211 to tell
drivers (mac80211) to not encrypt the EAPOL frames for WEP IEEE 802.1X.

Signed-hostap: Johannes Berg <johannes.berg@intel.com>

src/drivers/driver_nl80211.c

index 20eb744..55d3fd1 100644 (file)
@@ -4572,6 +4572,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;