Evgeny
5e0100bfbe
refactor: separate NAT detection from topology into standalone nat_detection module
- Extract NAT detection logic (~250 lines) from topo_group.c into new nat_detection.c
- NAT_DETECTION struct owns ping_pending, next_ping_req_id, allow_nat_check_local (removed from TOPO_GROUP)
- route_ping.* signatures changed: TOPO_GROUP* -> NAT_DETECTION* (+ TOPO_GROUP* where needed)
- topo_group.c now only dispatches BGP subcommands to nat_detection_* handlers
- UTUN_INSTANCE gets struct NAT_DETECTION* nat_det field (init/destroy in topo_groups_init/destroy)
- External callers (etcp_connections, etcp, control_server) call nat_detection_* directly
- nat_detection_cancel_for_conn / nat_detection_send_nat_info / nat_detection_link_ready / nat_detection_request_check_all
- route_ping_destroy_pending properly implemented (was dead code)
- TOPO_SUBCMD_PING_REQ/RESP moved from route_ping.h to topo_group.h (all BGP subcommands in one place)
- Tests updated: test_nat_detection, test_route_ping - both PASSED
- Build: auto(CORE_SOURCES+libutun) and cmake(chatgui/libutun)
2026-07-17 19:49:54 +03:00
..
2026-07-16 19:04:00 +03:00
2026-06-17 21:28:07 +03:00
2026-05-29 01:11:37 +03:00
2026-01-25 10:47:02 +03:00
2026-01-21 18:18:32 +03:00
2026-01-25 10:47:02 +03:00
2026-07-17 16:25:55 +03:00
2026-01-28 19:56:38 +03:00
2026-07-16 19:04:00 +03:00
2026-07-16 19:13:05 +03:00
2026-07-17 15:44:19 +03:00
2026-06-17 21:28:07 +03:00
2026-07-16 19:04:00 +03:00
2026-07-17 15:44:19 +03:00
2026-05-12 13:42:16 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-06-03 02:06:09 +03:00
2026-07-15 19:56:47 +03:00
2026-07-16 19:04:00 +03:00
2026-05-10 19:03:42 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-07-15 19:56:47 +03:00
2026-07-16 19:04:00 +03:00
2026-07-09 19:50:17 +03:00
2026-07-16 19:04:00 +03:00
2026-07-15 19:56:47 +03:00
2026-06-18 22:11:25 +03:00
2026-07-15 19:56:47 +03:00
2026-07-16 19:04:00 +03:00
2026-06-09 22:20:25 +03:00
2026-07-16 19:04:00 +03:00
2026-06-09 22:20:25 +03:00
2026-07-16 19:04:00 +03:00
2026-07-14 09:07:03 +03:00
2026-06-02 21:05:06 +03:00
2026-07-17 19:49:54 +03:00
2026-05-10 00:49:46 +03:00
2026-05-10 00:49:46 +03:00
2026-07-16 19:04:00 +03:00
2026-07-17 16:25:55 +03:00
2026-07-15 19:56:47 +03:00
2026-06-09 22:20:25 +03:00
2026-05-10 00:34:28 +03:00
2026-07-09 17:01:56 +03:00
2026-07-09 18:08:49 +03:00
2026-07-17 19:49:54 +03:00
2026-07-16 19:04:00 +03:00
2026-06-18 22:11:25 +03:00
2026-07-15 19:56:47 +03:00
2026-07-16 19:04:00 +03:00
2026-06-14 10:00:02 +03:00
2026-06-22 15:53:24 +03:00
2026-07-05 20:57:44 +03:00
2026-07-01 20:33:11 +03:00
2026-07-15 19:56:47 +03:00
2026-07-05 20:57:44 +03:00
2026-06-03 16:24:46 +03:00
2026-05-13 12:38:20 +03:00
2026-07-16 19:22:06 +03:00
2026-07-16 19:04:00 +03:00