Zurzeit verwendet jede Erweiterung, die Funktionen benötigt, die über die normalen SVDRP Möglichkeiten hinausgehen eine eigene Methode.
Bekannte Beispiele dafür sind:
- vdradmin (benutzt zwar natives SVDRP mit entsprechend schlechter Performance, bietet aber optional direkten Dateizugriff auf die EPG Daten)
- live-plugin (integriert sich als Plugin)
- vdr iphone remote (benutzt erstmal natives SVDRP, wegen schlechter Performance bei den EPG Daten und Verschlüsselungsmöglichkeiten optional eine Web-basierte Schnittstelle)
(und sicher einige mehr)
Das ist nicht unbedingt schlecht so, aber es ist auch eindeutig Verbesserungspotential vorhanden.
Also habe ich mir überlegt eine neue, standardisierte Schnittstelle zum VDR einzuführen mit der Plugins oder Erweiterung folgende Möglichkeiten erhalten:
- Verschlüsselung (für sichereren Zugriff)
- Komprimierung (das sollte speziell bei großen Mengen EPG Daten die vorhandenen Engpässe beseitigen)
- Authentifizierung
Dazu würde ich gern eine Diskussion anregen, folgende Punkte fallen mir sofort ein:
- Ist eine Integration als Plugin oder im eigentlichen VDR am sinnvollsten?
- Würde Klaus überhaupt Patches akzeptieren wenn es auf eine Erweiterung des SVDRP Befehlssatzes hinausläuft?
- Sind die Entwickler von derzeitigen Plugins/Erweiterungen überhaupt an solch einer standardisierten Schnittstelle interessiert?
- Wie würde die sinnvollste technische Realisierung aussehen?
- Wer würde bei der Implementation und Pflege helfen?
Als erstes dachte ich spontan daran, einfach einen zusätzlichen SVDRP Befehl "STARTTLS" zu implementieren, der dann die Aushandlung der Verschlüsselung (und evtl gleich transparenter Komprimierung) anstößt. Das sollte nicht alllzu kompliziert sein, da es bereits einige Projekte (zB Mail Server) gibt, bei denen man sich Ideen oder sogar Codeschnipsel holen könnte. Authentifizierung hingegen würde schon größere Eingriffe erfordern sofern ich das Einschätzen kann.
Ich habe das ganze auch (in Englisch) in der VDR Mailingliste gepostet:
http://permalink.gmane.org/gmane.linux.vdr/43720