[Berlin-wireless] olsrd 0.5.5 in Kamikaze generalueberholt... :)

Alina Friedrichsen saga
Fr Feb 15 04:39:11 CET 2008


Hi Felix!

> die von dir erwähnte Shell-Implementation wird in trunk nicht mehr
> verwendet und ist durch meine C Implementation ersetzt worden. Die Dateien
> in /var/state sind im gleichen Format, wie die noch nicht committeten
> Änderungen in /tmp/.uci, welche bei uci set gespeichert werden.
> Das heißt, dass ein config_load /var/state/network nicht mehr gemacht
> werden sollte, da config_load network auch /var/state berücksichtigt
> (aber
> nur beim Laden, nicht beim Commit).

Also, sollte ich ein config_load network stattdessen machen?

Werden die Daten bereits bei einen aufruf von config_load durch uci geschleift und da richtig gemerged, wie es einglich bei meiner uci-Implementierung geplant war? Das init.d-Script kommt nicht damit klar wenn bereits in eine neue Config-Section gesprungen ist, wieder in die alte zurueckzuspringen. Die wird dann entweder ingnoriert oder als vollkommen neue betrachtet. Das ist der Grund wieso das neue Script so schnell ist. Deswegen auch uci commit vor dessen Aufruf.

Achja, sind die Shell-Injections jetzt gefixt?

Ein weiterer Punkt ist, dass das Script sich darauf verlaesst, dass die auch in XML illegalen Sonderzeichen und Newline bereits von uci rausgefiltert werden, wie wir es abgesprochen hatten. Das bringt ebenfalls ne menge Performace, koennte aber, wenn dem nicht so ist zu Sicherheitsproblemen fueren.

> Ansonsten kann man den Code etwas übersichtlicher machen (finde ich
> zumindest), indem man die append() funktion aus /etc/functions.sh nimmt.
> Beispiel:
> 
> > [ -z "$value" ] &&
> current_interface="$current_interface${N}${TAB}HelloInterval${TAB}6.0"
> wird zu
> > [ -z "$value" ] && append current_interface
> "${TAB}HelloInterval${TAB}6.0" "$N"

Okay, kannt ich noch gar nicht, werd ich aber einflegen. :)

> Ansonsten sieht's gut aus. Ich werd's demnächst mal testen und mergen.

Bitte mir bescheit sagen, was geaendert werden soll. Das alte Script hattest Du mit Deinen Aenderungen naemlich teilweise kaputt gemacht.

Achja, waere es moeglich, dass /etc/init.d/boot die latlon-Koordinaten aus der uci-Config nach /var/run/latlon.txt screibt? Da ist naemlich der Ort, wo auch GPS-Empfenger nach Sven-Ola's Meinung die aktuellen Koordinaten schreiben sollen. Dann koennte der olsrd die direkt aus der Datei lesen und wir haetten sie Sache vereinheitlicht. Wenn das klar geht, wuerde ich den Script gerne selbst schreiben, damit er konform zu GeoRSS ist. Die haben dafuer naemlich extra einen kleinen Parsing-Algorithmus definiert.

Liebe Gruesse
Alina

-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger




Mehr Informationen über die Mailingliste Berlin