[PATCH 3/4] configurehood: Only provide hood file from GW/KeyXchange via WWW

Fabian Bläse fabian at blaese.de
So Jun 24 11:26:51 CEST 2018


Moin,

das macht glaub ich ganz fiese Randfälle:
Das File wird jetzt nämlich nur noch kopiert, wenn es direkt vom Gateway/Keyxchange stammte. Wird mit einem Wifi/Ethernet Hoodfile konfiguriert, welches mit dem Gateway/Keyxchange Hoodfile übereinstimmt, kommen wir im zweiten Durchlauf gar nicht mehr in den if-Zweig, in dem die Datei nach /www kopiert wird, weil die Checksum identisch ist.

Abgesehen davon mag ich irgendwie das parallel zum hoodfiletmp existierende hoodfileisauth nicht.

Wäre es nicht einfacher - da wir ja jetzt eine getrennte Datei für das Checksumming haben - das Hoodfile gleich nach /www zu kopieren, wenn wir es (erfolgreich) von Keyxchange oder Gateway geladen haben?

Gruß
Fabian

> On 13. Jun 2018, at 16:36, Adrian Schmutzler <freifunk at adrianschmutzler.de> wrote:
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
> src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 8 +++++---
> 1 file changed, 5 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 baee487..1c1eda7 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -12,8 +12,10 @@ sectorfiletmp=/tmp/sectorfile
> sectorfilewww=/www/hood/sectorfile
> 
> hoodfilelocal=/etc/hoodfile
> +hoodfileisauth=/tmp/hoodfileisauth
> 
> rm -f "$hoodfiletmp"
> +rm -f "$hoodfileisauth" # auth file is associated with hoodfiletmp, so delete it here, too
> 
> # Gatewaycheck function
> isGatewayAvailable() {
> @@ -77,7 +79,7 @@ if [ -s "$hoodfilelocal" ]; then
> else
> 	# if we have Internet, we download the Hoodfile from the keyxchangev2
> 	if hasInternet ; then
> -		getKeyserverHoodfile "$hoodfiletmp"
> +		getKeyserverHoodfile "$hoodfiletmp" && touch "$hoodfileisauth"
> 
> 		rm -f "$sectorfiletmp"
> 		[ -s "$sectorfilelocal" ] || rm -f "$sectorfilewww" # If internet present, no custom config should be distributed, except when local file is present
> @@ -108,7 +110,7 @@ else
> 			fi
> 		else
> 			echo "We have a Gateway in Range, we load the keyxchangev2data from fe80::1"
> -			getGatewayHoodfile "$hoodfiletmp"
> +			getGatewayHoodfile "$hoodfiletmp" && touch "$hoodfileisauth"
> 			#UPLINK: Do nothing
> 		fi
> 	fi
> @@ -215,7 +217,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"
> +		[ -f "$hoodfileisauth" ] && cp "$hoodfiletmp" "$hoodfilewww"
> 		[ -s "$sectorfiletmp" ] && cp "$sectorfiletmp" "$sectorfilewww"
> 
> 		# This is a workaround to enable alfred on devices which do not see a configap during initial setup
> --
> 2.7.4
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: Message signed with OpenPGP
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180624/85773423/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev