auto_socket: модуль авто-управления сокетами при изменении сетевых интерфейсов + fix pre-existing ASAN-багов
- auto_socket.c/h: создание/удаление UDP сокетов автоматически при изменении интерфейсов через netlink/route socket При auto_sockets=yes пропускает ручные [server] сокеты Тип сокета: PUBLIC если публичный IP, иначе NAT Для новых сокетов добавляются линки ко всем активным NCD-соединениям При удалении интерфейса линки убираются, сокет закрывается Platform-agnostic API для использования из Android/chatgui - node_conn_direct.h/c: ncd_add_socket_links / ncd_remove_socket_links — управление линками на конкретном сокете - socket_monitor.h/c: экспорт socket_monitor_update_if_addr для auto_socket - config_parser.h/c: опция auto_sockets в [global] - init_sockets(): пропуск ручных сокетов при auto_sockets=yes - utun_instance: интеграция auto_socket_init/destroy - media_delivery: fix stack-buffer-overflow ack[3] → ack[9] - topo_node: fix heap-use-after-free в topo_group_update_my_nodeinfo — сохранение node_id/ver перед registry_store, использование return value
This commit is contained in:
1 parent
a0ba6dee21
commit
ef637d33a6
15 files changed
+789
-6
No files matched your search
@@ -19,6 +19,7 @@ static const QSet<QString> GLOBAL_KEYS = {
|
||||
"my_node_name", "my_private_key", "my_public_key", "my_node_id",
|
||||
"tun_enabled", "tun_ifname", "tun_ip", "mtu",
|
||||
"keepalive_timeout", "keepalive_interval", "keepalive_adaptive", "bbr_max_cwnd",
|
||||
"auto_sockets",
|
||||
"debug_level", "log_file", "db_path", "db_sync_enabled", "db_sync_ttl",
|
||||
"enable_timestamp", "enable_function_names", "enable_file_lines", "enable_colors",
|
||||
"tun_test_mode"
|
||||
|
||||
Reference in new issue
Block a user