From patchwork Sun Jun 24 21:32:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [v2, 2/4] hood file: Use different files for www and for checksum comparison From: Adrian Schmutzler X-Patchwork-Id: 870 Message-Id: <1529875963-39504-2-git-send-email-freifunk@adrianschmutzler.de> To: franken-dev@freifunk.net Date: Sun, 24 Jun 2018 23:32:41 +0200 Signed-off-by: Adrian Schmutzler Reviewed-by: Fabian Bläse --- Changes in v2: none --- 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 b0c43ed..baee487 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -89,7 +89,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 rm -f "$sectorfilewww" # always delete: no broadcast for isolated device rm -f "$sectorfiletmp" @@ -134,7 +135,7 @@ if [ -s "$hoodfiletmp" ]; then fi 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 " ") @@ -213,6 +214,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" [ -s "$sectorfiletmp" ] && cp "$sectorfiletmp" "$sectorfilewww" 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='Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.' fi fi