[PATCH v2] fff-gateway: Add sanity checks

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Sep 8 13:36:15 CEST 2019


Ja, finde ich gut.

 

Aber dann bevorzuge ich „uci show gateway > /dev/null“

 

Grüße

 

Adrian

 

From: Fabian Bläse [mailto:fabian at blaese.de] 
Sent: Sonntag, 8. September 2019 12:39
To: mail at adrianschmutzler.de; franken-dev at freifunk.net; 'robert' <rlanghammer at web.de>
Subject: Re: [PATCH v2] fff-gateway: Add sanity checks

 

Mir ist grade folgendes untergekommen, warum die uci get oder uci show Lösung vielleicht dennoch eine gute Idee ist: Sie kann auch Syntaxfehler sinnvoll erkennen.

> root at doofi-router:~# configuregateway -c 
> This script might remove existing vlans, interfaces, addresses, etc. 
> Do you really want to continue? (y/n) y 
> 
> uci: Parse error (EOF with unterminated ') at line 32, byte 620 
> ERROR: Gateway config does not exists. 
> 
> Error when executing configure from 01-version 

Die Fehlermeldung sollte man dann entsprechend anpassen: 
"Gateway config could not be parsed or does not exist." 

Zudem ist es dann sinnvoll, das -q im passenden uci-call zu entfernen. 

Beides zusammen kann man eigentlich auch in einem Test abbilden, da der Versionscheck gleichzeitig auch prüft, ob die Datei existiert:

- Zuerst uci get auf die Version machen. uci return Wert != 0 -> does not exist or could not be parsed 
- Dann config version auswerten. 

Gruß 
Fabian 

 

On 20.08.19 23:04, mail at adrianschmutzler.de <mailto:mail at adrianschmutzler.de>  wrote: 
> Also ich bin eher dagegen, da das effektiv ein undokumentiertes Feature ist. 
> 
>   
> 
> Ich würde entweder Fabians Lösung mit show > dev/null oder den alten [ -s ] nehmen. 
> 
>   
> 
> Grüße 
> 
>   
> 
> Adrian 
> 
>   
> 
> *From:*franken-dev [mailto:franken-dev-bounces at freifunk.net] *On Behalf Of *robert 
> *Sent:* Dienstag, 20. August 2019 22:59 
> *To:* franken-dev at freifunk.net <mailto:franken-dev at freifunk.net>  
> *Subject:* Re: [PATCH v2] fff-gateway: Add sanity checks 
> 
>   
> 
> Hi, 
> 
> ein uci get config prüft nur die Existenz der Datei. Test: 
> 
> root at c2600:/etc/config# > robert 
> root at c2600:/etc/config# uci get robert 
> root at c2600:/etc/config# echo $? 
> 0 
> root at c2600:/etc/config# rm robert 
> root at c2600:/etc/config# uci get robert 
> uci: Entry not found 
> root at c2600:/etc/config# echo $? 
> 1 
> 
> Also nicht mal den Inhalt. Man könnte also auch ein [ -f Datei ] nehmen. 
> 
> Da es keinen Unterschied macht, würde ich es so lassen. 
> 
> Grüße 
> Robert 
> 
> Am 20.08.19 um 17:06 schrieb Fabian Bläse: 
>> Hey Adrian, 
>> 
>> dann hab ich die Frage falsch verstanden oder unaufmerksam gelesen, sorry. 
>> 
>> Du hast recht, die uci help sagt, dass eine "section" mit angegeben werden soll. 
>> In so fern ist es wohl fraglich, ob wir uns auf das Verhalten verlassen können. 
>> 
>> Man könnte auch "uci show gateway >/dev/null" verwenden.. 
>> 
>> Gruß 
>> Fabian 
>> 
> 
>   
> 

 
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190908/8c825ec4/attachment.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190908/8c825ec4/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev