← Back to team overview

the-vdr-team team mailing list archive

Re: JSON-Objekt für Lirc-Hardware

 

Am Donnerstag, den 12.11.2009, 22:54 +0100 schrieb Gerald Dachs
<gda@xxxxxxxxxxx>:
>> 2. Ausnahme: Wir brauchen eine Unique ID. enthält ein Feld, welches
>> zurückgesendet wird an Dich, aus dem Du dann erkennen kannst, welche
>> Fernbedienung gewählt worden ist. Dieses Feld muss nicht sichtbar
>> sein, ist normalerweise vom Typ Integer, weil es dann nicht soviele
>> Bytes wegnimmt.
> 
> Ist klar, das Problem ist nur, dass ich die Sätze nicht einfach
> durchnummerieren kann, weil ja theoretisch die Reihenfolge der Sätze
> in der Hardware-DB sich ändern kann, oder neue Sätze mitten drin
> eingefügt werden beim nächsten Lirc-Update. Bei meinem ersten Versuch
> habe ich einfach die description als Schlüssel genommen, ist zwar gegen
> die reine Lehre, dürfte aber der zuverlässigste Schlüssel sein. 
> 
> Andererseits brauchen wir eigentlich keinen Schlüssel wenn du mir aus
> dem ausgewählten Datensatz alles schickst, was ich brauche, weil ich
> dann ja nicht mehr in der Datenbank nachsehen muss.

Man darf leider nie den Nutzereingaben (also den POST-Parametern in einem
HTTP-POST-Request) vertrauen, weil Dir da alles mögliche geschickt werden
kann, vom harmlosen Klamauk bis zum mehrzeiligen String, der die
Lirc-Config völlig verändert und dort Sicherhheitslücken öffnet. Deshalb
muss ein Check stattfinden, ob der Wert, der zurückgeschickt wurde, auch
ein Wert ist, der in der FB-Liste von Lirc existiert.

> Zum Lookup des
> vorher ausgewählten Eintrags geht ja auch wieder die description.

Man könnte auch einen md5-Hash bilden von
description+driver+lirc_driver+... und diesen als UniqueID benutzen.

>> 5. Brauchen wir "remote_control_types" mehrfach auf der gleichen
>> Hierarchieebene?
> 
> So ordne ich den Gruppennamen zu. Geht das auch anders?

Ich glaube, bei "remote_control_types" ist noch ein struktureller Fehler
im momentanen Stand Deines JSON-Objekts. Macht aber nix. Lass es so, ich
kümmer mich drum.

Gruß
Henning



References