[OpenWrt-Devel,RFC,1/3] hostapd: append nasid to config for all WPA types
diff mbox

Message ID 1422196245-2289-2-git-send-email-stijn@linux-ipv6.be
State Accepted
Delegated to: Felix Fietkau
Headers show

Commit Message

Stijn Tintel Jan. 25, 2015, 2:30 p.m. UTC
The 802.11r implementation in hostapd uses nas_identifier as PMK-R0 Key
Holder identifier. As 802.11r can also be used with WPA Personal, nasid
should be appended to the hostapd config for all WPA types.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
---
 package/network/services/hostapd/files/hostapd.sh | 8 ++++++--
 package/network/services/hostapd/files/netifd.sh  | 8 ++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

Patch
diff mbox

diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
index b8ba7bd..2a38d16 100644
--- a/package/network/services/hostapd/files/hostapd.sh
+++ b/package/network/services/hostapd/files/hostapd.sh
@@ -129,9 +129,7 @@  hostapd_set_bss_options() {
 				append "$var" "radius_das_port=${dae_port:-3799}" "$N"
 				append "$var" "radius_das_client=$dae_client $dae_secret" "$N"
 			}
-			config_get nasid "$vif" nasid
 			config_get ownip "$vif" ownip
-			append "$var" "nas_identifier=$nasid" "$N"
 			append "$var" "own_ip_addr=$ownip" "$N"
 			append "$var" "eapol_key_index_workaround=1" "$N"
 			append "$var" "ieee8021x=1" "$N"
@@ -216,6 +214,12 @@  hostapd_set_bss_options() {
 	[ -n "$ieee80211d" ] && append "$var" "ieee80211d=$ieee80211d" "$N"
 	[ -n "$iapp_interface" ] && append "$var" iapp_interface=$(uci_get_state network "$iapp_interface" ifname "$iapp_interface") "$N"
 
+	if [ "$wpa" -ge "1" ]
+	then
+		config_get nasid "$vif" nasid
+		[ -n "$nasid" ] && append "$var" "nas_identifier=$nasid" "$N"
+	fi
+
 	if [ "$wpa" -ge "2" ]
 	then
 		# RSN -> allow preauthentication. You have two
diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh
index 83fb129..2771c1a 100644
--- a/package/network/services/hostapd/files/netifd.sh
+++ b/package/network/services/hostapd/files/netifd.sh
@@ -236,7 +236,7 @@  hostapd_set_bss_options() {
 				auth_server auth_secret auth_port \
 				acct_server acct_secret acct_port \
 				dae_client dae_secret dae_port \
-				nasid ownip \
+				ownip \
 				eap_reauth_period dynamic_vlan \
 				vlan_naming vlan_tagged_interface \
 				vlan_bridge
@@ -270,7 +270,6 @@  hostapd_set_bss_options() {
 				append bss_conf "radius_das_client=$dae_client $dae_secret" "$N"
 			}
 
-			append bss_conf "nas_identifier=$nasid" "$N"
 			[ -n "$ownip" ] && append bss_conf "own_ip_addr=$ownip" "$N"
 			append bss_conf "eapol_key_index_workaround=1" "$N"
 			append bss_conf "ieee8021x=1" "$N"
@@ -336,6 +335,11 @@  hostapd_set_bss_options() {
 		[ -n "$iapp_interface" ] && append bss_conf "iapp_interface=$iapp_interface" "$N"
 	}
 
+	if [ "$wpa" -ge "1" ]; then
+		json_get_vars nasid
+		[ -n "$nasid" ] && append bss_conf "nas_identifier=$nasid" "$N"
+	fi
+
 	if [ "$wpa" -ge "2" ]; then
 		if [ -n "$network_bridge" -a "$rsn_preauth" = 1 ]; then
 			set_default auth_cache 1