/* followed by SSID and Supported rates; and HT capabilities if 802.11n
* is used */
-@@ -6073,6 +6090,13 @@ static void handle_assoc(struct hostapd_
+@@ -6057,6 +6074,7 @@ static void handle_assoc(struct hostapd_
+
+ #ifdef CONFIG_TAXONOMY
+ taxonomy_sta_info_assoc_req(hapd, sta, pos, left);
++ taxonomy_sta_info_assoc_frame(hapd, sta, mgmt, len);
+ #endif /* CONFIG_TAXONOMY */
+
+ sta->pending_wds_enable = 0;
+@@ -6073,6 +6091,13 @@ static void handle_assoc(struct hostapd_
if (set_beacon)
ieee802_11_update_beacons(hapd->iface);
fail:
/*
-@@ -6302,6 +6326,7 @@ static void handle_disassoc(struct hosta
+@@ -6302,6 +6327,7 @@ static void handle_disassoc(struct hosta
(unsigned long) len);
return;
}
sta = ap_get_sta(hapd, mgmt->sa);
if (!sta) {
-@@ -6333,6 +6358,8 @@ static void handle_deauth(struct hostapd
+@@ -6333,6 +6359,8 @@ static void handle_deauth(struct hostapd
/* Clear the PTKSA cache entries for PASN */
ptksa_cache_flush(hapd->ptksa, mgmt->sa, WPA_CIPHER_NONE);
hapd->msg_ctx_parent != hapd->msg_ctx)
--- a/src/ap/sta_info.h
+++ b/src/ap/sta_info.h
-@@ -302,6 +302,7 @@ struct sta_info {
+@@ -255,6 +255,7 @@ struct sta_info {
+ #ifdef CONFIG_TAXONOMY
+ struct wpabuf *probe_ie_taxonomy;
+ struct wpabuf *assoc_ie_taxonomy;
++ struct wpabuf *assoc_frame_taxonomy;
+ #endif /* CONFIG_TAXONOMY */
+
+ #ifdef CONFIG_FILS
+@@ -302,6 +303,7 @@ struct sta_info {
#endif /* CONFIG_TESTING_OPTIONS */
#ifdef CONFIG_AIRTIME_POLICY
unsigned int airtime_weight;
case 'o':
params.override_driver = optarg;
break;
+--- a/src/ap/taxonomy.c
++++ b/src/ap/taxonomy.c
+@@ -290,3 +290,12 @@ void taxonomy_sta_info_assoc_req(const s
+ wpabuf_free(sta->assoc_ie_taxonomy);
+ sta->assoc_ie_taxonomy = wpabuf_alloc_copy(ie, ie_len);
+ }
++
++void taxonomy_sta_info_assoc_frame(const struct hostapd_data *hapd,
++ struct sta_info *sta,
++ const struct ieee80211_mgmt *mgmt,
++ size_t len)
++{
++ wpabuf_free(sta->assoc_frame_taxonomy);
++ sta->assoc_frame_taxonomy = wpabuf_alloc_copy(mgmt, len);
++}
+--- a/src/ap/taxonomy.h
++++ b/src/ap/taxonomy.h
+@@ -18,6 +18,10 @@ void taxonomy_hostapd_sta_info_probe_req
+ void taxonomy_sta_info_assoc_req(const struct hostapd_data *hapd,
+ struct sta_info *sta,
+ const u8 *ie, size_t ie_len);
++void taxonomy_sta_info_assoc_frame(const struct hostapd_data *hapd,
++ struct sta_info *sta,
++ const struct ieee80211_mgmt *mgmt,
++ size_t len);
+ int retrieve_sta_taxonomy(const struct hostapd_data *hapd,
+ struct sta_info *sta, char *buf, size_t buflen);
+