fff-hoods: Use variables for hood file names

Submitted by Adrian Schmutzler on Oct. 19, 2017, 11:06 a.m.

Details

Message ID 1508411188-2258-1-git-send-email-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler Oct. 19, 2017, 11:06 a.m.
Since names may change, this puts the relevant file names for
hood files into variables, so they can be changed at once
without the risk of forgetting some occurrences.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 .../fff-hoods/files/lib/functions/fff/keyxchange   | 12 ++++++----
 .../fff/fff-hoods/files/usr/sbin/configurehood     | 27 +++++++++++-----------
 .../fff/fff-vpn-select/files/usr/sbin/vpn-select   |  5 ++--
 .../fff/fff-web/files/www/ssl/cgi-bin/home.html    |  4 +++-
 4 files changed, 28 insertions(+), 20 deletions(-)

Patch hide | download patch | download mbox

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..cdaa8eb 100644
--- a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
+++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
@@ -4,12 +4,16 @@ 
 
 . /usr/share/libubox/jshn.sh
 
+hoodfile="/tmp/keyxchangev2data"
+hoodfilecopy="/www/public/keyxchangev2data"
+hiddenapfile="/tmp/hiddenapflag"
+
 getJsonPath() {
 	jsonfile=""
-	if [ -s /www/public/keyxchangev2data ] ; then
-		jsonfile="/www/public/keyxchangev2data"
-	elif [ -s /tmp/keyxchangev2data ] ; then
-		jsonfile="/tmp/keyxchangev2data"
+	if [ -s "$hoodfilecopy" ] ; then
+		jsonfile="$hoodfilecopy"
+	elif [ -s "$hoodfile" ] ; then
+		jsonfile="$hoodfile"
 	fi
 	echo "$jsonfile"
 }
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index f7ddb6e..303c54d 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -1,10 +1,11 @@ 
 #!/bin/sh
 
 . /usr/share/libubox/jshn.sh
+. /lib/functions/fff/keyxchange
 . /lib/functions/fff/wireless
 . /lib/functions/fff/timeserver
 
-rm -f /tmp/keyxchangev2data
+rm -f "$hoodfile"
 
 # Gatewaycheck function
 isGatewayAvailable() {
@@ -33,7 +34,7 @@  chan5ghz="36"
 
 # Hidden AP check
 
-if [ -f /tmp/hiddenapflag ]; then
+if [ -f "$hiddenapfile" ]; then
 	if isGatewayAvailable ; then
 
 		for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-9]*\)=wifi-device,\1,p'); do
@@ -54,7 +55,7 @@  if [ -f /tmp/hiddenapflag ]; then
 
 		wifi
 	fi
-	rm /tmp/hiddenapflag
+	rm "$hiddenapfile"
 fi
 
 lat=$(uci -q get system.@system[0].latitude)
@@ -62,7 +63,7 @@  long=$(uci -q get system.@system[0].longitude)
 
 # if we have Internet, we download the Hoodfile from the keyxchangev2
 if hasInternet ; then
-	wget -T15 -t5 "http://keyserver.freifunk-franken.de/v2/?lat=$lat&long=$long" -O /tmp/keyxchangev2data
+	wget -T15 -t5 "http://keyserver.freifunk-franken.de/v2/?lat=$lat&long=$long" -O "$hoodfile"
 	#if no Internet, we connect to the hidden AP and download the file from another Node in range
 else
 	# connect to wireless hidden ap here and download the json File from the nearest router
@@ -70,7 +71,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 "$hoodfilecopy" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
 
 		if ! wifiDelAll; then
 			echo "Can't delete current wifi setup"
@@ -102,25 +103,25 @@  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]/keyxchangev2data" -O "$hoodfile"
 	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
+		wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O "$hoodfile"
 	fi
 fi
 
-if [ -s /tmp/keyxchangev2data ]; then
+if [ -s "$hoodfile" ]; then
 
 	# we get a json file in this format: 
 	# https://pw.freifunk-franken.de/patch/205/
 	# 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/')"
+	catnew="$(cat "$hoodfile" | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
+	catold="$(cat "$hoodfilecopy" 2>/dev/null | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
 
