[PATCH 3/3] fff-hoods: create hoodfile AP earlier

Fabian Bläse fabian at blaese.de
Mi Mai 6 16:48:03 CEST 2020


The hidden AP creation is moved to the end of
configurehood, so it is executed right after hoodfile
changes are processed.

When keeping the long sleep before trying to gather hoodfiles
via wireless or ethernet, this should decrease the delay after
hood changes to a minimum, as mesh nodes don't have to wait
until configurehood on VPN nodes is executed a second time.

Because hoodfiles gathered via wireless or ethernet are not
copied to hoodfilewww (which is used to deliver the active
hoodfile via ethernet or wireless), only authoritative hoodfiles
(keyxchange and gateway) trigger the creation of a hidden AP.

Signed-off-by: Fabian Bläse <fabian at blaese.de>
---
 .../fff-hoods/files/usr/sbin/configurehood    | 47 +++++++++----------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index 261b926..0722e77 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -38,30 +38,6 @@ hasInternet() {
 	return 1
 }
 
-# Hidden AP check
-
-if [ -s "$hoodfilewww" ] && isGatewayAvailable ; then
-	needwifi="0"
-	for radio in $(wifiListRadio); do
-		freq="$(wifiGetFreq $radio)"
-
-		# Break: wXconfig is up
-		[ "$(uci get "wireless.w${freq}configap.disabled")" = "0" ] && continue
-		# Break: No mesh interface
-		[ "$(uci get "wireless.w${freq}mesh.disabled")" = "0" ] || continue
-		
-		# Enable configap
-		uci set wireless.w${freq}configap.disabled='0'
-		uci commit wireless
-		needwifi="1"
-	done
-
-	if [ "$needwifi" = "1" ]; then
-		reload_config
-		sleep 10
-	fi
-fi
-
 if [ -s "$hoodfilelocal" ]; then
 	# remove webroot hoodfile to prevent offering local hoodfiles to neighbours
 	rm -f "$hoodfilewww"
@@ -247,3 +223,26 @@ else
 	echo "We haven't got a file. We do nothing. We try it again in 5 minutes...";
 	exit 0
 fi
+
+# Hidden AP check
+if [ -s "$hoodfilewww" ] && isGatewayAvailable; then
+	needwifi="0"
+	for radio in $(wifiListRadio); do
+		freq="$(wifiGetFreq $radio)"
+
+		# Break: wXconfig is up
+		[ "$(uci get "wireless.w${freq}configap.disabled")" = "0" ] && continue
+		# Break: No mesh interface
+		[ "$(uci get "wireless.w${freq}mesh.disabled")" = "0" ] || continue
+
+		# Enable configap
+		uci set wireless.w${freq}configap.disabled='0'
+		uci commit wireless
+		needwifi="1"
+	done
+
+	if [ "$needwifi" = "1" ]; then
+		reload_config
+		sleep 10
+	fi
+fi
-- 
2.26.2



Mehr Informationen über die Mailingliste franken-dev