[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