]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Control interface command to generate new random MAC address
authorShivani Baranwal <quic_shivbara@quicinc.com>
Sun, 18 Aug 2024 10:54:23 +0000 (16:24 +0530)
committerJouni Malinen <j@w1.fi>
Mon, 4 Nov 2024 21:31:23 +0000 (23:31 +0200)
Add NEW_RANDOM_MAC_ADDRESS command to allow wpa_supplicant to be
requested to change the currently used MAC address to a random one. This
is applicable only when not connected (or trying to connect).

Signed-off-by: Shivani Baranwal <quic_shivbara@quicinc.com>
wpa_supplicant/ctrl_iface.c

index 90fa6ed2bc630f15e432230542b9c9929fff17b4..62532641181853c762ab67d33f59bd91c225ee57 100644 (file)
@@ -13714,6 +13714,14 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
        } else if (os_strcmp(buf, "MLO_SIGNAL_POLL") == 0) {
                reply_len = wpas_ctrl_iface_mlo_signal_poll(wpa_s, reply,
                                                            reply_size);
+       } else if (os_strcmp(buf, "NEW_RANDOM_MAC_ADDRESS") == 0) {
+               enum wpas_mac_addr_style mac_addr_style =
+                       wpa_s->conf->preassoc_mac_addr;
+
+               wpa_s->conf->preassoc_mac_addr = WPAS_MAC_ADDR_STYLE_RANDOM;
+               if (wpas_update_random_addr_disassoc(wpa_s) != 1)
+                       reply_len = -1;
+               wpa_s->conf->preassoc_mac_addr = mac_addr_style;
        } else {
                os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
                reply_len = 16;