From cdf8bfa4346b0792b93418e2d14d0e558ce33d72 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 31 Aug 2013 17:18:45 +0300 Subject: [PATCH] Disallow WEP configuration in WPA network Some drivers fail to work if WEP keys are configured in a WPA network. To avoid potentially confusing error cases, reject hostapd configuration that enables WPA and includes parameters that would imply that WEP keys would be set. Signed-hostap: Jouni Malinen --- hostapd/config_file.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hostapd/config_file.c b/hostapd/config_file.c index a420c882c..0b4fd772b 100644 --- a/hostapd/config_file.c +++ b/hostapd/config_file.c @@ -1104,6 +1104,24 @@ static int hostapd_config_check_bss(struct hostapd_bss_config *bss, return -1; } + if (bss->wpa) { + int wep, i; + + wep = bss->default_wep_key_len > 0 || + bss->individual_wep_key_len > 0; + for (i = 0; i < NUM_WEP_KEYS; i++) { + if (bss->ssid.wep.keys_set) { + wep = 1; + break; + } + } + + if (wep) { + wpa_printf(MSG_ERROR, "WEP configuration in a WPA network is not supported"); + return -1; + } + } + if (bss->wpa && bss->wpa_psk_radius != PSK_RADIUS_IGNORED && bss->macaddr_acl != USE_EXTERNAL_RADIUS_AUTH) { wpa_printf(MSG_ERROR, "WPA-PSK using RADIUS enabled, but no "