mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-31 18:38:10 +00:00
EAP105: Roaming failed, if MPSK (AAA server) is configured (#515)
* While Roaming the AP couldn't find the wildcard R0KH and R1KH ids, which are required by Fast transistion. * Issue caused by the placement of conf parser in the invalid location. Fixes: WIFI-14544 Signed-off-by: Marek Kwaczynski <marek@shasta.cloud>
This commit is contained in:
committed by
John Crispin
parent
44bcc50815
commit
3caba52dba
@@ -1,3 +1,4 @@
|
|||||||
|
unchanged:
|
||||||
--- a/hostapd/config_file.c
|
--- a/hostapd/config_file.c
|
||||||
+++ b/hostapd/config_file.c
|
+++ b/hostapd/config_file.c
|
||||||
@@ -3003,6 +3003,8 @@ static int hostapd_config_fill(struct ho
|
@@ -3003,6 +3003,8 @@ static int hostapd_config_fill(struct ho
|
||||||
@@ -9,12 +10,10 @@
|
|||||||
#endif /* CONFIG_IEEE80211R_AP */
|
#endif /* CONFIG_IEEE80211R_AP */
|
||||||
#ifndef CONFIG_NO_CTRL_IFACE
|
#ifndef CONFIG_NO_CTRL_IFACE
|
||||||
} else if (os_strcmp(buf, "ctrl_interface") == 0) {
|
} else if (os_strcmp(buf, "ctrl_interface") == 0) {
|
||||||
@@ -4958,8 +4960,22 @@ int hostapd_set_iface(struct hostapd_con
|
@@ -4982,6 +4982,19 @@ struct hostapd_config * hostapd_config_r
|
||||||
return -1;
|
fclose(f);
|
||||||
}
|
|
||||||
|
|
||||||
- for (i = 0; i < conf->num_bss; i++)
|
for (i = 0; i < conf->num_bss; i++) {
|
||||||
+ for (i = 0; i < conf->num_bss; i++) {
|
|
||||||
+ if (*conf->bss[i]->ft_key) {
|
+ if (*conf->bss[i]->ft_key) {
|
||||||
+ u8 buffer[128];
|
+ u8 buffer[128];
|
||||||
+ sprintf(buffer, "%02X:%02X:%02X:%02X:%02X:%02X %02X%02X%02X%02X%02X%02X %s", MAC2STR(conf->bss[i]->bssid), MAC2STR(conf->bss[i]->bssid), conf->bss[i]->ft_key);
|
+ sprintf(buffer, "%02X:%02X:%02X:%02X:%02X:%02X %02X%02X%02X%02X%02X%02X %s", MAC2STR(conf->bss[i]->bssid), MAC2STR(conf->bss[i]->bssid), conf->bss[i]->ft_key);
|
||||||
@@ -25,14 +24,12 @@
|
|||||||
+ add_r0kh(conf->bss[i], buffer);
|
+ add_r0kh(conf->bss[i], buffer);
|
||||||
+ sprintf(buffer, "00:00:00:00:00:00 00:00:00:00:00:00 %s", conf->bss[i]->ft_key);
|
+ sprintf(buffer, "00:00:00:00:00:00 00:00:00:00:00:00 %s", conf->bss[i]->ft_key);
|
||||||
+ add_r1kh(conf->bss[i], buffer);
|
+ add_r1kh(conf->bss[i], buffer);
|
||||||
+ hexstr2bin(conf->bss[i]->bssid, conf->bss[i]->r1_key_holder, FT_R1KH_ID_LEN);
|
+ hexstr2bin(conf->bss[i]->bssid, conf->bss[i]->r1_key_holder, FT_R1KH_ID_LEN);
|
||||||
+ conf->bss[i]->r0_key_holder_bssid = 1;
|
+ conf->bss[i]->r0_key_holder_bssid = 1;
|
||||||
+ }
|
+ }
|
||||||
hostapd_set_security_params(conf->bss[i], 0);
|
hostapd_set_security_params(conf->bss[i], 1);
|
||||||
+ }
|
#ifdef CONFIG_IEEE80211BE
|
||||||
|
if (conf->ieee80211be && conf->bss[i]->ieee80211w > 0
|
||||||
if (hostapd_config_check(conf, 0)) {
|
|
||||||
wpa_printf(MSG_ERROR, "Configuration check failed");
|
|
||||||
--- a/src/ap/ap_config.h
|
--- a/src/ap/ap_config.h
|
||||||
+++ b/src/ap/ap_config.h
|
+++ b/src/ap/ap_config.h
|
||||||
@@ -398,6 +398,7 @@ struct hostapd_bss_config {
|
@@ -398,6 +398,7 @@ struct hostapd_bss_config {
|
||||||
|
|||||||
Reference in New Issue
Block a user