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

Robert Langhammer rlanghammer at web.de
Mo Jul 9 14:22:31 CEST 2018


Auch hier

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


Am 08.07.2018 um 19:57 schrieb Adrian Schmutzler:
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
>
> Reviewed-by: Fabian Bläse <fabian at 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. at 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



Mehr Informationen über die Mailingliste franken-dev