FT: Use BSSID as r1_key_holder if no value is configured
r1_key_holder is an identifier that was always set to zero if unless configured before. See 11.6.1.7.4 of IEEE Std 802.11-2012 which reads "R1KH-ID is a MAC address of the holder of the PMK-R1 in the Authenticator of the AP" See 12.2.2 of IEEE Std 802.11-2012 which reads "Each R0KH-ID and R1KH-ID is assumed to be expressed as a unique identifier within the mobility domain." "The R1KH-ID shall be set to a MAC address of the physical entity that stores the PMK-R1 ..." Defaulting this to BSSID is a more reasonable value since we have not rejected the missing r1_key_holder as invalid configuration. Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
This commit is contained in:
parent
186ca4736d
commit
d48d1b88d0
2 changed files with 6 additions and 0 deletions
|
@ -1260,6 +1260,7 @@ own_ip_addr=127.0.0.1
|
|||
|
||||
# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID)
|
||||
# 6-octet identifier as a hex string.
|
||||
# Defaults to BSSID.
|
||||
#r1_key_holder=000102030405
|
||||
|
||||
# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535)
|
||||
|
|
|
@ -940,6 +940,11 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
|
|||
if (conf->wmm_enabled < 0)
|
||||
conf->wmm_enabled = hapd->iconf->ieee80211n;
|
||||
|
||||
#ifdef CONFIG_IEEE80211R
|
||||
if (is_zero_ether_addr(conf->r1_key_holder))
|
||||
os_memcpy(conf->r1_key_holder, hapd->own_addr, ETH_ALEN);
|
||||
#endif /* CONFIG_IEEE80211R */
|
||||
|
||||
#ifdef CONFIG_MESH
|
||||
if (hapd->iface->mconf == NULL)
|
||||
flush_old_stations = 0;
|
||||
|
|
Loading…
Reference in a new issue