Passive Client Taxonomy
[mech_eap.git] / src / ap / beacon.c
index 202abe6..38182ae 100644 (file)
@@ -29,6 +29,7 @@
 #include "beacon.h"
 #include "hs20.h"
 #include "dfs.h"
+#include "taxonomy.h"
 
 
 #ifdef NEED_AP_MLME
@@ -632,6 +633,8 @@ void sta_track_add(struct hostapd_iface *iface, const u8 *addr)
 
        /* Add a new entry */
        info = os_zalloc(sizeof(*info));
+       if (info == NULL)
+               return;
        os_memcpy(info->addr, addr, ETH_ALEN);
        os_get_reltime(&info->last_seen);
 
@@ -782,6 +785,14 @@ void handle_probe_req(struct hostapd_data *hapd,
        }
 #endif /* CONFIG_P2P */
 
+#ifdef CONFIG_TAXONOMY
+       {
+               struct sta_info *sta = ap_get_sta(hapd, mgmt->sa);
+               if (sta)
+                       taxonomy_sta_info_probe_req(hapd, sta, ie, ie_len);
+       }
+#endif /* CONFIG_TAXONOMY */
+
        res = ssid_match(hapd, elems.ssid, elems.ssid_len,
                         elems.ssid_list, elems.ssid_list_len);
        if (res == NO_SSID_MATCH) {