nl80211: Fix no-encrypt for IEEE 802.1X WEP EAPOL

Commit 9f12614b8c ('nl80211: Do not
encrypt IEEE 802.1X WEP EAPOL') tried to use
NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT to disable encryption of EAPOL
frames for WEP IEEE 802.1X. However, it used incorrect key management
suite (IEEE 802.1X with WPA/WPA2 while the non-WPA version is needed
here). Consequently, the no-encrypt flag was never set to the driver
(WPA/WPA2 cases do not meet the WEP as pairwise criteria).

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2014-12-20 17:35:03 +02:00
parent 1e7528298a
commit 533fe09b78

View file

@ -3246,7 +3246,7 @@ static int wpa_driver_nl80211_set_ap(void *priv,
suites)) suites))
goto fail; goto fail;
if (params->key_mgmt_suites & WPA_KEY_MGMT_IEEE8021X && if (params->key_mgmt_suites & WPA_KEY_MGMT_IEEE8021X_NO_WPA &&
params->pairwise_ciphers & (WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40) && params->pairwise_ciphers & (WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40) &&
nla_put_flag(msg, NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT)) nla_put_flag(msg, NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT))
goto fail; goto fail;