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

Felix Fietkau nbd
Fr Feb 15 05:45:56 CET 2008


Alina Friedrichsen wrote:
> 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?
Das macht schon scan_interfaces - kein expliziter Aufruf nötig.

> 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.
Ja, wird alles automatisch gemerged. Kein Commit nötig, gibt kein
Reordering der Sections.

> Achja, sind die Shell-Injections jetzt gefixt?
Ich denke schon.

> 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.
Es wird viel gefiltert, ja. Ich bin mir nicht 100% sicher, ob alles was zu
filtern ist tatsächlich gefiltert wird, aber zumindest section und option
names werden ordentlich vorgefiltert.

> Bitte mir bescheit sagen, was geaendert werden soll. Das alte Script
> hattest Du mit Deinen Aenderungen naemlich teilweise kaputt gemacht.
Ich denke die einzige wirklich wichtige Änderung ist das Entfernen von
'config_load /var/state/network'

> 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.
Warum soll /etc/init.d/boot das machen? Das kann man doch in ein Script
packen, das tatsächlich etwas mit der Sache zu tun hat.

- Felix




Mehr Informationen über die Mailingliste Berlin