]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS: Remove static-WEP-only workaround
authorJouni Malinen <j@w1.fi>
Sat, 29 Feb 2020 14:56:01 +0000 (16:56 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 29 Feb 2020 14:56:44 +0000 (16:56 +0200)
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>
src/ap/wps_hostapd.c
src/wps/wps.h
src/wps/wps_registrar.c

index 5ea206c5e881bbc80db77683df5b75b9b3e0d0fe..165d0de9ef4822c2009997975156cebcac05cfd3 100644 (file)
@@ -1260,8 +1260,6 @@ int hostapd_init_wps(struct hostapd_data *hapd,
        cfg.extra_cred_len = conf->extra_cred_len;
        cfg.disable_auto_conf = (hapd->conf->wps_cred_processing == 1) &&
                conf->skip_cred_build;
-       if (conf->ssid.security_policy == SECURITY_STATIC_WEP)
-               cfg.static_wep_only = 1;
        cfg.dualband = interface_count(hapd->iface) > 1;
        if ((wps->dev.rf_bands & (WPS_RF_50GHZ | WPS_RF_24GHZ)) ==
            (WPS_RF_50GHZ | WPS_RF_24GHZ))
index 3b56da74dcb5ff1e44ecd9768cd248814ed94068..93888b0112988540787671ab7d04ba3879d0cf74 100644 (file)
@@ -394,11 +394,6 @@ struct wps_registrar_config {
         */
        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
         */
index fb6c71d7eed015069bceee09600a8ba87c78be57..d71a5431514de8b5a80506df569c4a939f8b7855 100644 (file)
@@ -173,7 +173,6 @@ struct wps_registrar {
        int sel_reg_union;
        int sel_reg_dev_password_id_override;
        int sel_reg_config_methods_override;
-       int static_wep_only;
        int dualband;
        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->sel_reg_dev_password_id_override = -1;
        reg->sel_reg_config_methods_override = -1;
-       reg->static_wep_only = cfg->static_wep_only;
        reg->dualband = cfg->dualband;
        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;
        }
 
-       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);
 }