update rust to 1.93 (#1865)

This commit is contained in:
KKRainbow
2026-02-04 09:48:43 +08:00
committed by GitHub
parent aebb7facfa
commit c58140fb47
12 changed files with 81 additions and 82 deletions
+7 -6
View File
@@ -636,12 +636,13 @@ impl ConfigLoader for TomlConfigLoader {
fn get_id(&self) -> uuid::Uuid {
let mut locked_config = self.config.lock().unwrap();
if locked_config.instance_id.is_none() {
let id = uuid::Uuid::new_v4();
locked_config.instance_id = Some(id);
id
} else {
*locked_config.instance_id.as_ref().unwrap()
match locked_config.instance_id {
Some(id) => id,
None => {
let id = uuid::Uuid::new_v4();
locked_config.instance_id = Some(id);
id
}
}
}
+8 -10
View File
@@ -484,18 +484,14 @@ impl StunNatTypeDetectResult {
if self.public_ips().len() != 1
|| self.usable_stun_resp_count() <= 1
|| self.max_port() - self.min_port() > 15
|| self.extra_bind_test.is_none()
|| self
.extra_bind_test
.as_ref()
.unwrap()
.mapped_socket_addr
.is_none()
{
NatType::Symmetric
} else {
let extra_bind_test = self.extra_bind_test.as_ref().unwrap();
let extra_port = extra_bind_test.mapped_socket_addr.unwrap().port();
} else if let Some(extra_bind_mapped) = self
.extra_bind_test
.as_ref()
.and_then(|extra| extra.mapped_socket_addr)
{
let extra_port = extra_bind_mapped.port();
let max_port_diff = extra_port.saturating_sub(self.max_port());
let min_port_diff = self.min_port().saturating_sub(extra_port);
@@ -506,6 +502,8 @@ impl StunNatTypeDetectResult {
} else {
NatType::Symmetric
}
} else {
NatType::Symmetric
}
} else {
NatType::Unknown
+3 -6
View File
@@ -1377,12 +1377,9 @@ impl PeerManager {
.config
.get_proxy_cidrs()
.into_iter()
.map(|x| {
if x.mapped_cidr.is_none() {
x.cidr.to_string()
} else {
format!("{}->{}", x.cidr, x.mapped_cidr.unwrap())
}
.map(|x| match x.mapped_cidr {
None => x.cidr.to_string(),
Some(mapped) => format!("{}->{}", x.cidr, mapped),
})
.collect(),
hostname: self.global_ctx.get_hostname(),
+45 -44
View File
@@ -2214,54 +2214,55 @@ impl PeerRouteServiceImpl {
ret, sync_route_info_req, session, self.global_ctx.network, next_last_sync_succ_timestamp
);
if let Err(e) = &ret {
tracing::error!(
?ret,
?my_peer_id,
?dst_peer_id,
?e,
"sync_route_info failed"
);
session
.need_sync_initiator_info
.store(true, Ordering::Relaxed);
} else {
let resp = ret.as_ref().unwrap();
if resp.error.is_some() {
let err = resp.error.unwrap();
if err == Error::DuplicatePeerId as i32 {
if !self.global_ctx.get_feature_flags().is_public_server {
panic!("duplicate peer id");
match ret.as_ref() {
Err(e) => {
tracing::error!(
?ret,
?my_peer_id,
?dst_peer_id,
?e,
"sync_route_info failed"
);
session
.need_sync_initiator_info
.store(true, Ordering::Relaxed);
}
Ok(resp) => {
if let Some(err) = resp.error {
if err == Error::DuplicatePeerId as i32 {
if !self.global_ctx.get_feature_flags().is_public_server {
panic!("duplicate peer id");
}
} else {
tracing::error!(?ret, ?my_peer_id, ?dst_peer_id, "sync_route_info failed");
session
.need_sync_initiator_info
.store(true, Ordering::Relaxed);
}
} else {
tracing::error!(?ret, ?my_peer_id, ?dst_peer_id, "sync_route_info failed");
session.rpc_tx_count.fetch_add(1, Ordering::Relaxed);
session
.need_sync_initiator_info
.store(true, Ordering::Relaxed);
.dst_is_initiator
.store(resp.is_initiator, Ordering::Relaxed);
session.update_dst_session_id(resp.session_id);
if let Some(peer_infos) = &peer_infos {
session.update_dst_saved_peer_info_version(peer_infos, dst_peer_id);
}
if let Some(conn_info) = &conn_info {
session.update_dst_saved_conn_info_version(conn_info, dst_peer_id);
}
if let Some(foreign_network) = &foreign_network {
session
.update_dst_saved_foreign_network_version(foreign_network, dst_peer_id);
}
session.update_last_sync_succ_timestamp(next_last_sync_succ_timestamp);
}
} else {
session.rpc_tx_count.fetch_add(1, Ordering::Relaxed);
session
.dst_is_initiator
.store(resp.is_initiator, Ordering::Relaxed);
session.update_dst_session_id(resp.session_id);
if let Some(peer_infos) = &peer_infos {
session.update_dst_saved_peer_info_version(peer_infos, dst_peer_id);
}
// Update session saved versions based on the connection info format used
if let Some(conn_info) = &conn_info {
session.update_dst_saved_conn_info_version(conn_info, dst_peer_id);
}
if let Some(foreign_network) = &foreign_network {
session.update_dst_saved_foreign_network_version(foreign_network, dst_peer_id);
}
session.update_last_sync_succ_timestamp(next_last_sync_succ_timestamp);
}
}
false