[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