-	json_load "$(cat /tmp/keyxchangev2data)"
+	json_load "$(cat "$hoodfile")"
 
 	if [ "$sumnew" != "$sumold" ]; then
 		echo "New file detect, we reconfigure the Node";
@@ -164,7 +165,7 @@  if [ -s /tmp/keyxchangev2data ]; then
 			fi
 
 			# here we set a bit for add hidden AP
-			touch /tmp/hiddenapflag
+			touch "$hiddenapfile"
 
 			# add 802.11s mesh if type == "802.11s"
 			if ( [ -n "$radio5" ] && [ "$mesh_type5" == "802.11s" ] ) || [ "$mesh_type2" == "802.11s" ]; then
@@ -192,7 +193,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 "$hoodfile" "$hoodfilecopy"
 
 	else
 		echo "We have no new file. We do nothing. We try it again in 5 minutes...";
diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
index 150efe2..85930a8 100755
--- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
+++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
@@ -1,5 +1,6 @@ 
 #!/bin/sh
 
+. /lib/functions/fff/keyxchange
 . /usr/share/libubox/jshn.sh
 
 make_config() {
@@ -8,7 +9,7 @@  make_config() {
 rm /tmp/fastd_fff_peers/*
 count=0
 Index=1
-json_load "$(cat /tmp/keyxchangev2data)"
+json_load "$(cat "$hoodfile")"
 json_select vpn
 # get fastd peers
 while json_select "$Index" > /dev/null
@@ -53,7 +54,7 @@  json_select ".." # back to root
 # main
 
 # Only do something when file is here and greater 0 byte
-if [ -s /tmp/keyxchangev2data ]; then
+if [ -s "$hoodfile" ]; then
 	# set some vars
 	hostname=$(cat /proc/sys/kernel/hostname)
 	mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null)
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 d859ad4..395e490 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
@@ -1,11 +1,13 @@ 
 #!/usr/bin/haserl
 
 <%
+. /lib/functions/fff/keyxchange
+
 # prepare
 if [ "$REQUEST_METHOD" == "POST" ] ; then
 	if [ "$POST_resethood" != "" ] ; then
 		# reset hood
-		rm /www/public/keyxchangev2data 2> /dev/null
+		rm "$hoodfilecopy" 2> /dev/null
 		MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
 	fi
 fi

Comments

Fabian Blaese Oct. 19, 2017, 9:54 p.m.
Gefällt mir.
Würde allerdings die Variablen anders benennen, z.B. “hoodfiletmp” und “hoodfile”, damit klar ist, wofür welche ist.

Reviewed-by: Fabian Bläse <fabian@blaese.de>

Fabian

> On 19. Oct 2017, at 13:06, Adrian Schmutzler <freifunk@adrianschmutzler.de> wrote:
> 
> Since names may change, this puts the relevant file names for
> hood files into variables, so they can be changed at once
> without the risk of forgetting some occurrences.
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
> .../fff-hoods/files/lib/functions/fff/keyxchange   | 12 ++++++----
> .../fff/fff-hoods/files/usr/sbin/configurehood     | 27 +++++++++++-----------
> .../fff/fff-vpn-select/files/usr/sbin/vpn-select   |  5 ++--
> .../fff/fff-web/files/www/ssl/cgi-bin/home.html    |  4 +++-
> 4 files changed, 28 insertions(+), 20 deletions(-)
> 
> 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..cdaa8eb 100644
> --- a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> +++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> @@ -4,12 +4,16 @@
> 
> . /usr/share/libubox/jshn.sh
> 
> +hoodfile="/tmp/keyxchangev2data"
> +hoodfilecopy="/www/public/keyxchangev2data"
> +hiddenapfile="/tmp/hiddenapflag"
> +
> getJsonPath() {
> 	jsonfile=""
> -	if [ -s /www/public/keyxchangev2data ] ; then
> -		jsonfile="/www/public/keyxchangev2data"
> -	elif [ -s /tmp/keyxchangev2data ] ; then
> -		jsonfile="/tmp/keyxchangev2data"
> +	if [ -s "$hoodfilecopy" ] ; then
> +		jsonfile="$hoodfilecopy"
> +	elif [ -s "$hoodfile" ] ; then
> +		jsonfile="$hoodfile"
> 	fi
> 	echo "$jsonfile"
> }
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index f7ddb6e..303c54d 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -1,10 +1,11 @@
> #!/bin/sh
> 
> . /usr/share/libubox/jshn.sh
> +. /lib/functions/fff/keyxchange
> . /lib/functions/fff/wireless
> . /lib/functions/fff/timeserver
> 
> -rm -f /tmp/keyxchangev2data
> +rm -f "$hoodfile"
> 
> # Gatewaycheck function
> isGatewayAvailable() {
> @@ -33,7 +34,7 @@ chan5ghz="36"
> 
> # Hidden AP check
> 
> -if [ -f /tmp/hiddenapflag ]; then
> +if [ -f "$hiddenapfile" ]; then
> 	if isGatewayAvailable ; then
> 
> 		for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-9]*\)=wifi-device,\1,p'); do
> @@ -54,7 +55,7 @@ if [ -f /tmp/hiddenapflag ]; then
> 
> 		wifi
> 	fi
> -	rm /tmp/hiddenapflag
> +	rm "$hiddenapfile"
> fi
> 
> lat=$(uci -q get system.@system[0].latitude)
> @@ -62,7 +63,7 @@ long=$(uci -q get system.@system[0].longitude)
> 
> # if we have Internet, we download the Hoodfile from the keyxchangev2
> if hasInternet ; then
> -	wget -T15 -t5 "http://keyserver.freifunk-franken.de/v2/?lat=$lat&long=$long" -O /tmp/keyxchangev2data
> +	wget -T15 -t5 "http://keyserver.freifunk-franken.de/v2/?lat=$lat&long=$long" -O "$hoodfile"
> 	#if no Internet, we connect to the hidden AP and download the file from another Node in range
> else
> 	# connect to wireless hidden ap here and download the json File from the nearest router
> @@ -70,7 +71,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 "$hoodfilecopy" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
> 
> 		if ! wifiDelAll; then
> 			echo "Can't delete current wifi setup"
> @@ -102,25 +103,25 @@ 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]/keyxchangev2data" -O "$hoodfile"
> 	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
> +		wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O "$hoodfile"
> 	fi
> fi
> 
> -if [ -s /tmp/keyxchangev2data ]; then
> +if [ -s "$hoodfile" ]; then
> 
> 	# we get a json file in this format:
> 	# https://pw.freifunk-franken.de/patch/205/
> 	# 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/')"
> +	catnew="$(cat "$hoodfile" | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
> +	catold="$(cat "$hoodfilecopy" 2>/dev/null | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
> 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
> 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
> 
> -	json_load "$(cat /tmp/keyxchangev2data)"
> +	json_load "$(cat "$hoodfile")"
> 
> 	if [ "$sumnew" != "$sumold" ]; then
> 		echo "New file detect, we reconfigure the Node";
> @@ -164,7 +165,7 @@ if [ -s /tmp/keyxchangev2data ]; then
> 			fi
> 
> 			# here we set a bit for add hidden AP
> -			touch /tmp/hiddenapflag
> +			touch "$hiddenapfile"
> 
> 			# add 802.11s mesh if type == "802.11s"
> 			if ( [ -n "$radio5" ] && [ "$mesh_type5" == "802.11s" ] ) || [ "$mesh_type2" == "802.11s" ]; then
> @@ -192,7 +193,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 "$hoodfile" "$hoodfilecopy"
> 
> 	else
> 		echo "We have no new file. We do nothing. We try it again in 5 minutes...";
> diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> index 150efe2..85930a8 100755
> --- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> +++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> @@ -1,5 +1,6 @@
> #!/bin/sh
> 
> +. /lib/functions/fff/keyxchange
> . /usr/share/libubox/jshn.sh
> 
> make_config() {
> @@ -8,7 +9,7 @@ make_config() {
> rm /tmp/fastd_fff_peers/*
> count=0
> Index=1
> -json_load "$(cat /tmp/keyxchangev2data)"
> +json_load "$(cat "$hoodfile")"
> json_select vpn
> # get fastd peers
> while json_select "$Index" > /dev/null
> @@ -53,7 +54,7 @@ json_select ".." # back to root
> # main
> 
> # Only do something when file is here and greater 0 byte
> -if [ -s /tmp/keyxchangev2data ]; then
> +if [ -s "$hoodfile" ]; then
> 	# set some vars
> 	hostname=$(cat /proc/sys/kernel/hostname)
> 	mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }' /sys/class/net/br-mesh/address 2>/dev/null)
> 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 d859ad4..395e490 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
> @@ -1,11 +1,13 @@
> #!/usr/bin/haserl
> 
> <%
> +. /lib/functions/fff/keyxchange
> +
> # prepare
> if [ "$REQUEST_METHOD" == "POST" ] ; then
> 	if [ "$POST_resethood" != "" ] ; then
> 		# reset hood
> -		rm /www/public/keyxchangev2data 2> /dev/null
> +		rm "$hoodfilecopy" 2> /dev/null
> 		MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
> 	fi
> fi
> --
> 2.7.4
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Adrian Schmutzler Oct. 20, 2017, 3:47 p.m.
Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> Of Adrian Schmutzler
> Sent: Donnerstag, 19. Oktober 2017 13:06
> To: franken-dev@freifunk.net
> Subject: [PATCH] fff-hoods: Use variables for hood file names
> 
> Since names may change, this puts the relevant file names for hood files
into
> variables, so they can be changed at once without the risk of forgetting
some
> occurrences.
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
>  .../fff-hoods/files/lib/functions/fff/keyxchange   | 12 ++++++----
>  .../fff/fff-hoods/files/usr/sbin/configurehood     | 27
+++++++++++-----------
>  .../fff/fff-vpn-select/files/usr/sbin/vpn-select   |  5 ++--
>  .../fff/fff-web/files/www/ssl/cgi-bin/home.html    |  4 +++-
>  4 files changed, 28 insertions(+), 20 deletions(-)
> 
> 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..cdaa8eb 100644
> --- a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> +++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
> @@ -4,12 +4,16 @@
> 
>  . /usr/share/libubox/jshn.sh
> 
> +hoodfile="/tmp/keyxchangev2data"
> +hoodfilecopy="/www/public/keyxchangev2data"
> +hiddenapfile="/tmp/hiddenapflag"
> +
>  getJsonPath() {
>  	jsonfile=""
> -	if [ -s /www/public/keyxchangev2data ] ; then
> -		jsonfile="/www/public/keyxchangev2data"
> -	elif [ -s /tmp/keyxchangev2data ] ; then
> -		jsonfile="/tmp/keyxchangev2data"
> +	if [ -s "$hoodfilecopy" ] ; then
> +		jsonfile="$hoodfilecopy"
> +	elif [ -s "$hoodfile" ] ; then
> +		jsonfile="$hoodfile"
>  	fi
>  	echo "$jsonfile"
>  }
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index f7ddb6e..303c54d 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -1,10 +1,11 @@
>  #!/bin/sh
> 
>  . /usr/share/libubox/jshn.sh
> +. /lib/functions/fff/keyxchange
>  . /lib/functions/fff/wireless
>  . /lib/functions/fff/timeserver
> 
> -rm -f /tmp/keyxchangev2data
> +rm -f "$hoodfile"
> 
>  # Gatewaycheck function
>  isGatewayAvailable() {
> @@ -33,7 +34,7 @@ chan5ghz="36"
> 
>  # Hidden AP check
> 
> -if [ -f /tmp/hiddenapflag ]; then
> +if [ -f "$hiddenapfile" ]; then
>  	if isGatewayAvailable ; then
> 
>  		for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-
> 9]*\)=wifi-device,\1,p'); do @@ -54,7 +55,7 @@ if [ -f /tmp/hiddenapflag
];
> then
> 
>  		wifi
>  	fi
> -	rm /tmp/hiddenapflag
> +	rm "$hiddenapfile"
>  fi
> 
>  lat=$(uci -q get system.@system[0].latitude) @@ -62,7 +63,7 @@ long=$(uci
> -q get system.@system[0].longitude)
> 
>  # if we have Internet, we download the Hoodfile from the keyxchangev2  if
> hasInternet ; then
> -	wget -T15 -t5 "http://keyserver.freifunk-
> franken.de/v2/?lat=$lat&long=$long" -O /tmp/keyxchangev2data
> +	wget -T15 -t5 "http://keyserver.freifunk-
> franken.de/v2/?lat=$lat&long=$long" -O "$hoodfile"
>  	#if no Internet, we connect to the hidden AP and download the file
> from another Node in range  else
>  	# connect to wireless hidden ap here and download the json File
> from the nearest router @@ -70,7 +71,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 "$hoodfilecopy" # delete this, so interfaces are
> recreated if
> +reconnect with unchanged hood file takes place
> 
>  		if ! wifiDelAll; then
>  			echo "Can't delete current wifi setup"
> @@ -102,25 +103,25 @@ 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]/keyxchangev2data" -O
> "$hoodfile"
>  	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
> +		wget -T15 -t5 "http://[fe80::1%br-
> mesh]:2342/keyxchangev2data" -O "$hoodfile"
>  	fi
>  fi
> 
> -if [ -s /tmp/keyxchangev2data ]; then
> +if [ -s "$hoodfile" ]; then
> 
>  	# we get a json file in this format:
>  	# https://pw.freifunk-franken.de/patch/205/
>  	# 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/')"
> +	catnew="$(cat "$hoodfile" | sed 's/"timestamp":[0-
> 9]*/"timestamp":0/')"
> +	catold="$(cat "$hoodfilecopy" 2>/dev/null | sed 's/"timestamp":[0-
> 9]*/"timestamp":0/')"
>  	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
>  	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
> 
> -	json_load "$(cat /tmp/keyxchangev2data)"
> +	json_load "$(cat "$hoodfile")"
> 
>  	if [ "$sumnew" != "$sumold" ]; then
>  		echo "New file detect, we reconfigure the Node"; @@ -164,7
> +165,7 @@ if [ -s /tmp/keyxchangev2data ]; then
>  			fi
> 
>  			# here we set a bit for add hidden AP
> -			touch /tmp/hiddenapflag
> +			touch "$hiddenapfile"
> 
>  			# add 802.11s mesh if type == "802.11s"
>  			if ( [ -n "$radio5" ] && [ "$mesh_type5" ==
"802.11s" ]
> ) || [ "$mesh_type2" == "802.11s" ]; then @@ -192,7 +193,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 "$hoodfile" "$hoodfilecopy"
> 
>  	else
>  		echo "We have no new file. We do nothing. We try it again in
> 5 minutes..."; diff --git
a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-
> select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> index 150efe2..85930a8 100755
> --- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> +++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> @@ -1,5 +1,6 @@
>  #!/bin/sh
> 
> +. /lib/functions/fff/keyxchange
>  . /usr/share/libubox/jshn.sh
> 
>  make_config() {
> @@ -8,7 +9,7 @@ make_config() {
>  rm /tmp/fastd_fff_peers/*
>  count=0
>  Index=1
> -json_load "$(cat /tmp/keyxchangev2data)"
> +json_load "$(cat "$hoodfile")"
>  json_select vpn
>  # get fastd peers
>  while json_select "$Index" > /dev/null
> @@ -53,7 +54,7 @@ json_select ".." # back to root  # main
> 
>  # Only do something when file is here and greater 0 byte -if [ -s
> /tmp/keyxchangev2data ]; then
> +if [ -s "$hoodfile" ]; then
>  	# set some vars
>  	hostname=$(cat /proc/sys/kernel/hostname)
>  	mac=$(awk '{ mac=toupper($1); gsub(":", "", mac); print mac }'
> /sys/class/net/br-mesh/address 2>/dev/null) 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 d859ad4..395e490 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
> @@ -1,11 +1,13 @@
>  #!/usr/bin/haserl
> 
>  <%
> +. /lib/functions/fff/keyxchange
> +
>  # prepare
>  if [ "$REQUEST_METHOD" == "POST" ] ; then
>  	if [ "$POST_resethood" != "" ] ; then
>  		# reset hood
> -		rm /www/public/keyxchangev2data 2> /dev/null
> +		rm "$hoodfilecopy" 2> /dev/null
>  		MSG='<span class="green">Hood-Daten werden innerhalb
> von 5 Minuten neu prozessiert.</span>'
>  	fi
>  fi
> --
> 2.7.4
> 
> --
> franken-dev mailing list
> franken-dev@freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net