hostapd: add support for client taxonomy in the full config
authorFelix Fietkau <nbd@nbd.name>
Mon, 30 Apr 2018 11:40:42 +0000 (13:40 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 18 Dec 2018 16:22:04 +0000 (17:22 +0100)
This can be used to fingerprint clients to try to identify the exact
model

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(backported from 23c1827e341fce302ba2841ecabeeb3f95e21d68)

package/network/services/hostapd/files/hostapd-full.config
package/network/services/hostapd/patches/430-hostapd_cli_ifdef.patch

index 786afad2bcc6f37d499c44a2513da709bf07d30e..355a70b9e181c5af6f08c2741f8b18c569dbd8fd 100644 (file)
@@ -357,7 +357,7 @@ CONFIG_INTERNAL_LIBTOMMATH=y
 # Has the AP retain the Probe Request and (Re)Association Request frames from
 # a client, from which a signature can be produced which can identify the model
 # of client device like "Nexus 6P" or "iPhone 5s".
-#CONFIG_TAXONOMY=y
+CONFIG_TAXONOMY=y
 
 # Fast Initial Link Setup (FILS) (IEEE 802.11ai)
 # Note: This is an experimental and not yet complete implementation. This
index c1882d84a50f8879f45decdd0e5bda42d80b0a73..29dc0832eea3c45ab5f71de7e8d504cb45e72110 100644 (file)
@@ -1,6 +1,22 @@
 --- a/hostapd/hostapd_cli.c
 +++ b/hostapd/hostapd_cli.c
-@@ -417,7 +417,6 @@ static int hostapd_cli_cmd_sa_query(stru
+@@ -385,7 +385,6 @@ static int hostapd_cli_cmd_disassociate(
+ }
+-#ifdef CONFIG_TAXONOMY
+ static int hostapd_cli_cmd_signature(struct wpa_ctrl *ctrl, int argc,
+                                    char *argv[])
+ {
+@@ -398,7 +397,6 @@ static int hostapd_cli_cmd_signature(str
+       os_snprintf(buf, sizeof(buf), "SIGNATURE %s", argv[0]);
+       return wpa_ctrl_command(ctrl, buf);
+ }
+-#endif /* CONFIG_TAXONOMY */
+ #ifdef CONFIG_IEEE80211W
+@@ -417,7 +415,6 @@ static int hostapd_cli_cmd_sa_query(stru
  #endif /* CONFIG_IEEE80211W */
  
  
@@ -8,7 +24,7 @@
  static int hostapd_cli_cmd_wps_pin(struct wpa_ctrl *ctrl, int argc,
                                   char *argv[])
  {
-@@ -643,7 +642,6 @@ static int hostapd_cli_cmd_wps_config(st
+@@ -643,7 +640,6 @@ static int hostapd_cli_cmd_wps_config(st
                         ssid_hex, argv[1]);
        return wpa_ctrl_command(ctrl, buf);
  }
  
  
  static int hostapd_cli_cmd_disassoc_imminent(struct wpa_ctrl *ctrl, int argc,
-@@ -1518,7 +1516,6 @@ static const struct hostapd_cli_cmd host
+@@ -1510,15 +1506,12 @@ static const struct hostapd_cli_cmd host
+       { "disassociate", hostapd_cli_cmd_disassociate,
+         hostapd_complete_stations,
+         "<addr> = disassociate a station" },
+-#ifdef CONFIG_TAXONOMY
+       { "signature", hostapd_cli_cmd_signature, hostapd_complete_stations,
+         "<addr> = get taxonomy signature for a station" },
+-#endif /* CONFIG_TAXONOMY */
+ #ifdef CONFIG_IEEE80211W
        { "sa_query", hostapd_cli_cmd_sa_query, hostapd_complete_stations,
          "<addr> = send SA Query to a station" },
  #endif /* CONFIG_IEEE80211W */
@@ -24,7 +48,7 @@
        { "wps_pin", hostapd_cli_cmd_wps_pin, NULL,
          "<uuid> <pin> [timeout] [addr] = add WPS Enrollee PIN" },
        { "wps_check_pin", hostapd_cli_cmd_wps_check_pin, NULL,
-@@ -1543,7 +1540,6 @@ static const struct hostapd_cli_cmd host
+@@ -1543,7 +1536,6 @@ static const struct hostapd_cli_cmd host
          "<SSID> <auth> <encr> <key> = configure AP" },
        { "wps_get_status", hostapd_cli_cmd_wps_get_status, NULL,
          "= show current WPS status" },