[PATCH v2] fff-gateway: Add sanity checks
Fabian Bläse
fabian at blaese.de
So Sep 8 12:39:18 CEST 2019
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 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
> *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 Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 833 bytes
Beschreibung: OpenPGP digital signature
URL : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20190908/31a167dd/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev