From c59ce1be5511c9a8596ead3b5f4ec21702866a96 Mon Sep 17 00:00:00 2001 From: Tiago Batista Cardoso Date: Thu, 15 Jan 2026 22:08:11 +0100 Subject: [PATCH] peer address in nat traversal --- client-network/src/lib.rs | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/client-network/src/lib.rs b/client-network/src/lib.rs index 8d8ab26..e828b67 100644 --- a/client-network/src/lib.rs +++ b/client-network/src/lib.rs @@ -317,23 +317,30 @@ pub fn start_p2p_executor( let peer_addr_query = get_socket_address(username.clone(), ip.clone()); match server_addr_query.await { - Some(server_addr) => { - let natreq = construct_message( - NATTRAVERSALREQUEST, - ip.to_string().into_bytes(), - 8, - &sd.cryptopair(), - ); + Some(server_addr) => match peer_addr_query.await { + Some(peer_addr) => { + let natreq = construct_message( + NATTRAVERSALREQUEST, + peer_addr.to_string().into_bytes(), + 8, + &sd.cryptopair(), + ); - sd.senders_ref().send_via( - 0, - natreq.expect( - "couldnt construct message nattraversalrequest2", - ), - server_addr.to_string(), - false, - ); - } + sd.senders_ref().send_via( + 0, + natreq.expect( + "couldnt construct message nattraversalrequest2", + ), + server_addr.to_string(), + false, + ); + } + None => { + let err_msg = format!("failed to retreive socket address") + .to_string(); + let res = event_tx.send(NetworkEvent::Error(err_msg)); + } + }, None => { let err_msg = format!("failed to retreive socket address").to_string();