diff --git a/src/network/async_main.rs b/src/network/async_main.rs index 5a91b0a..4d1c761 100644 --- a/src/network/async_main.rs +++ b/src/network/async_main.rs @@ -316,7 +316,7 @@ async fn send_stun_request(eee: &Node) { client_id: eee.config.node_uuid.clone(), network_id: eee.network_id.load(Ordering::Relaxed), ip: eee.device_config.get_ip(), - nat_type: 0, + nat_type: eee.get_nat_type() as u32, }; let msg = encode_to_udp_message(Some(req), PacketType::StunRequest as u8).unwrap(); if let Err(e) = send_to_sock( diff --git a/src/network/node.rs b/src/network/node.rs index 948eab4..b2d23fc 100644 --- a/src/network/node.rs +++ b/src/network/node.rs @@ -140,6 +140,9 @@ pub struct Node { unsafe impl Sync for Node {} impl Node { + pub fn get_nat_type(&self) -> NatType { + self.nat_type.lock().unwrap().clone() + } pub async fn start(&self, token: String) { *self._token.lock().unwrap() = token; self.start_stop_sender.send(true).await;