From 964feeb54d975b0b8cabcbf7556edc2b4bc6b7e7 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Fri, 9 Sep 2011 18:19:18 +0000
Subject: hostapd: introduce "wpa_pair_rekey" and "wpa_master_rekey" options,
 remove hardcoded wpa rekey intervals, remove hardcoded
 radius_acct_interim_interval as it might overrule the radius
 Acct-Interim-Interval attribute

SVN-Revision: 28207
---
 package/hostapd/files/hostapd.sh | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/package/hostapd/files/hostapd.sh b/package/hostapd/files/hostapd.sh
index 3fbe734871..10062307e5 100644
--- a/package/hostapd/files/hostapd.sh
+++ b/package/hostapd/files/hostapd.sh
@@ -1,10 +1,13 @@
 hostapd_set_bss_options() {
 	local var="$1"
 	local vif="$2"
-	local enc wpa_group_rekey wps_possible
+	local enc wep_rekey wpa_group_rekey wpa_pair_rekey wpa_master_rekey wps_possible
 
 	config_get enc "$vif" encryption
-	config_get wpa_group_rekey "$vif" wpa_group_rekey
+	config_get wep_rekey        "$vif" wep_rekey        # 300
+	config_get wpa_group_rekey  "$vif" wpa_group_rekey  # 300
+	config_get wpa_pair_rekey   "$vif" wpa_pair_rekey   # 300
+	config_get wpa_master_rekey "$vif" wpa_master_rekey # 640
 	config_get_bool ap_isolate "$vif" isolate 0
 
 	config_get device "$vif" device
@@ -64,6 +67,9 @@ hostapd_set_bss_options() {
 				append "$var" "wpa_passphrase=$psk" "$N"
 			fi
 			wps_possible=1
+			[ -n "$wpa_group_rekey"  ] && append "$var" "wpa_group_rekey=$wpa_group_rekey" "$N"
+			[ -n "$wpa_pair_rekey"   ] && append "$var" "wpa_ptk_rekey=$wpa_pair_rekey"    "$N"
+			[ -n "$wpa_master_rekey" ] && append "$var" "wpa_gmk_rekey=$wpa_master_rekey"  "$N"
 		;;
 		*wpa*)
 			# required fields? formats?
@@ -88,11 +94,11 @@ hostapd_set_bss_options() {
 			config_get nasid "$vif" nasid
 			append "$var" "nas_identifier=$nasid" "$N"
 			append "$var" "eapol_key_index_workaround=1" "$N"
-			append "$var" "radius_acct_interim_interval=300" "$N"
 			append "$var" "ieee8021x=1" "$N"
 			append "$var" "wpa_key_mgmt=WPA-EAP" "$N"
-			append "$var" "wpa_group_rekey=300" "$N"
-			append "$var" "wpa_gmk_rekey=640" "$N"
+			[ -n "$wpa_group_rekey"  ] && append "$var" "wpa_group_rekey=$wpa_group_rekey" "$N"
+			[ -n "$wpa_pair_rekey"   ] && append "$var" "wpa_ptk_rekey=$wpa_pair_rekey"    "$N"
+			[ -n "$wpa_master_rekey" ] && append "$var" "wpa_gmk_rekey=$wpa_master_rekey"  "$N"
 		;;
 		*wep*)
 			config_get key "$vif" key
@@ -111,6 +117,7 @@ hostapd_set_bss_options() {
 				*)
 					append "$var" "wep_key0=$(prepare_key_wep "$key")" "$N"
 					append "$var" "wep_default_key=0" "$N"
+					[ -n "$wep_rekey" ] && append "$var" "wep_rekey_period=$wep_rekey" "$N"
 				;;
 			esac
 			case "$enc" in
-- 
cgit v1.2.3