[PATCH] consistently use same webserver port for hoodfile on wifi and lan

Fabian Bläse fabian at blaese.de
Do Okt 19 10:19:18 CEST 2017


Signed-off-by: Fabian Bläse <fabian at blaese.de>
---
 src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange |  4 ++--
 src/packages/fff/fff-hoods/files/usr/sbin/configurehood       |  8 ++++----
 src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd | 10 ++++++++++
 src/packages/fff/fff-web/files/www/hood/.keep                 |  0
 src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html      |  2 +-
 5 files changed, 17 insertions(+), 7 deletions(-)
 create mode 100644 src/packages/fff/fff-web/files/www/hood/.keep

diff --git a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
index d7c2c13..a2fc651 100644
--- a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
+++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
@@ -6,8 +6,8 @@
 
 getJsonPath() {
 	jsonfile=""
-	if [ -s /www/public/keyxchangev2data ] ; then
-		jsonfile="/www/public/keyxchangev2data"
+	if [ -s /www/hood/keyxchangev2data ] ; then
+		jsonfile="/www/hood/keyxchangev2data"
 	elif [ -s /tmp/keyxchangev2data ] ; then
 		jsonfile="/tmp/keyxchangev2data"
 	fi
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index 88f6f53..c47b251 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -70,7 +70,7 @@ else
 	if ! isGatewayAvailable ; then
 		#now we haven't a gateway in Range, we search for a hidden AP to get a keyxchangev2data file!
 		#first we delete all wifi settings
-		rm -f /www/public/keyxchangev2data # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
+		rm -f /www/hood/keyxchangev2data # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
 
 		if ! wifiDelAll; then
 			echo "Can't delete current wifi setup"
@@ -97,7 +97,7 @@ else
 		# wait a moment to start the interface
 		sleep 10;
 		# and here we can download the Hoodfile from the other node
-		wget -T15 -t5 "http://[fe80::1%w2sta]/keyxchangev2data" -O /tmp/keyxchangev2data
+		wget -T15 -t5 "http://[fe80::1%w2sta]:2342/keyxchangev2data" -O /tmp/keyxchangev2data
 	else
 		echo "We have a Gateway in Range, we load the keyxchangev2data from fe80::1"
 		wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O /tmp/keyxchangev2data
@@ -111,7 +111,7 @@ if [ -s /tmp/keyxchangev2data ]; then
 	# but without signature, every hood file we get is valid!
 
 	catnew="$(cat /tmp/keyxchangev2data | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
-	catold="$(cat /www/public/keyxchangev2data 2>/dev/null | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
+	catold="$(cat /www/hood/keyxchangev2data 2>/dev/null | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
 
@@ -186,7 +186,7 @@ if [ -s /tmp/keyxchangev2data ]; then
 
 		# copy the file to webroot so that other Meshrouter can download it;
 		# copy only after all other steps so IF can be reentered if something goes wrong
-		cp /tmp/keyxchangev2data /www/public/
+		cp /tmp/keyxchangev2data /www/hood/
 
 	else
 		echo "We have no new file. We do nothing. We try it again in 5 minutes...";
diff --git a/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd b/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd
index 28ae2b5..42376ad 100644
--- a/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd
+++ b/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd
@@ -5,6 +5,7 @@ uci batch <<EOF
   delete uhttpd.public
   delete uhttpd.ssl
   delete uhttpd.px5g
+
   set uhttpd.public=uhttpd
   add_list uhttpd.public.listen_http='80'
   set uhttpd.public.home='/www/public'
@@ -14,6 +15,7 @@ uci batch <<EOF
   set uhttpd.public.network_timeout='30'
   set uhttpd.public.tcp_keepalive='1'
   set uhttpd.public.config='_'
+
   set uhttpd.ssl=uhttpd
   add_list uhttpd.ssl.listen_https='443'
   set uhttpd.ssl.home='/www/ssl'
@@ -29,6 +31,14 @@ uci batch <<EOF
   set uhttpd.px5g.days='1400'
   set uhttpd.px5g.bits='2048'
   set uhttpd.px5g.commonname='OpenWrt'
+
+  set uhttpd.hood=uhttpd
+  add_list uhttpd.hood.listen_http='2342'
+  set uhttpd.hood.home='/www/hood'
+  set uhttpd.hood.rfc1918_filter='1'
+  set uhttpd.hood.network_timeout='30'
+  set uhttpd.hood.tcp_keepalive='1'
+  set uhttpd.hood.config='_'
 EOF
 
 uci commit uhttpd
diff --git a/src/packages/fff/fff-web/files/www/hood/.keep b/src/packages/fff/fff-web/files/www/hood/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
index cbce768..402670d 100755
--- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
+++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
@@ -5,7 +5,7 @@
 if [ "$REQUEST_METHOD" == "POST" ] ; then
 	if [ "$POST_resethood" != "" ] ; then
 		# reset hood
-		rm /www/public/keyxchangev2data 2> /dev/null
+		rm /www/hood/keyxchangev2data 2> /dev/null
 		MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
 	fi
 fi
-- 
2.14.2



Mehr Informationen über die Mailingliste franken-dev