Docs: found.md/bugs.md-Einträge mit Gitea-Issues verlinkt
Alle 20 granularen Funde aus found.md (#1-10) und bugs.md (#1-10) als einzelne Gitea-Issues angelegt (#3-22): 19 direkt geschlossen (Status laut Doku "fixed"), 1 offen gelassen (bugs.md #7, Firewall-Isolation- Beobachtung, bewusst ohne automatischen Fix). Jeder Markdown-Eintrag verweist jetzt per Link auf sein Gitea-Issue. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,7 @@ einer früheren Session vorhanden.
|
||||
|
||||
### 1. Race Condition bei Port-Konflikt-Prüfung im LAN-Schritt
|
||||
**Status:** fixed (Build grün, noch nicht live gegenreproduziert)
|
||||
**Gitea-Issue:** [#13](http://192.168.178.222:3500/kay/RouterOS/issues/13)
|
||||
**Confidence:** hoch (Logikfehler direkt im Code nachvollzogen, nicht live reproduziert)
|
||||
|
||||
`SetupViewModel.checkPortConflict(for:)` (`SetupViewModel.swift:146`) liest `config.interfaceName`
|
||||
@@ -43,6 +44,7 @@ verwirft sein Ergebnis stillschweigend statt es zu übernehmen.
|
||||
|
||||
### 2. "Firewall (optional)"-Titel widerspricht sich selbst im Einfach-Modus
|
||||
**Status:** fixed (Build grün, noch nicht live gegenreproduziert)
|
||||
**Gitea-Issue:** [#14](http://192.168.178.222:3500/kay/RouterOS/issues/14)
|
||||
**Confidence:** hoch (direkt im Code sichtbar)
|
||||
|
||||
`FirewallStepView.swift:63`: `.navigationTitle(... "Firewall (optional)" ...)` ist fest, unabhängig
|
||||
@@ -55,6 +57,7 @@ Text-Widerspruch für jeden, der im Einfach-Modus durch den Wizard geht.
|
||||
|
||||
### 3. Fehlende Englisch-Übersetzungen (sichtbar im EN-UI)
|
||||
**Status:** fixed (skriptgeprüft: beide Keys jetzt in `L10n.swift`, verbleibende zwei fehlende
|
||||
**Gitea-Issue:** [#15](http://192.168.178.222:3500/kay/RouterOS/issues/15)
|
||||
Keys "OK"/"Revision" bewusst nicht ergänzt — identisch in beiden Sprachen, kein sichtbarer Effekt)
|
||||
**Confidence:** hoch (skriptgeprüft: alle `L10n.t(...)`-Aufrufstellen gegen `L10n.swift`s
|
||||
Übersetzungs-Dictionary abgeglichen — `L10n.t` fällt bei fehlendem Key auf den deutschen
|
||||
@@ -73,6 +76,7 @@ fehlgeschlagen": "Network test failed"`, `"Fokus-Ansicht schließen": "Close foc
|
||||
|
||||
### 4. Health-Check-Heartbeat ignoriert laufende Wizard-/Experte-Schreibvorgänge
|
||||
**Status:** fixed (Build grün, noch nicht live gegenreproduziert)
|
||||
**Gitea-Issue:** [#16](http://192.168.178.222:3500/kay/RouterOS/issues/16)
|
||||
|
||||
Fix: `ConnectionService.beginWrite()`/`endWrite()` (Zähler `activeWriteCount`) ergänzt,
|
||||
`checkConnectionHealthAndReconnectIfNeeded()` prüft jetzt zusätzlich `activeWriteCount == 0`.
|
||||
@@ -109,6 +113,7 @@ gegenverifiziert, dass der Fix greift, mit anschließendem Aufräumen der Testar
|
||||
|
||||
### 5. RouterOS-CLI-Injection über beliebige Textfelder (SSH-Transportpfad)
|
||||
**Status:** fixed (live exploitiert UND live als behoben bestätigt, siehe unten)
|
||||
**Gitea-Issue:** [#17](http://192.168.178.222:3500/kay/RouterOS/issues/17)
|
||||
**Confidence:** sehr hoch — kein Verdacht, sondern reproduzierter Exploit gegen den echten Router
|
||||
|
||||
`RouterOSCommand.cliLine` (`RouterOSCommand.swift`) baute CLI-Zeilen für den SSH-Transport per
|
||||
@@ -143,6 +148,7 @@ Neuer Regressionstest `testCliLineEscapesEmbeddedQuotesPreventingCommandInjectio
|
||||
|
||||
### 6. Genereller RouterOS-Antwort-Parser trunkiert mehrwortige Werte
|
||||
**Status:** fixed (Ursache live nachgewiesen, Fix per Unit-Test abgesichert)
|
||||
**Gitea-Issue:** [#18](http://192.168.178.222:3500/kay/RouterOS/issues/18)
|
||||
**Confidence:** sehr hoch — live gegen zwei unabhängige Menüs nachgewiesen
|
||||
|
||||
`RouterOSCliParser.keyValues(from:)` nahm an, `print terse` quote mehrwortige Werte in
|
||||
@@ -171,6 +177,7 @@ Live-Dump. Build + alle 101 Unit-Tests grün.
|
||||
|
||||
### 7. Beobachtung (kein Fix): Isolation wirkt nicht rückwirkend auf bereits bestehende Verbindungen
|
||||
**Status:** offen (bewusst nicht automatisch gefixt — Risikoabwägung, siehe unten)
|
||||
**Gitea-Issue:** [#19](http://192.168.178.222:3500/kay/RouterOS/issues/19)
|
||||
**Confidence:** hoch (Regel-Reihenfolge im Code nachvollzogen), nicht live reproduziert
|
||||
|
||||
`FirewallConfig.buildCommands()` (`FirewallConfig.swift`) setzt die Regel "forward
|
||||
@@ -204,6 +211,7 @@ Fallback-Schwäche. Zwei weitere Lücken gefunden und gehärtet (defensiv, nicht
|
||||
|
||||
### 8. REST-Pendant zu Fund #5: ungeschützte Query-String-Interpolation
|
||||
**Status:** fixed (Build grün, nicht live exploitiert — aktuell nur mit hartkodiertem Wert aufgerufen)
|
||||
**Gitea-Issue:** [#20](http://192.168.178.222:3500/kay/RouterOS/issues/20)
|
||||
**Confidence:** hoch (dieselbe Bugklasse wie #5, nur im REST- statt SSH-Pfad)
|
||||
|
||||
`RestTransport.fetchFieldValues` baute den Query-String `"\(restPath)?\(whereField)=\(whereValue)"`
|
||||
@@ -217,6 +225,7 @@ als `.urlQueryAllowed`, das `&`/`=`/`+`/`#` weiterhin durchlässt).
|
||||
|
||||
### 9. TOFU-Zertifikatsprüfung hatte einen Fallback-Konstante-Blindfleck
|
||||
**Status:** fixed (Build grün, Härtung — kein realistisch auslösbarer Live-Exploit gefunden)
|
||||
**Gitea-Issue:** [#21](http://192.168.178.222:3500/kay/RouterOS/issues/21)
|
||||
**Confidence:** mittel (theoretische Lücke im Code nachvollzogen, keine funktionierende PoC gebaut,
|
||||
da eine echte TLS-Handshake-Situation gebraucht würde, in der `SecTrustCopyCertificateChain` trotz
|
||||
abgeschlossenem Handshake leer zurückkommt — unüblich, aber laut Apple-API-Vertrag nicht ausgeschlossen)
|
||||
@@ -257,6 +266,7 @@ Bugklasse ("Alert-Dismiss tut nichts") entdeckt und gefixt.
|
||||
|
||||
### 10. Drei nicht funktionierende Alert-"Abbrechen"/"OK"-Buttons
|
||||
**Status:** fixed (Build + 102 Unit-Tests grün, 1 neuer Regressionstest)
|
||||
**Gitea-Issue:** [#22](http://192.168.178.222:3500/kay/RouterOS/issues/22)
|
||||
**Confidence:** hoch (Logikfehler direkt im Code nachvollzogen, nicht live reproduziert)
|
||||
|
||||
1. `ReviewApplyView`s "Anwenden fehlgeschlagen"-Alert: OK-Button-Action leer, `isPresented`-
|
||||
|
||||
@@ -10,6 +10,7 @@ Notizzettel für Feedback/Funde des Users. Neue Einträge unten anhängen, Statu
|
||||
|
||||
### 1. NTP Server bricht mit Error HTTP 400 ab
|
||||
**Status:** fixed (live bestätigt)
|
||||
**Gitea-Issue:** [#3](http://192.168.178.222:3500/kay/RouterOS/issues/3)
|
||||
|
||||
Ursache 1 (behoben): Experte-Schema PATCHte `servers` als kommagetrenntes Textfeld direkt auf `/system/ntp/client` — Feld existiert dort in RouterOS 7.x nicht, Server liegen in eigener Liste `/system ntp client servers`. Schema aufgeteilt: Singleton-Menü (enabled/mode) bleibt, neues Listen-Menü `/system ntp client servers` (Feld `address`) dazu.
|
||||
|
||||
@@ -17,6 +18,7 @@ Ursache 2 (behoben): Live-Test meldete beim Anlegen eines Server-Eintrags `HTTP
|
||||
|
||||
### 2. Interfaces-Ansicht zu unübersichtlich
|
||||
**Status:** fixed (live bestätigt)
|
||||
**Gitea-Issue:** [#4](http://192.168.178.222:3500/kay/RouterOS/issues/4)
|
||||
|
||||
Interfaces-Einträge sehr umfangreich beim Öffnen. Zweispaltige Ansicht gewünscht, um Scrollen zu reduzieren.
|
||||
|
||||
@@ -32,6 +34,7 @@ Nachbesserung 4 (User-Feedback: letzte Zeile überschneidet sich mit dem Button
|
||||
|
||||
### 3. Übersicht: Fokus-Modus beim Anklicken eines Items
|
||||
**Status:** fixed (live bestätigt)
|
||||
**Gitea-Issue:** [#5](http://192.168.178.222:3500/kay/RouterOS/issues/5)
|
||||
|
||||
Wunsch: Klick auf einen Node in der Übersicht (Graph-Ansicht, `OverviewView.swift`) soll den Node in den freien Bereich schieben, alle anderen Nodes ausfaden, und die Parents/Childs des aktuell gewählten Nodes nach unten schieben und sauber neu anordnen.
|
||||
|
||||
@@ -73,6 +76,7 @@ Nachbesserung 8 (User-Wunsch: Verhalten+Layout des Close-Buttons bei ALLEN Popup
|
||||
|
||||
### 4. LAN-Scanner: Sparkline-Breite + Abfrage-Intervall
|
||||
**Status:** fixed (live bestätigt: "ja, alles flüssig" — auch 0,1s-Takt keine spürbare CPU-Last)
|
||||
**Gitea-Issue:** [#6](http://192.168.178.222:3500/kay/RouterOS/issues/6)
|
||||
|
||||
Wunsch: Sparkline-Breite verdoppeln, Traffic-Abfrage auf 0,5s setzen (statt 3s).
|
||||
|
||||
@@ -86,6 +90,7 @@ Nachbesserung 3 (User-Wunsch: Aktualisierungsrate auf 0,1s): `startTrafficPollin
|
||||
|
||||
### 5. App-Einstellungen / Settings — eigener Menüpunkt
|
||||
**Status:** fixed (live bestätigt: "passt, lassen wir so")
|
||||
**Gitea-Issue:** [#7](http://192.168.178.222:3500/kay/RouterOS/issues/7)
|
||||
|
||||
Wunsch: eigener Einstellungen-Bereich für Personalisierung, Layout, Farbverwaltung, Refreshraten, Updates, Schriftgrößen, Responsiveness, etc.
|
||||
|
||||
@@ -119,6 +124,7 @@ Build grün, alle 98 Unit-Tests grün. Bitte nochmal live testen — diesmal an
|
||||
|
||||
### 6. Mode-Button Setup
|
||||
**Status:** fixed (live bestätigt)
|
||||
**Gitea-Issue:** [#8](http://192.168.178.222:3500/kay/RouterOS/issues/8)
|
||||
|
||||
Wunsch: an der Seite des Router ist eine Taste "Mode", diese ist belegbar (Scripte, Deaktivierung, etc). Einlesen, was geht, und bauen.
|
||||
|
||||
@@ -159,6 +165,7 @@ Mode-Taste (Fund #6) ist damit vollständig live verifiziert: Anlegen über App
|
||||
|
||||
### 9. Übersicht: Spaltenüberschriften fehlten im Fokus-Popup
|
||||
**Status:** fixed (live bestätigt)
|
||||
**Gitea-Issue:** [#11](http://192.168.178.222:3500/kay/RouterOS/issues/11)
|
||||
|
||||
Wunsch: Fokus-Popup (Klick auf Knoten in der Übersicht) soll dieselben Spaltenüberschriften (Interfaces, IP-Adressen, Pools & DHCP, Routen, Firewall & NAT) über den Knoten zeigen wie das Hauptdiagramm.
|
||||
|
||||
@@ -168,6 +175,7 @@ Build+alle 99 Unit-Tests grün, live bestätigt.
|
||||
|
||||
### 7. Manual direkt in die App integrieren
|
||||
**Status:** fixed (live bestätigt)
|
||||
**Gitea-Issue:** [#9](http://192.168.178.222:3500/kay/RouterOS/issues/9)
|
||||
|
||||
Wunsch: Manual so in die App integrieren, dass ein Hilfepunkt in der aktuell geöffneten Sektion direkt zur passenden Stelle im Manual springt (Textanker).
|
||||
|
||||
@@ -193,6 +201,7 @@ Build grün, alle 99 Unit-Tests grün, `Manual.html` + `Manual_en.html` beide be
|
||||
|
||||
### 8. Abwechselnde Farbkombis bei Tabellenansichten
|
||||
**Status:** fixed (live bestätigt: "passt")
|
||||
**Gitea-Issue:** [#10](http://192.168.178.222:3500/kay/RouterOS/issues/10)
|
||||
|
||||
Bessere Lesbarkeit durch alternierende Zeilenfarben in Tabellenansichten (LAN-Scanner, Experte-Listen, etc.).
|
||||
|
||||
@@ -212,6 +221,7 @@ Build grün, alle 99 Unit-Tests grün. Bitte erneut live testen.
|
||||
|
||||
### 10. Selbständiger Wiederverbindungsversuch nach Disconnect
|
||||
**Status:** fixed (live bestätigt, zusätzlich beim echten Firmware-Update-Neustart mitgetestet)
|
||||
**Gitea-Issue:** [#12](http://192.168.178.222:3500/kay/RouterOS/issues/12)
|
||||
|
||||
Wunsch: fällt die Verbindung zum Router weg (z.B. während einer laufenden Sitzung), soll die App selbständig versuchen, die Verbindung wiederherzustellen, statt einfach im getrennten Zustand zu bleiben.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user