PDF-Zweig netdiagPdfSip()
- Eigener Zweig, weil die Aussage sonst untergeht: in einer flachen
Schluessel/Wert-Liste sieht "401 Unauthorized" wie ein Fehler aus, ist aber
der Beweis fuer eine erreichbare Instanz, die nur Zugangsdaten will. Erst
Befund im Klartext, dann eine Zeile je Transportweg.
- Der Grenzhinweis steht mit im Dokument: gemessen ist die Erreichbarkeit,
NICHT die Sprachqualitaet.
- Feldnamen-Falle wieder aufgetreten: 'port' gehoert in beiden Feldtabellen
laengst dem SNMP-Werkzeug ("Switch-Port"). Im Kunden-PDF haette gestanden
"Switch-Port: 5060" - deshalb 'zielPort'.
WLAN-Kanalanalyse: Warnungen nicht mehr abschneiden
- dol_trunc(..., 160) kappte genau die Begruendung ("... In dicht besiedelter
Umgebung meist ein Fehle..."). Eine Warnung ohne ihren Grund ist im
Kundendokument wertlos; MultiCell bricht ohnehin um.
Token in der Adresszeile
- netdiag_api_read_token() nimmt ?jwt= nur noch an, wenn der Endpunkt es
ausdruecklich erlaubt. Einzige Stelle: update.php?download=1.
- Grund: ein Token in der URL steht in jedem Zugriffs- und Proxy-Log und gilt
sieben Tage fuer die GESAMTE Kunden-API.
- Warum die Ausnahme bleibt: die App-Fassungen im Feld bauen die
Download-Adresse mit dem Token darin. Sofort schliessen hiesse, genau die
Geraete vom Update auszusperren, die die neue APK brauchen. Zu entfernen,
sobald Eddy den Rollout bestaetigt (Hinweis steht im Code).
- pdf.php nimmt ab sofort ausschliesslich den Authorization-Header.
Gegen die Testinstanz gemessen: ?jwt= liefert bei orders/customers/protocols/
pdf/update-Version jetzt 401, mit Bearer weiterhin 200.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Die App kann die private Forgejo-Registry nicht erreichen (403/CORS) —
darum sagte der In-App-Updater faelschlich sofort 'aktuell'.
update.php prueft die Registry serverseitig (Token aus NETDIAG_FORGEJO_TOKEN)
und liefert der App:
GET update.php -> { version }
GET update.php?download=1 -> die APK (zum Installieren)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>