From 8f978c06f9ff9d4adbca2d81aa68542b1325a884 Mon Sep 17 00:00:00 2001 From: soruh Date: Tue, 28 Mar 2023 14:32:48 +0200 Subject: [PATCH] look up name in authentication routine --- src/client.rs | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/client.rs b/src/client.rs index ce405de..470a0b5 100644 --- a/src/client.rs +++ b/src/client.rs @@ -51,9 +51,9 @@ async fn authenticate( updated_server = true; } - let mut port_handler = port_handler.lock().await; - - let listener = if let Some((listener, _packet)) = port_handler.stop_rejector(port).await { + let listener = if let Some((listener, _packet)) = + port_handler.lock().await.stop_rejector(port).await + { Ok(listener) } else { TcpListener::bind((config.listen_addr.ip(), port)).await @@ -71,6 +71,17 @@ async fn authenticate( let _ip = dyn_ip_update(&config.dyn_ip_server, number, pin, port).await?; } + #[cfg(feature = "debug_server")] + let name = peer_query(&config.dyn_ip_server, number).await?; + + let mut port_handler = port_handler.lock().await; + + #[cfg(feature = "debug_server")] + if let Some(name) = name { + info!(%name, "found client name"); + port_handler.names.insert(number, name); + } + port_handler.register_update(); port_handler .port_state @@ -83,7 +94,7 @@ async fn authenticate( break Ok(Some(port)); } - port_handler.mark_port_error(number, port); + port_handler.lock().await.mark_port_error(number, port); } } @@ -329,16 +340,6 @@ pub async fn handler( info!(%addr, number, port, "authenticated"); - #[cfg(feature = "debug_server")] - { - if let Some(name) = peer_query(&config.dyn_ip_server, number).await? { - info!(%name, "found client name"); - let mut port_handler = port_handler.lock().await; - port_handler.names.insert(number, name); - port_handler.register_update(); - } - } - let Some(listener) = handler_metadata.listener.as_mut() else { unreachable!("client sucessfully authenticated but did not set handler_metadata.listener"); };