[v3,2/5] hood file: Use different files for www and for checksum comparison

Submitted by Adrian Schmutzler on July 8, 2018, 5:57 p.m.

Details

Message ID 1531072659-4217-2-git-send-email-freifunk@adrianschmutzler.de
State Superseded
Headers show

Commit Message

Adrian Schmutzler July 8, 2018, 5:57 p.m.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

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

---

Changes in v2:
none

Changes in v3:
Rebased
---
 src/packages/fff/fff-hoods/files/usr/sbin/configurehood           | 6 ++++--
 src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange | 3 +++
 src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html          | 2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index 1a2c12a..b6ba3e3 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -83,7 +83,8 @@  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 "$hoodfilewww" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
+			rm -f "$hoodfileref" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
+			rm -f "$hoodfilewww" # delete this, so wrong hood file is not broadcasted anymore
 
 			uci -q del "system.@system[0].hood"
 			uci -q commit system
@@ -106,7 +107,7 @@  if [ -s "$hoodfiletmp" ]; then
 	# but without signature, every hood file we get is valid!
 
 	catnew="$(cat "$hoodfiletmp" | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
-	catold="$(cat "$hoodfilewww" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
+	catold="$(cat "$hoodfileref" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
 
@@ -185,6 +186,7 @@  if [ -s "$hoodfiletmp" ]; then
 
 		# copy the file to webroot so that other mesh routers can download it;
 		# copy only after all other steps so IF can be reentered if something goes wrong
+		cp "$hoodfiletmp" "$hoodfileref"
 		cp "$hoodfiletmp" "$hoodfilewww"
 
 		# This is a workaround to enable alfred on devices which do not see a configap during initial setup
diff --git a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
index 4d624a1..40ebe4f 100644
--- a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
+++ b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
@@ -5,12 +5,15 @@ 
 . /usr/share/libubox/jshn.sh
 
 hoodfiletmp="/tmp/hoodfile"
