Changes to simulate mac randomization. To validate the working of changes related to Device Identity Key. Signed-off-by: Peddolla Harshavardhan Reddy <peddolla@xxxxxxxxxxxxxxxx> --- src/common/proximity_ranging.c | 7 +++++++ src/common/proximity_ranging.h | 1 + wpa_supplicant/pr_supplicant.c | 6 ++++++ wpa_supplicant/pr_supplicant.h | 4 ++++ wpa_supplicant/wpa_supplicant.c | 1 + 5 files changed, 19 insertions(+) diff --git a/src/common/proximity_ranging.c b/src/common/proximity_ranging.c index 6fd8e7003..544cb9dfb 100644 --- a/src/common/proximity_ranging.c +++ b/src/common/proximity_ranging.c @@ -138,6 +138,13 @@ void pr_deinit(struct pr_data *pr) } +void pr_set_dev_addr(struct pr_data *pr, const u8 *addr) +{ + if (pr && addr) + os_memcpy(pr->cfg->dev_addr, addr, ETH_ALEN); +} + + void pr_clear_dev_iks(struct pr_data *pr) { struct pr_device *dev; diff --git a/src/common/proximity_ranging.h b/src/common/proximity_ranging.h index e6943355f..77ce4cd49 100644 --- a/src/common/proximity_ranging.h +++ b/src/common/proximity_ranging.h @@ -442,6 +442,7 @@ struct operation_mode { struct pr_data * pr_init(const struct pr_config *cfg); void pr_deinit(struct pr_data *pr); +void pr_set_dev_addr(struct pr_data *pr, const u8 *addr); void pr_clear_dev_iks(struct pr_data *pr); void pr_add_dev_ik(struct pr_data *pr, const u8 *dik, const char *password, const u8 *pmk, bool own); diff --git a/wpa_supplicant/pr_supplicant.c b/wpa_supplicant/pr_supplicant.c index 9385215b5..36cffcae6 100644 --- a/wpa_supplicant/pr_supplicant.c +++ b/wpa_supplicant/pr_supplicant.c @@ -245,6 +245,12 @@ void wpas_pr_deinit(struct wpa_supplicant *wpa_s) } +void wpas_pr_update_dev_addr(struct wpa_supplicant *wpa_s) +{ + pr_set_dev_addr(wpa_s->global->pr, wpa_s->own_addr); +} + + void wpas_pr_clear_dev_iks(struct wpa_supplicant *wpa_s) { struct pr_data *pr = wpa_s->global->pr; diff --git a/wpa_supplicant/pr_supplicant.h b/wpa_supplicant/pr_supplicant.h index 633de38b6..58b145788 100644 --- a/wpa_supplicant/pr_supplicant.h +++ b/wpa_supplicant/pr_supplicant.h @@ -15,6 +15,7 @@ int wpas_pr_init(struct wpa_global *global, struct wpa_supplicant *wpa_s); void wpas_pr_deinit(struct wpa_supplicant *wpa_s); +void wpas_pr_update_dev_addr(struct wpa_supplicant *wpa_s); void wpas_pr_clear_dev_iks(struct wpa_supplicant *wpa_s); void wpas_pr_set_dev_ik(struct wpa_supplicant *wpa_s, const u8 *dik, const char *password, const u8 *pmk, bool own); @@ -42,6 +43,9 @@ static inline void wpas_pr_deinit(struct wpa_supplicant *wpa_s) { } +static inline void wpas_pr_update_dev_addr(struct wpa_supplicant *wpa_s) +{ +} static inline void wpas_pr_clear_dev_iks(struct wpa_supplicant *wpa_s) { diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 1524794aa..57ada0a30 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -2635,6 +2635,7 @@ int wpas_update_random_addr(struct wpa_supplicant *wpa_s, } wpas_p2p_update_dev_addr(wpa_s); + wpas_pr_update_dev_addr(wpa_s); wpa_msg(wpa_s, MSG_DEBUG, "Using random MAC address " MACSTR, MAC2STR(addr)); -- 2.34.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap