|
Umbau Webserver / nhttpd 3.x |
|
Donnerstag, 31. August 2006 |
|
Zur Zeit räume ich den WebServer-Code auf. Ich habe die Tuxbox-Anteile abgespalten, so dass der WebServer auch einzeln compiliert werden kann. Ich habe ihn jetzt erfolgreich unter LINUX, Windows (Cygwin), AVM Fritzbox und Maxtor Shared Storage am laufen.
Weiterhin habe ich das C++ Design und die File-Struktur überarbeitet.
Die Neutrino-API wird stärker gekapselt und die Timer-Verwaltung mit dem yParser realisiert. Jetzt habe ich mit der Überarbeitung des Bouquet-Editors begonnen.
Es kann allerdings noch etwas dauern bis der "nhttpd 3.x" und yWeb 2.1 released werden, da später ein Volltest nötig ist.
Zur Neutrino-API:
- ControlAPI: enthält Funktionen die etwas ausführen oder Informationen zurückgeben. Meistens in Text- oder XML-Form (Aber keine HTML-Seiten)
- NeutrinoAPI: Interne Funktionen, die sowohl von ControlAPI und yParser verwendet werden können. Hier kommt also der gemeinsame Code hin. Werde langfristig hier viele Funktionen hin verlegen und auch über ControlAPI zugänglich machen.
- yParser: Der yParser ist ein Textersetzer, der es ermöglicht Text-Schnippsel wieder zu verwenden und auch den Bereich y-func enthält, der auch API Funktionen in die Seiten einfügen kann.
- WebApi & BouquetApi werden durch die anderen Bereiche ersetzt und mehr mit yhtm-Dateien realisiert, damit man den Code/Layout einfacher anpassen kann.
- Der Neutrino-Webserver baut auf den gekapselten WebServer auf. In c++ ist dies eine Vererbung und kann Erweiterungen von ControlAPI und yParser mit c++ virtual functions überschreiben.
- Somit kann der WebServer auch für andere Projekte verwendet werden. Z.B mein NAS-Laufwerk
- char-Buffer-operationen ersetze ich gegen c++ string und snprintf/vsnprintf damit weniger Buffer-overflow Gefahren im WebServer sind.
- Ich habe ausserdem eine Reihe von Compiler-Direktiven eingebaut, damit entschieden werden kann, welche Features eingebunden werden können.
- Das Ganze ist bisher aus meiner Sicht noch kompatibel mit der bisherigen Version. Selbst für die Timer-Funktionen habe die die /fb/.. Calls nachgebildet.
- Das alte WebInterface wird aber nicht mehr laufen.
- Der ganze Aufräum-Prozess wird aber wohl mehrere Releases dauern. Jetzt gibt es erstmal eine neue Datei- und Klassen-Struktur.
|
|
Letzte Aktualisierung ( Freitag, 29. September 2006 )
|