Remove disconnected APs from BSS table if likely out-of-range
[mech_eap.git] / wpa_supplicant / ap.c
index 1e00f35..5afb772 100644 (file)
@@ -450,6 +450,8 @@ static int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s,
                os_memcpy(bss->uuid, wpa_s->conf->uuid, WPS_UUID_LEN);
        os_memcpy(bss->os_version, wpa_s->conf->os_version, 4);
        bss->pbc_in_m1 = wpa_s->conf->pbc_in_m1;
+       if (ssid->eap.fragment_size != DEFAULT_FRAGMENT_SIZE)
+               bss->fragment_size = ssid->eap.fragment_size;
 no_wps:
 #endif /* CONFIG_WPS */
 
@@ -466,6 +468,9 @@ no_wps:
                        wpabuf_dup(wpa_s->conf->ap_vendor_elements);
        }
 
+       bss->ftm_responder = wpa_s->conf->ftm_responder;
+       bss->ftm_initiator = wpa_s->conf->ftm_initiator;
+
        return 0;
 }
 
@@ -670,7 +675,7 @@ int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,
                return -1;
        }
 
-       wpa_s->ap_iface = hapd_iface = os_zalloc(sizeof(*wpa_s->ap_iface));
+       wpa_s->ap_iface = hapd_iface = hostapd_alloc_iface();
        if (hapd_iface == NULL)
                return -1;
        hapd_iface->owner = wpa_s;