From 1e25a962a7c0a47e10a0648eadee8c6c9aa5615b Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 6 Dec 2022 08:49:55 -0500 Subject: [PATCH] chanmgr: trace-level logs when launching connections. Based on more temporary debugging code. Yet another part of #677. --- crates/tor-chanmgr/src/transport/default.rs | 3 +++ crates/tor-chanmgr/src/transport/proxied.rs | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/crates/tor-chanmgr/src/transport/default.rs b/crates/tor-chanmgr/src/transport/default.rs index dfe3ed2d9..7d3e9c610 100644 --- a/crates/tor-chanmgr/src/transport/default.rs +++ b/crates/tor-chanmgr/src/transport/default.rs @@ -9,6 +9,7 @@ use safelog::sensitive as sv; use tor_error::bad_api_usage; use tor_linkspec::{ChannelMethod, HasChanMethod, OwnedChanTarget}; use tor_rtcompat::{Runtime, TcpProvider}; +use tracing::trace; use crate::Error; @@ -50,6 +51,8 @@ impl crate::transport::TransportImplHelper for DefaultTransport { } }; + trace!("Launching direct connection for {}", target); + let (stream, addr) = connect_to_one(&self.runtime, &direct_addrs).await?; let mut using_target = target.clone(); let _ignore = using_target.chan_method_mut().retain_addrs(|a| a == &addr); diff --git a/crates/tor-chanmgr/src/transport/proxied.rs b/crates/tor-chanmgr/src/transport/proxied.rs index c5d3a8219..2a28ddd0d 100644 --- a/crates/tor-chanmgr/src/transport/proxied.rs +++ b/crates/tor-chanmgr/src/transport/proxied.rs @@ -26,6 +26,7 @@ use tor_rtcompat::TcpProvider; use tor_socksproto::{ SocksAddr, SocksAuth, SocksClientHandshake, SocksCmd, SocksRequest, SocksStatus, SocksVersion, }; +use tracing::trace; #[cfg(feature = "pt-client")] use super::TransportImplHelper; @@ -69,6 +70,12 @@ pub(crate) async fn connect_via_proxy( protocol: &Protocol, target: &PtTargetAddr, ) -> Result { + trace!( + "Launching a proxied connection to {} via proxy at {} using {:?}", + target, + proxy, + protocol + ); let mut stream = runtime .connect(proxy) .await @@ -147,6 +154,11 @@ pub(crate) async fn connect_via_proxy( let status = reply .ok_or_else(|| internal!("SOCKS protocol finished, but gave no status!"))? .status(); + trace!( + "SOCKS handshake with {} succeeded, with status {:?}", + proxy, + status + ); if status != SocksStatus::SUCCEEDED { return Err(ProxyError::SocksError(status));