On Wed, Dec 16, 2020 at 01:00:53PM +0200, Ilan Peer wrote: > diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c > +static const char *sae_get_password(struct hostapd_data *hapd, > - if (rx_id && hapd->conf->sae_pwe != 3) > - use_pt = 1; > - else if (status_code == WLAN_STATUS_SUCCESS) > - use_pt = 0; > - else if (status_code == WLAN_STATUS_SAE_HASH_TO_ELEMENT || > - status_code == WLAN_STATUS_SAE_PK) > - use_pt = 1; > +static struct wpabuf *auth_build_sae_commit(struct hostapd_data *hapd, > + if (status_code == WLAN_STATUS_SUCCESS) > + use_pt = 0; > + else if (status_code == WLAN_STATUS_SAE_HASH_TO_ELEMENT) > + use_pt = 1; What happened here to that rx_id && sae_pwe != 3 check and why? Isn't this breaking that case? Similarly, this seems to be breaking SAE-PK due to that missing WLAN_STATUS_SAE_PK check. Undesired whitespace changes make this diff more difficult to read than necessary with the two functions getting mixed up. Anyway, it looks clear that the sae_get_password() here is based on an older snapshot of auth_build_sae_commit() implementation and instead of moving the current implementation to a helper function, this moves back in time for that moved segment and breaks newer items. > +static int pasn_wd_handle_sae_commit(struct hostapd_data *hapd, > + if (alg != WLAN_AUTH_SAE || seq != 1 || status != WLAN_STATUS_SUCCESS) { And just like for station side, this AP implementation seems to be unaware of SAE H2E, so same questions apply here. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap