[RFC PATCH] fff-hoods/fff-hoodutils: Use different files for www and checksum

Fabian Bläse fabian at blaese.de
Mi Jun 13 09:43:02 CEST 2018


Moin,

hab mir grade ein paar Gedanken dazu gemacht (inline).

> On 10. Jun 2018, at 14:39, Adrian Schmutzler <freifunk at adrianschmutzler.de> wrote:
> 
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 780c2ba..455674d 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -38,7 +38,7 @@ hasInternet() {
> 
> # Hidden AP check
> 
> -if [ -s "$hoodfilecopy" ] && isGatewayAvailable ; then
> +if [ -s "$hoodfilewww" ] && isGatewayAvailable ; then
> 	needwifi="0"
> 	for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-9]*\)=wifi-device,\1,p'); do
> 		freq="2"
> @@ -91,6 +91,7 @@ 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 "$hoodfilecopy" # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
> 			rm -f "$sectorcopy" # always delete: no broadcast for isolated device
> 			rm -f "$sectortmp"
> @@ -215,7 +216,8 @@ if [ -s "$hoodfile" ]; 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 "$hoodfile" "$hoodfilecopy"
> +		cp "$hoodfile" "$hoodfilecopy" # provide file for checksum verification
> +		isGatewayAvailable && [ ! -s "$hoodlocal" ] && cp "$hoodfile" "$hoodfilewww" # provide file for hiddenap (NO file is served if local hood file present)

Wir sollten hier wohl besser prüfen, ob das Hoodfile vom Gateway stammt. In allen anderen Fällen sollte es nicht angeboten werden, um Randfälle zu minimieren.
z.B. mithilfe einer Variable hoodfileIsFromGateway

> +++ b/src/packages/fff/fff-hoodutils/files/lib/functions/fff/keyxchange
> @@ -5,11 +5,14 @@
> . /usr/share/libubox/jshn.sh
> 
> hoodfile="/tmp/keyxchangev2data"
> -hoodfilecopy="/www/hood/keyxchangev2data"
> +hoodfilewww="/www/hood/keyxchangev2data"
> +hoodfilecopy="/tmp/keyxchangev2copy”

Vielleicht ist es eine schlaue Idee, einen Symlink nach /www/hood zu setzen, der auf /tmp/keyxchangev2www o.ä. zeigt.
Dann spart man sich ein paar Schreibzyklen auf dem Flash.
Nach einem Reboot würde dann allerdings neu konfiguriert werden.

Jetzt wäre vielleicht ein guter Zeitpunkt diesen Patch in ein Patchset aufzuteilen und den Variablen mal sinnvolle Namen zu geben.
Etwas klarer wäre z.B.:
- hoodfiletmp
- hoodfilewww
- hoodfilechecksum

Eigentlich ist mir auch dieser keyxchangev2data Dateiname ein Dorn im Auge.
Wenn das nicht nur mir so geht, wäre es cool, das nochmal VOR Release zu ändern. (z.B. in hoodfile im www und hoodfile_www usw. in /tmp, nicht im Rahmen dieses Patch(sets))

Eigentlich ist noch eine extra Datei total Kacke, mir fällt aktuell aber auch nichts besseres ein..

Gruß
Fabian

-------------- 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/20180613/bff91446/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev