Bisher enthielt "Systemeinstellungen" nur das Pruefintervall. Jetzt
zusaetzlich Verwaltung der Netzwerkkonfiguration DIESES Hosts (getrennt
vom Kea-DHCP-*Server* fuer Clients):
- Backend-Erkennung (NetworkManager vs. dhcpcd via systemctl is-active).
Kein erkanntes Backend -> Seite bleibt rein lesend statt zu raten.
- Status-Anzeige: Interface, IP/Prefix, Gateway, DNS, Modus (DHCP/Statisch).
- Aenderung: Interface, Modus, bei Statisch IP/Prefix/Gateway, DNS
unabhaengig von Modus setzbar (IP per DHCP + feste DNS moeglich).
- Sicherheitsnetz analog "netplan try": Backup vor jeder Aenderung,
automatisches Rollback nach 45s ohne explizite Bestaetigung (nur
moeglich, wenn die Seite ueber die neue Config noch erreichbar ist) --
verhindert Aussperren durch einen Tippfehler bei IP/Gateway.
- Bugfix waehrend der Implementierung gefunden: der Auto-Revert-Timer
laeuft in einem Hintergrund-Thread ohne Request-Kontext: log_action()
griff auf current_user zu und warf dort einen AttributeError (die
Config wurde trotzdem korrekt zurueckgerollt, nur der Audit-Log-Eintrag
fehlte und ein Fehler landete im Server-Log). Fix: log_action_system()
ohne current_user-Abhaengigkeit fuer Code ausserhalb des Request-
Kontexts.
- Getestet: Backend-Erkennung + rein lesender Fallback live (WSL hat
weder NetworkManager noch dhcpcd aktiv, korrekt erkannt), Rechte-Gating,
Anwenden-/Rollback-Logik fuer beide Backends per gemocktem
subprocess.run verifiziert (inkl. echtem dhcpcd.conf-Rewrite und
vollständigem Anwenden-dann-Auto-Rollback-Durchlauf mit Audit-Log-
Eintrag).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>