for (pw = hapd->conf->sae_passwords; pw; pw = pw->next) {
if (!is_broadcast_ether_addr(pw->peer_addr) &&
(!sta ||
-@@ -582,12 +587,28 @@ const char * sae_get_password(struct hos
+@@ -582,12 +587,30 @@ const char * sae_get_password(struct hos
pt = hapd->conf->ssid.pt;
}
+ if (!sta->use_sta_psk)
+ break;
+
++#ifdef CONFIG_SAE
+ if (sta->sae_pt) {
+ pt = sta->sae_pt;
break;
+ NULL);
+ sta->sae_pt = pt;
+ break;
++#endif
}
}
-@@ -3229,6 +3250,12 @@ static void handle_auth(struct hostapd_d
+@@ -3229,6 +3252,12 @@ static void handle_auth(struct hostapd_d
goto fail;
}
--- a/src/ap/sta_info.c
+++ b/src/ap/sta_info.c
-@@ -474,6 +474,9 @@ void ap_free_sta(struct hostapd_data *ha
+@@ -474,6 +474,11 @@ void ap_free_sta(struct hostapd_data *ha
forced_memzero(sta->last_tk, WPA_TK_MAX_LEN);
#endif /* CONFIG_TESTING_OPTIONS */
++#ifdef CONFIG_SAE
+ if (sta->sae_pt)
+ sae_deinit_pt(sta->sae_pt);
++#endif
+
os_free(sta);
}
-@@ -1507,6 +1510,8 @@ void ap_sta_set_authorized_event(struct
+@@ -1507,6 +1512,8 @@ void ap_sta_set_authorized_event(struct
#endif /* CONFIG_P2P */
const u8 *ip_ptr = NULL;
#ifdef CONFIG_FILS
static struct wpabuf *
-@@ -3615,8 +3618,8 @@ static u16 check_multi_ap(struct hostapd
+@@ -3617,8 +3620,8 @@ static u16 check_multi_ap(struct hostapd
}
{
/* Supported rates not used in IEEE 802.11ad/DMG */
if (hapd->iface->current_mode &&
-@@ -4003,7 +4006,7 @@ static int __check_assoc_ies(struct host
+@@ -4005,7 +4008,7 @@ static int __check_assoc_ies(struct host
elems->ext_capab_len);
if (resp != WLAN_STATUS_SUCCESS)
return resp;
if (resp != WLAN_STATUS_SUCCESS)
return resp;
-@@ -6058,6 +6061,11 @@ static void handle_beacon(struct hostapd
+@@ -6060,6 +6063,11 @@ static void handle_beacon(struct hostapd
0);
ap_list_process_beacon(hapd->iface, mgmt, &elems, fi);
--- a/src/ap/sta_info.c
+++ b/src/ap/sta_info.c
-@@ -1836,3 +1836,22 @@ void ap_sta_free_sta_profile(struct mld_
+@@ -1914,3 +1914,22 @@ void ap_sta_free_sta_profile(struct mld_
}
}
#endif /* CONFIG_IEEE80211BE */
+
--- a/src/ap/sta_info.h
+++ b/src/ap/sta_info.h
-@@ -417,23 +417,8 @@ int ap_sta_re_add(struct hostapd_data *h
+@@ -408,23 +408,8 @@ int ap_sta_re_add(struct hostapd_data *h
void ap_free_sta_pasn(struct hostapd_data *hapd, struct sta_info *sta);