aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHu Wang <huw@codeaurora.org>2020-05-15 06:20:32 (GMT)
committerJouni Malinen <j@w1.fi>2020-05-26 13:23:39 (GMT)
commitd578e890eb4fe344824ee9f43124091fc0f848b1 (patch)
treee5ed923e5bd8e9b5390adbcd71d86d1ea0109ce0
parent9818fbe9bc00d97657c7e039f51c682c5f256673 (diff)
downloadhostap-d578e890eb4fe344824ee9f43124091fc0f848b1.zip
hostap-d578e890eb4fe344824ee9f43124091fc0f848b1.tar.gz
hostap-d578e890eb4fe344824ee9f43124091fc0f848b1.tar.bz2
OWE: Skip beacon update of transition BSS if it is not yet enabled
When a single hostapd process manages both the OWE and open BSS for transition mode, owe_transition_ifname can be used to clone the transition mode information (i.e., BSSID/SSID) automatically. When both BSSs use ACS, the completion of ACS on the 1st BSS sets state to HAPD_IFACE_ENABLED and the OWE transition mode information is updated for all the other BSSs. However, the 2nd BSS is still in the ACS phase and the beacon update messes up the state for AP startup and prevents proper ACS competion. If 2nd BSS is not yet enabled (e.g., in ACS), skip beacon update and defer OWE transition information cloning until the BSS is enabled. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
-rw-r--r--src/ap/hostapd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index f0af4b8..b37f49f 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -1915,6 +1915,13 @@ static int hostapd_owe_iface_iter2(struct hostapd_iface *iface, void *ctx)
if (!bss->conf->owe_transition_ifname[0])
continue;
+ if (bss->iface->state != HAPD_IFACE_ENABLED) {
+ wpa_printf(MSG_DEBUG,
+ "OWE: Interface %s state %s - defer beacon update",
+ bss->conf->iface,
+ hostapd_state_text(bss->iface->state));
+ continue;
+ }
res = hostapd_owe_trans_get_info(bss);
if (res == 0)
continue;