Hi,
ich habe mich gestern Abend und heute Vormittag mit dem Problem
auseinandergesetzt, dass Netmon keine IP-Adressen hinzufügt und habe bis auf
weitere Tests von euch auch einen Fix dafür gefunden.
Das Problem liegt in der isInNetwork()-Methode der Ip.class.php. Netmon kennt
unsere verwendeten Netzwerke (fe80::/64 für ipv6 link locals und 10.18.0.0/16
für ipv4). Wenn eine neue IP-Adresse hinzugefügt werden soll, prüft Netmon ob
diese überhaupt zu einem der konfigurierten Netze gehört, damit wir keinen
Datenmüll und private Adressen sammeln.
Dazu wird die Adresse des Netzwerks sowie die hinzuzufügende Adresse inklusive
der Netzmasken in einen Binärstring konvertiert und dann der zur Netzmaske
gehörende Teil verglichen. Sind beide gleich, kann die Adresse hinzugefügt
werden.
Bei diesem Verfahren wird die PHP Methode inet_pton() verwendet, die eine
Menschenlesbare Adresse in eine Maschinenlesbare Adresse umwandelt. Zwischen
den PHP Versionen 5.4 und 5.6 hat sich jedoch anscheinend das Ergebnis dieser
Methode geändert was zu einem Fehler führt (als Füllzeichen werden jetzt
Nullen statt Leerzeichen genommen). Beim ausführen von unpack() auf einer IP-
Adresse muss also "a16" (php 5.6) statt "A16" (php 5.4) als Formatstring
genutzt werden.
Das ganze hat auf srv01 immer problemlos funktioniert, weil wir dort noch PHP
5.4 fahren. Auf srv06 läuft allerdings bereits PHP 5.6. An der kritischen
Stelle wird jetzt einfach eine Versionsunterscheidung gemacht.
Sobald der Server für das Gitlab wieder tut gibts auch einen commit im Gitlab.
LG
Clemens
Hi,
ich habe heute in unserem Oberseminar an der Universität Osnabrück einen
Vortrag zum aktuellen Stand des Entwurfs der Netmon Software Compilation
gehalten.
Wer Interesse an den Folien hat, findet diesem im Git-Repo unter:
https://git.nordwest.freifunk.net/Netmon-SC/bachelor-thesis-talk/blob/maste…
+++
Talk held on 2015-07-08 at the "Oberseminar" of the University Osnabrück about
the concept of transforming the monolytic Netmon into a distributed system
called Netmon Software Compilation (Netmon SC).
+++
LG
Clemens
Hi,
unter folgendem Link habe icheine Seite zur Evaluation des alten Netmons nach
dem bekannten "Was war gut was war schlecht"-Schema erstellt auf der ihr gerne
Input hinterlassen dürft. Am Ende gibt es auch einen Bereich "What we need" in
dem wir zusammentragen können was wir in einem neuen Netmon gebrauchen
könnten.
https://git.nordwest.freifunk.net/Netmon-NG/core/wikis/evaluation-of-old-ne…
Die Seite dient in Zukunft als Entwurfsgrundlage für Netmon-NG. Euer Input ist
insbesondere deshalb interessant, weil ich bestimmt etwas übersehen habe.
Dabei geht es weniger um ganz konkrete Funktionen, als vielmehr um das
Grundgerüst. Sowas wie:
* Ich will einfach neue Funktionen hinzufügen können
* Ich brauche Datenbankmigration
* Benutzer sollen nichts tun müssen, automatisierung so weit wie möglich
* Usw.
Viele Grüße
Clemens
Hi,
viel später als geplant, habe ich gestern mit der Entwicklung des Cores für
Netmon-NG im Rahmen der Bachelorarbeit angefangen.
Da ist bisher nicht viel spannendes passiert, aber ich wollte euch schonmal
den Link auf das Projekt geben. Dann könnt ihr bei Interesse z.B. den RSS-Feed
mit den Commits abbonieren:
https://git.nordwest.freifunk.net/groups/Netmon-NG
Ich knüpfe in etwa an das an, was wir in der letzten gemeinsamen Telko
vergangenes Jahr besprochen haben. Ausnahme ist lediglich, dass ich für den
Core zurück auf Gitlab geswitched bin, weil ich damit einfach besser warm
werde. Verschiedene Präferenzen von Entwicklern bei der Toolwahl fließen aber
in die Überlegungen zur Systemarchitektur insgesamt mit ein. Das Logo soll
dazu auch bereits eine Idee formulieren, ohne dass ich das jetzt im Detail
skizziere.
Viele Grüße
Clemens