summaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/files/hostapd.sh
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2022-12-15 13:57:04 +0100
committerFelix Fietkau <nbd@nbd.name>2022-12-16 14:32:47 +0100
commit2fb38b77a23735fe55324f51437a1f83d853bafa (patch)
tree906ed19e395a32a3fc3ca71a689e0bc18b3c5823 /package/network/services/hostapd/files/hostapd.sh
parentd15b1fbed7abb6d4d536c32551ce6d73a309889b (diff)
downloadopenwrt-2fb38b77a23735fe55324f51437a1f83d853bafa.tar.gz
openwrt-2fb38b77a23735fe55324f51437a1f83d853bafa.tar.bz2
openwrt-2fb38b77a23735fe55324f51437a1f83d853bafa.zip
hostapd: add support for automatically setting RADIUS own-ip dynamically
Some servers use the NAS-IP-Address attribute as a destination address Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/network/services/hostapd/files/hostapd.sh')
-rw-r--r--package/network/services/hostapd/files/hostapd.sh11
1 files changed, 9 insertions, 2 deletions
diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
index 55cc766b58..eabfb21a9f 100644
--- a/package/network/services/hostapd/files/hostapd.sh
+++ b/package/network/services/hostapd/files/hostapd.sh
@@ -687,7 +687,7 @@ hostapd_set_bss_options() {
json_get_vars \
auth_server auth_secret auth_port \
dae_client dae_secret dae_port \
- ownip radius_client_addr \
+ dynamic_ownip ownip radius_client_addr \
eap_reauth_period request_cui \
erp_domain mobility_domain \
fils_realm fils_dhcp
@@ -695,6 +695,8 @@ hostapd_set_bss_options() {
# radius can provide VLAN ID for clients
vlan_possible=1
+ set_default dynamic_ownip 1
+
# legacy compatibility
[ -n "$auth_server" ] || json_get_var auth_server server
[ -n "$auth_port" ] || json_get_var auth_port port
@@ -743,7 +745,12 @@ hostapd_set_bss_options() {
}
json_for_each_item append_radius_auth_req_attr radius_auth_req_attr
- [ -n "$ownip" ] && append bss_conf "own_ip_addr=$ownip" "$N"
+ if [ -n "$ownip" ]; then
+ append bss_conf "own_ip_addr=$ownip" "$N"
+ elif [ "$dynamic_ownip" -gt 0 ]; then
+ append bss_conf "dynamic_own_ip_addr=$dynamic_ownip" "$N"
+ fi
+
[ -n "$radius_client_addr" ] && append bss_conf "radius_client_addr=$radius_client_addr" "$N"
append bss_conf "eapol_key_index_workaround=1" "$N"
append bss_conf "ieee8021x=1" "$N"