Service shutdown leaves bypass route residue in the bypass table #78
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observed live 2026-08-19 while verifying the #66 fix: after
systemctl restart aqomuiwith a main + bypass connection up, table 11 still held the pre-launch host-route pin to the bypass server:The pin is added before the bypass tunnel launches and removed in the disconnect teardown (#75) — but a service stop goes through SIGTERM, which kills the OpenVPN processes without running the Python-side route cleanup, so anything the teardown owns (the table-11/main-table pins, a table-11 default) can survive the restart.
Mostly harmless: the pin only affects marked traffic to that one server IP and would be re-added on the next connect to the same server. But it's the same failure shape that produced #66 — state parked in table 11 outliving the process that put it there. Shutdown should sweep it: either run the route teardown from a SIGTERM handler before exit, or flush the service-owned entries from table 11 in startup's clean-slate block (which already does
killall openvpn).Related symptom from the same restart, relevant to #24/#73: with the GUI running across the restart, it still showed the main connection as connected while the bypass connection was gone — neither tunnel had actually survived (
openvpn: no process foundin the start log). That's stale GUI state with no reconciliation, i.e. #24's problem statement observed live.