FHEM Forum

FHEM => Sonstiges => Thema gestartet von: betateilchen am 06 Februar 2024, 16:40:41

Titel: [fhem.pl] setKeyValue und mehrzeilige Werte
Beitrag von: betateilchen am 06 Februar 2024, 16:40:41
Hallo Rudi,

in den vergangenen Tagen sind wir hier im Forum zwei Mal auf das Problem gestoßen, dass setKeyValue() klaglos einen mehrzeiligen Wert in das keyFile schreibt, der dann aber mit getKeyValue() nicht mehr gelesen werden kann, weil die Auswertung beim Lesen zeilenweise erfolgt, was durchaus Sinn macht.

Insbesondere, wenn ein Modul mit MIME::Base64::encode() arbeitet, kommt es z.B. bei längeren secrets zu dem beschriebenen Phänomen, weil die Funktion standardmäßig nach 76 Zeichen ein \n einfügt und damit den Zeilenumbruch verursacht. Man kann das in der Funktion durch die Angabe eines Leerstrings als Parameter unterbinden, muss es aber auch tun. Bei JsonMod gab es eine entsprechende Anpassung.

Nun könnte man überlegen, in fhem.pl


Bei 1.) besteht ein gewisses Restrisiko, den übergebenen Wert "falsch" zu verändern. Aber er ist ja sowieso aufgrund des \n unbrauchbar.
Bei 4.) würde ich sagen, das wäre unschön, wenn man die mögliche Problemstelle kennt und nicht reagiert.

Eigentlich kann ich mir kein Szenario vorstellen, in dem ein Zeilenumbruch an dieser Stelle wirklich gewollt sein könnte.

Vielleicht magst Du in einer ruhigen Minute einmal darüber nachdenken, ob man an dieser Stelle etwas verbessern kann.
Titel: Aw: [fhem.pl] setKeyValue und mehrzeilige Werte
Beitrag von: rudolfkoenig am 06 Februar 2024, 16:45:10
Jetzt brauche ich nur noch eine Idee, wie ich neu kodierte Zeilen von alten Zeilen unterscheiden kann.
Kannst du bitte einen der Problem-Threads hier verlinken?
Titel: Aw: [fhem.pl] setKeyValue und mehrzeilige Werte
Beitrag von: betateilchen am 06 Februar 2024, 16:48:16
Natürlich :)

https://forum.fhem.de/index.php?topic=136727.0
Titel: Aw: [fhem.pl] setKeyValue und mehrzeilige Werte
Beitrag von: rudolfkoenig am 06 Februar 2024, 18:19:00
Ich habe mich nach etwas gruebeln fuer 3. entschieden.
Titel: Aw: [fhem.pl] setKeyValue und mehrzeilige Werte
Beitrag von: betateilchen am 06 Februar 2024, 18:23:21
Finde ich gut, danke.