fix stun server list empty when config is from web (#1371)

This commit is contained in:
Sijie.Sun
2025-09-15 22:52:58 +08:00
committed by GitHub
parent 445e68ddd1
commit 757d76c9da
2 changed files with 5 additions and 23 deletions
+2 -2
View File
@@ -119,13 +119,13 @@ impl GlobalCtx {
if let Some(stun_servers) = config_fs.get_stun_servers() { if let Some(stun_servers) = config_fs.get_stun_servers() {
stun_info_collector.set_stun_servers(stun_servers); stun_info_collector.set_stun_servers(stun_servers);
} else { } else {
stun_info_collector.set_stun_servers(Vec::new()); stun_info_collector.set_stun_servers(StunInfoCollector::get_default_servers());
} }
if let Some(stun_servers) = config_fs.get_stun_servers_v6() { if let Some(stun_servers) = config_fs.get_stun_servers_v6() {
stun_info_collector.set_stun_servers_v6(stun_servers); stun_info_collector.set_stun_servers_v6(stun_servers);
} else { } else {
stun_info_collector.set_stun_servers_v6(Vec::new()); stun_info_collector.set_stun_servers_v6(StunInfoCollector::get_default_servers_v6());
} }
let stun_info_collector = Arc::new(stun_info_collector); let stun_info_collector = Arc::new(stun_info_collector);
+3 -21
View File
@@ -24,7 +24,7 @@ use easytier::{
constants::EASYTIER_VERSION, constants::EASYTIER_VERSION,
global_ctx::GlobalCtx, global_ctx::GlobalCtx,
set_default_machine_id, set_default_machine_id,
stun::{MockStunInfoCollector, StunInfoCollector}, stun::MockStunInfoCollector,
}, },
connector::create_connector_by_url, connector::create_connector_by_url,
instance_manager::NetworkInstanceManager, instance_manager::NetworkInstanceManager,
@@ -951,26 +951,8 @@ impl NetworkOptions {
old_udp_whitelist.extend(self.udp_whitelist.clone()); old_udp_whitelist.extend(self.udp_whitelist.clone());
cfg.set_udp_whitelist(old_udp_whitelist); cfg.set_udp_whitelist(old_udp_whitelist);
if let Some(stun_servers) = &self.stun_servers { cfg.set_stun_servers(self.stun_servers.clone());
if stun_servers.is_empty() { cfg.set_stun_servers_v6(self.stun_servers_v6.clone());
cfg.set_stun_servers(None);
} else {
cfg.set_stun_servers(Some(stun_servers.clone()));
}
} else {
cfg.set_stun_servers(Some(StunInfoCollector::get_default_servers()));
}
if let Some(stun_servers) = &self.stun_servers_v6 {
if stun_servers.is_empty() {
cfg.set_stun_servers_v6(None);
} else {
cfg.set_stun_servers_v6(Some(stun_servers.clone()));
}
} else {
cfg.set_stun_servers_v6(Some(StunInfoCollector::get_default_servers_v6()));
}
Ok(()) Ok(())
} }
} }