WPS: Remove static-WEP-only workaround

WEP provisioning was removed from WPS v2, so this workaround
functionality has not been applicable. Remove it completely.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2020-02-29 16:56:01 +02:00
parent 886ee6775f
commit bca44f4e4e
3 changed files with 0 additions and 31 deletions

View file

@ -1260,8 +1260,6 @@ int hostapd_init_wps(struct hostapd_data *hapd,
cfg.extra_cred_len = conf->extra_cred_len; cfg.extra_cred_len = conf->extra_cred_len;
cfg.disable_auto_conf = (hapd->conf->wps_cred_processing == 1) && cfg.disable_auto_conf = (hapd->conf->wps_cred_processing == 1) &&
conf->skip_cred_build; conf->skip_cred_build;
if (conf->ssid.security_policy == SECURITY_STATIC_WEP)
cfg.static_wep_only = 1;
cfg.dualband = interface_count(hapd->iface) > 1; cfg.dualband = interface_count(hapd->iface) > 1;
if ((wps->dev.rf_bands & (WPS_RF_50GHZ | WPS_RF_24GHZ)) == if ((wps->dev.rf_bands & (WPS_RF_50GHZ | WPS_RF_24GHZ)) ==
(WPS_RF_50GHZ | WPS_RF_24GHZ)) (WPS_RF_50GHZ | WPS_RF_24GHZ))

View file

@ -394,11 +394,6 @@ struct wps_registrar_config {
*/ */
int disable_auto_conf; int disable_auto_conf;
/**
* static_wep_only - Whether the BSS supports only static WEP
*/
int static_wep_only;
/** /**
* dualband - Whether this is a concurrent dualband AP * dualband - Whether this is a concurrent dualband AP
*/ */

View file

@ -173,7 +173,6 @@ struct wps_registrar {
int sel_reg_union; int sel_reg_union;
int sel_reg_dev_password_id_override; int sel_reg_dev_password_id_override;
int sel_reg_config_methods_override; int sel_reg_config_methods_override;
int static_wep_only;
int dualband; int dualband;
int force_per_enrollee_psk; int force_per_enrollee_psk;
@ -697,7 +696,6 @@ wps_registrar_init(struct wps_context *wps,
reg->disable_auto_conf = cfg->disable_auto_conf; reg->disable_auto_conf = cfg->disable_auto_conf;
reg->sel_reg_dev_password_id_override = -1; reg->sel_reg_dev_password_id_override = -1;
reg->sel_reg_config_methods_override = -1; reg->sel_reg_config_methods_override = -1;
reg->static_wep_only = cfg->static_wep_only;
reg->dualband = cfg->dualband; reg->dualband = cfg->dualband;
reg->force_per_enrollee_psk = cfg->force_per_enrollee_psk; reg->force_per_enrollee_psk = cfg->force_per_enrollee_psk;
@ -1390,28 +1388,6 @@ static int wps_set_ie(struct wps_registrar *reg)
return -1; return -1;
} }
if (reg->static_wep_only) {
/*
* Windows XP and Vista clients can get confused about
* EAP-Identity/Request when they probe the network with
* EAPOL-Start. In such a case, they may assume the network is
* using IEEE 802.1X and prompt user for a certificate while
* the correct (non-WPS) behavior would be to ask for the
* static WEP key. As a workaround, use Microsoft Provisioning
* IE to advertise that legacy 802.1X is not supported.
*/
const u8 ms_wps[7] = {
WLAN_EID_VENDOR_SPECIFIC, 5,
/* Microsoft Provisioning IE (00:50:f2:5) */
0x00, 0x50, 0xf2, 5,
0x00 /* no legacy 802.1X or MS WPS */
};
wpa_printf(MSG_DEBUG, "WPS: Add Microsoft Provisioning IE "
"into Beacon/Probe Response frames");
wpabuf_put_data(beacon, ms_wps, sizeof(ms_wps));
wpabuf_put_data(probe, ms_wps, sizeof(ms_wps));
}
return wps_cb_set_ie(reg, beacon, probe); return wps_cb_set_ie(reg, beacon, probe);
} }