[PATCH 1/2] wpa_supplicant: Handle randomization changes for same ESS

Andrzej Ostruszka amo at semihalf.com
Mon Dec 5 09:04:42 PST 2022


On Fri, Dec 02, 2022 at 12:49:13PM +0200, Jouni Malinen wrote:
[...]
> > diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
> > @@ -2436,7 +2445,7 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
> >  	wpa_s_setup_sae_pt(wpa_s->conf, ssid);
> >  #endif /* CONFIG_SAE */
> >  
> > -	if (rand_style > 0 && !wpa_s->reassoc_same_ess) {
> > +	if (rand_style > 0) {
> >  		if (wpas_update_random_addr(wpa_s, rand_style, ssid) < 0)
> >  			return;
> >  		wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid);
> 
> Wouldn't this disable PMKSA caching completely for all rand_style > 0
> cases? In particular, this flushing of the PMKSA cache entries seems
> undesired for rand_style==3 when reassociating within the ESS using the
> same MAC address.

You are right.  I'll change wpas_update_random_addr() to return "> 0"
when the address has been changed, "0" for no change and "< 0" on error
(like it is now) and will flush only for "> 0".

BTW shouldn't we also clear cache when restoring hardware MAC?

With regards
Andrzej Ostruszka



More information about the Hostap mailing list