fix: LLDP input validation, mgmt_ip early validation, poll timer cleanup, monitor backoff

- app.py: validate server_name from LLDP with fullmatch before use in logs/lookups (prevents log injection)
- app.py: validate each mgmt_ip candidate before assigning host_ip (avoids assigning non-IP string that then fails later check)
- app.py: log actual exception in link_stats JSON parse error
- inspector.html: clear _diagPollTimer in closePanel() so timer doesn't orphan when panel is closed mid-poll
- monitor.py: sleep 30s after a monitor loop exception before resuming normal poll interval

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-11 08:45:28 -04:00
co-authored by Claude Sonnet 4.6
parent 705d06ca5b
commit d3616badb2
3 changed files with 15 additions and 5 deletions
+1
View File
@@ -966,6 +966,7 @@ class NetworkMonitor:
except Exception as e:
logger.error(f'Monitor loop error: {e}', exc_info=True)
time.sleep(30)
time.sleep(self.poll_interval)