From 7efb490af05693dcc4b46f9152b11359a4c384ef Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 18 May 2023 15:41:17 +0300 Subject: [PATCH] fix(network): fixed allow private addrs (#1618) --- crates/server-config/src/network_config.rs | 2 -- particle-node/src/node.rs | 11 +++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/server-config/src/network_config.rs b/crates/server-config/src/network_config.rs index 2bccb63275..2fb9935de2 100644 --- a/crates/server-config/src/network_config.rs +++ b/crates/server-config/src/network_config.rs @@ -37,7 +37,6 @@ pub struct NetworkConfig { pub kademlia_config: KademliaConfig, pub particle_queue_buffer: usize, pub bootstrap_frequency: usize, - pub allow_local_addresses: bool, pub connectivity_metrics: Option, pub connection_pool_metrics: Option, #[allow(deprecated)] @@ -66,7 +65,6 @@ impl NetworkConfig { kademlia_config: config.kademlia.clone(), particle_queue_buffer: config.particle_queue_buffer, bootstrap_frequency: config.bootstrap_frequency, - allow_local_addresses: config.allow_local_addresses, connectivity_metrics, connection_pool_metrics, connection_limits, diff --git a/particle-node/src/node.rs b/particle-node/src/node.rs index 77805dff4c..5f5077135b 100644 --- a/particle-node/src/node.rs +++ b/particle-node/src/node.rs @@ -89,6 +89,8 @@ pub struct Node { pub builtins_management_peer_id: PeerId, pub key_manager: KeyManager, + + allow_local_addresses: bool, } impl Node { @@ -164,6 +166,8 @@ impl Node { connection_limits, ); + let allow_local_addresses = config.allow_local_addresses; + let (swarm, connectivity, particle_stream) = Self::swarm( key_manager.get_host_peer_id(), network_config, @@ -319,6 +323,7 @@ impl Node { config.metrics_listen_addr(), builtins_peer_id, key_manager, + allow_local_addresses, )) } @@ -386,6 +391,7 @@ impl Node { metrics_listen_addr: SocketAddr, builtins_management_peer_id: PeerId, key_manager: KeyManager, + allow_local_addresses: bool, ) -> Box { let node_service = Self { particle_stream, @@ -410,6 +416,7 @@ impl Node { builtins_management_peer_id, key_manager, + allow_local_addresses, }; Box::new(node_service) @@ -440,6 +447,7 @@ impl Node { .map(|x| format!("node-{x}")) .unwrap_or("node".to_owned()); let libp2p_metrics = self.libp2p_metrics; + let allow_local_addresses = self.allow_local_addresses; task::Builder::new().name(&task_name.clone()).spawn(async move { let mut metrics_fut= if let Some(registry) = registry { @@ -457,14 +465,13 @@ impl Node { let mut connectivity = connectivity.start(); let mut dispatcher = dispatcher.start(particle_stream, effects_stream); let mut exit_inlet = Some(exit_inlet); - loop { let exit_inlet = exit_inlet.as_mut().expect("Could not get exit inlet"); tokio::select! { Some(e) = swarm.next() => { if let Some(m) = libp2p_metrics.as_ref() { m.record(&e) } if let SwarmEvent::Behaviour(FluenceNetworkBehaviourEvent::Identify(i)) = e { - swarm.behaviour_mut().inject_identify_event(i, true); + swarm.behaviour_mut().inject_identify_event(i, allow_local_addresses); } }, _ = &mut metrics_fut => {},