topo_group: disable in chatgui; fix NAT detection for matching addresses

- Add utun_instance_set_topo_group_enabled() flag (default=1, chatgui sets 0)
- Move nat_detection create/destroy from topo_group.c to utun_instance.c (unconditional)
- NAT detection: simplify third_node search (any connected node)
- NAT detection: allow NULL topo_groups in receive_cbk and handlers
- NAT detection: handle NAT_INFO without topo_group (update socket directly)
- route_ping: make TOPO_GROUP optional in send_req_addr/handle_req
- topo_node: when NAT verified and address matches interface, set entry type to NAT instead of INTERFACE + socket_id|1
- topo_node: detect nat_type change in changed computation for rebuild
- test_nat_detection: fix socket_id check (|1 for NAT entries)
- chatgui: call utun_instance_set_topo_group_enabled(0)
This commit is contained in:
Evgeny committed 2026-07-19 08:33:33 +03:00
1 parent 208a0c8ae8
commit 501b636d19
8 files changed
+150 -84

No files matched your search

+1
View File
@@ -239,6 +239,7 @@ void UtunNode::runLoop() {
}
utun_instance_set_tun_init_enabled(0);
utun_instance_set_topo_group_enabled(0);
struct UASYNC* ua = uasync_create();
if (!ua) {