+hoodfileref="/tmp/hoodfileref"
 hoodfilewww="/www/hood/keyxchangev2data"
 
 getJsonPath() {
 	jsonfile=""
 	if [ -s "$hoodfilewww" ] ; then
 		jsonfile="$hoodfilewww"
+	if [ -s "$hoodfileref" ] ; then
+		jsonfile="$hoodfileref"
 	elif [ -s "$hoodfiletmp" ] ; then
 		jsonfile="$hoodfiletmp"
 	fi
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 ef71eb4..bc15df7 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
@@ -8,7 +8,7 @@ 
 if [ "$REQUEST_METHOD" == "POST" ] ; then
 	if [ "$POST_resethood" != "" ] ; then
 		# reset hood
-		rm "$hoodfilewww" 2> /dev/null
+		rm "$hoodfileref" 2> /dev/null
 		MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
 	fi
 fi

Comments

Robert Langhammer July 9, 2018, 12:22 p.m.
Auch hier

Reviewed-by: Robert Langhammer <rlanghammer@web.de>


Am 08.07.2018 um 19:57 schrieb Adrian Schmutzler:
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>
> Reviewed-by: Fabian Bläse <fabian@blaese.de>
>
> ---
>
> Changes in v2:
> none
>
> Changes in v3:
> Rebased
> ---
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood           | 6 ++++--
>  src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange | 3 +++
>  src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html          | 2 +-
>  3 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 1a2c12a..b6ba3e3 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -83,7 +83,8 @@ 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 "$hoodfilewww" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
> +			rm -f "$hoodfileref" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
> +			rm -f "$hoodfilewww" # delete this, so wrong hood file is not broadcasted anymore
>  
>  			uci -q del "system.@system[0].hood"
>  			uci -q commit system
> @@ -106,7 +107,7 @@ if [ -s "$hoodfiletmp" ]; then
>  	# but without signature, every hood file we get is valid!
>  
>  	catnew="$(cat "$hoodfiletmp" | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
> -	catold="$(cat "$hoodfilewww" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
> +	catold="$(cat "$hoodfileref" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
>  	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
>  	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
>  
> @@ -185,6 +186,7 @@ if [ -s "$hoodfiletmp" ]; then
>  
>  		# copy the file to webroot so that other mesh routers can download it;
>  		# copy only after all other steps so IF can be reentered if something goes wrong
> +		cp "$hoodfiletmp" "$hoodfileref"
>  		cp "$hoodfiletmp" "$hoodfilewww"
>  
>  		# This is a workaround to enable alfred on devices which do not see a configap during initial setup
> diff --git a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> index 4d624a1..40ebe4f 100644
> --- a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> +++ b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> @@ -5,12 +5,15 @@
>  . /usr/share/libubox/jshn.sh
>  
>  hoodfiletmp="/tmp/hoodfile"
> +hoodfileref="/tmp/hoodfileref"
>  hoodfilewww="/www/hood/keyxchangev2data"
>  
>  getJsonPath() {
>  	jsonfile=""
>  	if [ -s "$hoodfilewww" ] ; then
>  		jsonfile="$hoodfilewww"
> +	if [ -s "$hoodfileref" ] ; then
> +		jsonfile="$hoodfileref"
>  	elif [ -s "$hoodfiletmp" ] ; then
>  		jsonfile="$hoodfiletmp"
>  	fi
> 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 ef71eb4..bc15df7 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
> @@ -8,7 +8,7 @@
>  if [ "$REQUEST_METHOD" == "POST" ] ; then
>  	if [ "$POST_resethood" != "" ] ; then
>  		# reset hood
> -		rm "$hoodfilewww" 2> /dev/null
> +		rm "$hoodfileref" 2> /dev/null
>  		MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
>  	fi
>  fi
Fabian Blaese July 10, 2018, 9:08 p.m.
Hallo zusammen,

> On 8. Jul 2018, at 19:57, Adrian Schmutzler <freifunk@adrianschmutzler.de> wrote:
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Reviewed-by: Fabian Bläse <fabian@blaese.de>
> 
> ---
> 
> Changes in v2:
> none
> 
> Changes in v3:
> Rebased
> ---
> src/packages/fff/fff-hoods/files/usr/sbin/configurehood           | 6 ++++--
> src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange | 3 +++
> src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html          | 2 +-
> 3 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 1a2c12a..b6ba3e3 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -83,7 +83,8 @@ 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 "$hoodfilewww" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
> +			rm -f "$hoodfileref" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
> +			rm -f "$hoodfilewww" # delete this, so wrong hood file is not broadcasted anymore
> 
> 			uci -q del "system.@system[0].hood"
> 			uci -q commit system
> @@ -106,7 +107,7 @@ if [ -s "$hoodfiletmp" ]; then
> 	# but without signature, every hood file we get is valid!
> 
> 	catnew="$(cat "$hoodfiletmp" | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
> -	catold="$(cat "$hoodfilewww" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
> +	catold="$(cat "$hoodfileref" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
> 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
> 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
> 
> @@ -185,6 +186,7 @@ if [ -s "$hoodfiletmp" ]; then
> 
> 		# copy the file to webroot so that other mesh routers can download it;
> 		# copy only after all other steps so IF can be reentered if something goes wrong
> +		cp "$hoodfiletmp" "$hoodfileref"
> 		cp "$hoodfiletmp" "$hoodfilewww"
> 
> 		# This is a workaround to enable alfred on devices which do not see a configap during initial setup
> diff --git a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> index 4d624a1..40ebe4f 100644
> --- a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> +++ b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> @@ -5,12 +5,15 @@
> . /usr/share/libubox/jshn.sh
> 
> hoodfiletmp="/tmp/hoodfile"
> +hoodfileref="/tmp/hoodfileref"
> hoodfilewww="/www/hood/keyxchangev2data"
> 
> getJsonPath() {
> 	jsonfile=""
> 	if [ -s "$hoodfilewww" ] ; then
> 		jsonfile="$hoodfilewww"
> +	if [ -s "$hoodfileref" ] ; then

In dieser Zeile sollte wohl ein elif stehen…
Das muss unbedingt noch gefixt werden, sonst gibts Syntaxfehler und alles bricht auseinander.

Gerne auch einfach beim applien.

Gruß
Fabian
Adrian Schmutzler July 10, 2018, 9:17 p.m.
Gut gesehen.

Vorzugsweise beim Applien ändern ...

> -----Original Message-----
> From: Fabian Bläse [mailto:fabian@blaese.de]
> Sent: Dienstag, 10. Juli 2018 23:09
> To: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> Cc: franken-dev <franken-dev@freifunk.net>
> Subject: Re: [PATCH v3 2/5] hood file: Use different files for www and for
> checksum comparison
> 
> Hallo zusammen,
> 
> > On 8. Jul 2018, at 19:57, Adrian Schmutzler
> <freifunk@adrianschmutzler.de> wrote:
> >
> > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> >
> > Reviewed-by: Fabian Bläse <fabian@blaese.de>
> >
> > ---
> >
> > Changes in v2:
> > none
> >
> > Changes in v3:
> > Rebased
> > ---
> > src/packages/fff/fff-hoods/files/usr/sbin/configurehood           | 6 ++++--
> > src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange | 3 +++
> > src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html          | 2 +-
> > 3 files changed, 8 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > index 1a2c12a..b6ba3e3 100755
> > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > @@ -83,7 +83,8 @@ 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 "$hoodfilewww" # delete this, so interfaces are
> recreated if reconnect with unchanged hood file takes place
> > +			rm -f "$hoodfileref" # delete this, so interfaces are
> recreated if reconnect with unchanged hood file takes place
> > +			rm -f "$hoodfilewww" # delete this, so wrong hood
> file is not
> > +broadcasted anymore
> >
> > 			uci -q del "system.@system[0].hood"
> > 			uci -q commit system
> > @@ -106,7 +107,7 @@ if [ -s "$hoodfiletmp" ]; then
> > 	# but without signature, every hood file we get is valid!
> >
> > 	catnew="$(cat "$hoodfiletmp" | sed 's/"timestamp”: *"[0-
> 9]*"/"timestamp":0/')"
> > -	catold="$(cat "$hoodfilewww" 2>/dev/null | sed 's/"timestamp”:
> *"[0-9]*"/"timestamp":0/')"
> > +	catold="$(cat "$hoodfileref" 2>/dev/null | sed 's/"timestamp”: *"[0-
> 9]*"/"timestamp":0/')"
> > 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
> > 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
> >
> > @@ -185,6 +186,7 @@ if [ -s "$hoodfiletmp" ]; then
> >
> > 		# copy the file to webroot so that other mesh routers can
> download it;
> > 		# copy only after all other steps so IF can be reentered if
> > something goes wrong
> > +		cp "$hoodfiletmp" "$hoodfileref"
> > 		cp "$hoodfiletmp" "$hoodfilewww"
> >
> > 		# This is a workaround to enable alfred on devices which do
> not see
> > a configap during initial setup diff --git
> > a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> > b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> > index 4d624a1..40ebe4f 100644
> > ---
> > a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> > +++ b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchang
> > +++ e
> > @@ -5,12 +5,15 @@
> > . /usr/share/libubox/jshn.sh
> >
> > hoodfiletmp="/tmp/hoodfile"
> > +hoodfileref="/tmp/hoodfileref"
> > hoodfilewww="/www/hood/keyxchangev2data"
> >
> > getJsonPath() {
> > 	jsonfile=""
> > 	if [ -s "$hoodfilewww" ] ; then
> > 		jsonfile="$hoodfilewww"
> > +	if [ -s "$hoodfileref" ] ; then
> 
> In dieser Zeile sollte wohl ein elif stehen… Das muss unbedingt noch gefixt
> werden, sonst gibts Syntaxfehler und alles bricht auseinander.
> 
> Gerne auch einfach beim applien.
> 
> Gruß
> Fabian
Fabian Blaese July 10, 2018, 10:09 p.m.
Zusammen mit der angesprochenen Änderung:
Tested-by: Fabian Bläse <fabian@blaese.de>

Fabian

> On 10. Jul 2018, at 23:08, Fabian Bläse <fabian@blaese.de> wrote:
> 
> Hallo zusammen,
> 
>> On 8. Jul 2018, at 19:57, Adrian Schmutzler <freifunk@adrianschmutzler.de> wrote:
>> 
>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>> 
>> Reviewed-by: Fabian Bläse <fabian@blaese.de>
>> 
>> ---
>> 
>> Changes in v2:
>> none
>> 
>> Changes in v3:
>> Rebased
>> ---
>> src/packages/fff/fff-hoods/files/usr/sbin/configurehood           | 6 ++++--
>> src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange | 3 +++
>> src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html          | 2 +-
>> 3 files changed, 8 insertions(+), 3 deletions(-)
>> 
>> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>> index 1a2c12a..b6ba3e3 100755
>> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>> @@ -83,7 +83,8 @@ 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 "$hoodfilewww" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
>> +			rm -f "$hoodfileref" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
>> +			rm -f "$hoodfilewww" # delete this, so wrong hood file is not broadcasted anymore
>> 
>> 			uci -q del "system.@system[0].hood"
>> 			uci -q commit system
>> @@ -106,7 +107,7 @@ if [ -s "$hoodfiletmp" ]; then
>> 	# but without signature, every hood file we get is valid!
>> 
>> 	catnew="$(cat "$hoodfiletmp" | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
>> -	catold="$(cat "$hoodfilewww" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
>> +	catold="$(cat "$hoodfileref" 2>/dev/null | sed 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
>> 	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
>> 	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
>> 
>> @@ -185,6 +186,7 @@ if [ -s "$hoodfiletmp" ]; then
>> 
>> 		# copy the file to webroot so that other mesh routers can download it;
>> 		# copy only after all other steps so IF can be reentered if something goes wrong
>> +		cp "$hoodfiletmp" "$hoodfileref"
>> 		cp "$hoodfiletmp" "$hoodfilewww"
>> 
>> 		# This is a workaround to enable alfred on devices which do not see a configap during initial setup
>> diff --git a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
>> index 4d624a1..40ebe4f 100644
>> --- a/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
>> +++ b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
>> @@ -5,12 +5,15 @@
>> . /usr/share/libubox/jshn.sh
>> 
>> hoodfiletmp="/tmp/hoodfile"
>> +hoodfileref="/tmp/hoodfileref"
>> hoodfilewww="/www/hood/keyxchangev2data"
>> 
>> getJsonPath() {
>> 	jsonfile=""
>> 	if [ -s "$hoodfilewww" ] ; then
>> 		jsonfile="$hoodfilewww"
>> +	if [ -s "$hoodfileref" ] ; then
> 
> In dieser Zeile sollte wohl ein elif stehen…
> Das muss unbedingt noch gefixt werden, sonst gibts Syntaxfehler und alles bricht auseinander.
> 
> Gerne auch einfach beim applien.
> 
> Gruß
> Fabian
Tim Niemeyer July 25, 2018, 1:01 p.m.
Hi

Mir fällt gerade nach einer Woche Urlaub sehr schwer mich zu erinnern,
warum wir das brauchen. Ich erinnere mich, dass es da zwei
Lösungsansätze gabe: a) die Datei nochmal komplett vorzuhalten und b)
sich nur zu merken, dass diese Datei vom Gateway kam. Aber warum wir
das machen wollte weiß ich nicht mehr.

Wenn ich das jetzt schon nicht mehr weiß, wird das in einem Jahr
niemand mehr wissen. Daher _muss_ hier in die Commit-Message leider ein
ausführlichere Beschreibung rein, warum dieser Commit da ist!

Tim

Am Sonntag, den 08.07.2018, 19:57 +0200 schrieb Adrian Schmutzler:
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> Reviewed-by: Fabian Bläse <fabian@blaese.de>
> 
> ---
> 
> Changes in v2:
> none
> 
> Changes in v3:
> Rebased
> ---
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood           |
> 6 ++++--
>  src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange |
> 3 +++
>  src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html          |
> 2 +-
>  3 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 1a2c12a..b6ba3e3 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -83,7 +83,8 @@ 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 "$hoodfilewww" # delete this, so
> interfaces are recreated if reconnect with unchanged hood file takes
> place
> +			rm -f "$hoodfileref" # delete this, so
> interfaces are recreated if reconnect with unchanged hood file takes
> place
> +			rm -f "$hoodfilewww" # delete this, so wrong
> hood file is not broadcasted anymore
>  
>  			uci -q del "system.@system[0].hood"
>  			uci -q commit system
> @@ -106,7 +107,7 @@ if [ -s "$hoodfiletmp" ]; then
>  	# but without signature, every hood file we get is valid!
>  
>  	catnew="$(cat "$hoodfiletmp" | sed 's/"timestamp”: *"[0-
> 9]*"/"timestamp":0/')"
> -	catold="$(cat "$hoodfilewww" 2>/dev/null | sed
> 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
> +	catold="$(cat "$hoodfileref" 2>/dev/null | sed
> 's/"timestamp”: *"[0-9]*"/"timestamp":0/')"
>  	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
>  	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
>  
> @@ -185,6 +186,7 @@ if [ -s "$hoodfiletmp" ]; then
>  
>  		# copy the file to webroot so that other mesh
> routers can download it;
>  		# copy only after all other steps so IF can be
> reentered if something goes wrong
> +		cp "$hoodfiletmp" "$hoodfileref"
>  		cp "$hoodfiletmp" "$hoodfilewww"
>  
>  		# This is a workaround to enable alfred on devices
> which do not see a configap during initial setup
> diff --git a/src/packages/fff/fff-
> hoodutils/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-
> hoodutils/files/lib/functions/fff/keyxchange
> index 4d624a1..40ebe4f 100644
> --- a/src/packages/fff/fff-
> hoodutils/files/lib/functions/fff/keyxchange
> +++ b/src/packages/fff/fff-
> hoodutils/files/lib/functions/fff/keyxchange
> @@ -5,12 +5,15 @@
>  . /usr/share/libubox/jshn.sh
>  
>  hoodfiletmp="/tmp/hoodfile"
> +hoodfileref="/tmp/hoodfileref"
>  hoodfilewww="/www/hood/keyxchangev2data"
>  
>  getJsonPath() {
>  	jsonfile=""
>  	if [ -s "$hoodfilewww" ] ; then
>  		jsonfile="$hoodfilewww"
> +	if [ -s "$hoodfileref" ] ; then
> +		jsonfile="$hoodfileref"
>  	elif [ -s "$hoodfiletmp" ] ; then
>  		jsonfile="$hoodfiletmp"
>  	fi
> 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 ef71eb4..bc15df7 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
> @@ -8,7 +8,7 @@
>  if [ "$REQUEST_METHOD" == "POST" ] ; then
>  	if [ "$POST_resethood" != "" ] ; then
>  		# reset hood
> -		rm "$hoodfilewww" 2> /dev/null
> +		rm "$hoodfileref" 2> /dev/null
>  		MSG='<span class="green">Hood-Daten werden innerhalb
> von 5 Minuten neu prozessiert.</span>'
>  	fi
>  fi