Fastd-bug

Aus Freifunk Flensburg
Wechseln zu: Navigation, Suche

In diesem Artikel werden die Ursachen und Folgen, sowie die Lösungen eines Bugs erklärt, der beim Update auf eine neue site.conf bei Gluon 2014.3 auftritt.

Entstehung & Folgen[Bearbeiten]

Bei einem Update werden, unter anderem, sämtliche Parameter der site.conf aktualisiert und gegebenenfalls erweitert. Dieses ist auch bei der Datei "/etc/config/fastd" der Fall. Normalerweise enthält sie den SecretKey des Routers, ein paar Beispiel-Konfigurationen und die Liste der Gateways. Wir ein Update eingespielt so wird allerdings diese Liste nur erweitert und einzelne Blöcke verschoben, nicht aber ein altes Gateway gelöscht. Dies ist im Fall von Freifunk Flensburg keine Sicherheitslücke, sondern eher ein Schönheitsfehler, da es es nicht nur die Domains, sondern auch den SecretKey der Gateways braucht, damit der Router sich zu einem verbindet.

Dieser Bug tritt bei allen Flensburger Gluon Versionen vor S-1.1 auf.

Patchen des Bugs[Bearbeiten]

Wenn man sich Gluon geklont hat und die Dateien auf Version 2014.3 gebracht hat und die site.conf und site.mk im Ordner site/ liegen führt man wie gewohnt den Befehl "make update" aus. Nun springen wir in den Unterordner in dem wir den Patch einbauen müssen.

 cd packages/gluon/ 

Nun können wir mit "ls -la" überprüfen ob die Gitdateien auch vorhanden sind und führen dann den eigentlichen Befehl für den Patch aus.

 git cherry-pick f2eacad78b47e077aa13ea945d6c9dcbed2e27ee 

Mit diesem Befehl ist es nun möglich einen einzelnen Commit, in diesem Fall den Bugfix, einzuspielen. Im Fall dieses Bugs sind es eine gelöschte und acht hinzugefügte Zeilen zu der Datei, die im späteren System für die Aktualisierung der fastd Konfiguration verantwortlich sein wird.

Nun betreten wir wieder das Hauptverzeichnis und starten den Build. Mit einem Kern:

 make V=s 

Mit mehreren Kernen kann man folgende Option wählen:

 make -j8 V=s 

Allerdings sollte diese Zahl auch nicht zu groß sein. Optimal ist die Anzahl der Kerne+2. Genauere Details zum Kompilieren der Firmware findest du im Artikel Gluon