Hostapd allows more than one RADIUS server to be added in case the main server goes down. This allows netifd to load a list of RADIUS servers from the wireless confid file and add them to hostapd. The format of the list in the config file is as follow: list auth_servers ... list auth_ports ... list auth_secrets ...
--- .../network/services/hostapd/files/netifd.sh | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh index 417cc42..ed772ff 100644 --- a/package/network/services/hostapd/files/netifd.sh +++ b/package/network/services/hostapd/files/netifd.sh @@ -125,6 +125,10 @@ hostapd_common_add_bss_config() { config_add_string auth_secret config_add_int 'auth_port:port' 'port:port' + config_add_array auth_servers + config_add_array auth_secrets + config_add_array auth_ports + config_add_string acct_server config_add_string acct_secret config_add_int acct_port @@ -269,10 +273,34 @@ hostapd_set_bss_options() { set_default vlan_naming 1 + # leave the default option for legacy compatibility append bss_conf "auth_server_addr=$auth_server" "$N" append bss_conf "auth_server_port=$auth_port" "$N" append bss_conf "auth_server_shared_secret=$auth_secret" "$N" + # List of fallback RADIUS servers + json_select "auth_servers" + local Index="1" + while json_get_type Var $Index && [ "$Var" = string ]; do + json_get_var Var "$((Index))" + append bss_conf "auth_server_addr=$Var" "$N" + json_select ".." + + json_select "auth_ports" + json_get_var Var "$((Index))" + set_default Var 1812 + append bss_conf "auth_server_port=$Var" "$N" + json_select ".." + + json_select "auth_secrets" + json_get_var Var "$((Index++))" + append bss_conf "auth_server_shared_secret=$Var" "$N" + json_select ".." + + json_select "auth_servers" + done + json_select ".." + [ -n "$acct_server" ] && { append bss_conf "acct_server_addr=$acct_server" "$N" append bss_conf "acct_server_port=$acct_port" "$N" -- 2.6.6 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel