From 7186be64daa3c0e5a2f8903d5c6e2aee5f11402d Mon Sep 17 00:00:00 2001 From: Eduard Wisch Date: Sun, 16 Aug 2026 11:22:18 +0200 Subject: [PATCH] =?UTF-8?q?Kundenfeld-Whitelist=20trifft=20jetzt=20die=20r?= =?UTF-8?q?eal=20gelieferten=20Schl=C3=BCssel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regression aus dem vorherigen Commit, gefunden bei der Bestandsprüfung von Phase 6: netdiagKundenfelder() war gegen selbst erzeugte Testdaten gebaut, nicht gegen die Namen, welche die App-Werkzeuge tatsächlich liefern. Konkret liefert die App "ziel"/"zielErreicht" (Traceroute), "gegenstelle"/ "downloadMbps"/"uploadMbps" (Durchsatz), "scanned"/"open" (Portscan), "geprueft"/"runden"/"konflikte" (IP-Konflikt), "port"/"linkSpeed"/ "eingangsFehler"/"ausgangsFehler" (SNMP) sowie das gespreadete LinkInfo beim IP-Test. Keiner dieser Schlüssel stand in der Tabelle — und weil netdiagFeldFuerKunde() unbekannte Schlüssel verwirft, wäre im Kundendokument von diesen fünf Werkzeugen nur noch die Ampel übrig geblieben, ohne einen einzigen Messwert. Das ist schlechter als der Zustand davor (rohe Schlüssel). Alle real emittierten Schlüssel ergänzt und gegen die echten Ergebnis- Strukturen geprüft, Beispiel Portscan: "Gerät: 192.168.1.50 | Geprüfte Ports: 10 | Offene Ports: 80/http, 443/https" Lehre für künftige Werkzeuge: die Tabelle ist eine Whitelist, ein neues Werkzeug braucht dort einen Eintrag — sonst verschwinden seine Messwerte stillschweigend aus dem Kundendokument. --- lib/netdiag.lib.php | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lib/netdiag.lib.php b/lib/netdiag.lib.php index 4fa8d38..6df1097 100644 --- a/lib/netdiag.lib.php +++ b/lib/netdiag.lib.php @@ -344,6 +344,44 @@ function netdiagKundenfelder() 'reachedTarget' => array('Ziel erreicht', ''), // WLAN 'anzahlNetze' => array('Sichtbare WLAN-Netze', ''), + // --- Schlüssel, welche die App TATSÄCHLICH liefert --- + // Sie weichen teils von den obigen ab (deutsche Namen, andere Schreibung). + // Ohne diese Einträge verwirft die Whitelist sie stillschweigend und im + // Kundendokument steht bei Portscan, Traceroute, iPerf, SNMP und + // IP-Konflikt nur noch die Ampel — ohne einen einzigen Messwert. Genau + // das ist beim ersten Bau dieser Tabelle passiert, weil sie nur gegen + // selbst erzeugte Testdaten geprüft wurde statt gegen die echten + // Werkzeuge. Beim Anlegen eines Werkzeugs hier eintragen. + 'ziel' => array('Ziel', ''), + 'zielErreicht' => array('Ziel erreicht', ''), + 'hops' => array('Zwischenstellen', ''), + 'gegenstelle' => array('Gegenstelle', ''), + 'downloadMbps' => array('Download', 'Mbit/s'), + 'uploadMbps' => array('Upload', 'Mbit/s'), + 'ip' => array('Gerät', ''), + 'scanned' => array('Geprüfte Ports', ''), + 'open' => array('Offene Ports', ''), + 'geprueft' => array('Geprüfte Adressen', ''), + 'runden' => array('Messrunden', ''), + 'konflikte' => array('IP-Konflikte', ''), + 'port' => array('Switch-Port', ''), + 'linkSpeed' => array('Verbindungsgeschwindigkeit', ''), + 'eingangsFehler' => array('Fehler eingehend', ''), + 'ausgangsFehler' => array('Fehler ausgehend', ''), + // IP-Test (Dose): die Seite reicht das LinkInfo-Objekt durch + 'ipv4' => array('IP-Adresse', ''), + 'prefixLength' => array('Präfixlänge', ''), + 'dhcpServer' => array('DHCP-Server', ''), + 'leaseSec' => array('Lease-Dauer', 's'), + 'linkSpeedMbps' => array('Verbindungsgeschwindigkeit', 'Mbit/s'), + 'rxLinkSpeedMbps' => array('Empfangsgeschwindigkeit', 'Mbit/s'), + 'ssid' => array('WLAN-Name', ''), + 'raum' => array('Raum / Dose', ''), + 'iface' => array('Schnittstelle', ''), + 'typ' => array('Anschlussart', ''), + 'neu' => array('Neu hinzugekommen', ''), + 'nichtMehrErreichbar' => array('Nicht mehr erreichbar', ''), + 'demodaten' => array('DEMODATEN — keine echte Messung', ''), // Fehler/Hinweise — immer zeigen, sonst bliebe eine gelbe oder rote Ampel // im Kundendokument ohne jede Erklärung stehen. Der Text läuft durch // netdiagKundentext() und wird dort von Messgeräte-Interna befreit.