[OpenWrt-Devel] [PATCH] Add support for multiple RADIUS servers
amine.ahd
amine.ahd at gmail.com
Wed Apr 20 10:48:51 EDT 2016
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 at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list