On Fri, Dec 20, 2019 at 08:21:28PM +0100, Alexander Wetzel wrote: > wpa_supplicant_set_suites() can be called without providing a scan > result. Don't flush ie elements in this case. Could you please provide more details and a debug log showing a case where this ends up flushing IE information incorrectly? Does this actually fix a connection in some cases? > diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c > @@ -1378,7 +1378,7 @@ int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s, > wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_RSN_ENABLED, > !!(ssid->proto & (WPA_PROTO_RSN | WPA_PROTO_OSEN))); > > - if (bss || !wpa_s->ap_ies_from_associnfo) { > + if (bss && !wpa_s->ap_ies_from_associnfo) { > if (wpa_sm_set_ap_wpa_ie(wpa_s->wpa, bss_wpa, > bss_wpa ? 2 + bss_wpa[1] : 0) || This does not flush IEs if bss != NULL (that uses the BSS table entry from scan results). I'm not sure I understand why the IEs should not be cleared if there is neither a BSS entry nor IEs from association information. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap