From 43106e122b27811e9d47b48c6f5feca838858fc1 Mon Sep 17 00:00:00 2001 From: Veerendranath Jakkam Date: Tue, 11 Aug 2020 01:31:49 +0530 Subject: [PATCH] GAS: Update source MAC address on preassoc_mac_addr randomization The GAS query source MAC address was not getting updated correctly when preassoc_mac_addr is enabled. Fix this by copying the current MAC address to the GAS query source address. Signed-off-by: Veerendranath Jakkam --- wpa_supplicant/gas_query.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/wpa_supplicant/gas_query.c b/wpa_supplicant/gas_query.c index 941692111..e60a8c1fe 100644 --- a/wpa_supplicant/gas_query.c +++ b/wpa_supplicant/gas_query.c @@ -694,13 +694,15 @@ static void gas_query_start_cb(struct wpa_radio_work *work, int deinit) return; } - if (!query->maintain_addr && !wpa_s->conf->gas_rand_mac_addr && - wpas_update_random_addr_disassoc(wpa_s) < 0) { - wpa_msg(wpa_s, MSG_INFO, - "Failed to assign random MAC address for GAS"); - gas_query_free(query, 1); - radio_work_done(work); - return; + if (!query->maintain_addr && !wpa_s->conf->gas_rand_mac_addr) { + if (wpas_update_random_addr_disassoc(wpa_s) < 0) { + wpa_msg(wpa_s, MSG_INFO, + "Failed to assign random MAC address for GAS"); + gas_query_free(query, 1); + radio_work_done(work); + return; + } + os_memcpy(query->sa, wpa_s->own_addr, ETH_ALEN); } gas->work = work;