diff options
Diffstat (limited to 'src/transport/tor.rs')
| -rw-r--r-- | src/transport/tor.rs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/transport/tor.rs b/src/transport/tor.rs index b49cc67..39e0f31 100644 --- a/src/transport/tor.rs +++ b/src/transport/tor.rs @@ -53,13 +53,16 @@ use crate::identity::NodeKey; use crate::locks::MutexExt; use crate::transport::challenge::{self, Role}; use crate::transport::{ - EncodedMessage, HandlerFn, Hex, MessageHandler, ParsedMessage, Transport, hand_on_probe, - is_probe, wire, + Addressed, EncodedMessage, HandlerFn, Hex, MessageHandler, ParsedMessage, Transport, + hand_on_probe, is_probe, wire, }; /// A message read, with the sender's onion service and its payload length. type Inbound = (String, ParsedMessage, usize); +/// The scheme of this transport's addresses (`transport::paths`). +pub(crate) const SCHEME: &str = "tor"; + /// The onion service's nickname in arti's state (one per node). const NICKNAME: &str = "continuum"; /// The largest message read. Sync messages above 16 chunks travel as blobs, and a chunk @@ -432,10 +435,10 @@ impl Shared { self.register(location, stream); } Ok(false) => { - debug!(claimed = %location, key = %Hex(&key), "Dropping a connection to our onion service: another node is at the onion service it claims"); + debug!(claimed = %Addressed(SCHEME, &location), key = %Hex(&key), "Dropping a connection to our onion service: another node is at the onion service it claims"); } Err(error) => { - debug!(claimed = %location, error = %format!("{error:#}"), "Dropping a connection to our onion service: couldn't check the onion service it claims"); + debug!(claimed = %Addressed(SCHEME, &location), error = %format!("{error:#}"), "Dropping a connection to our onion service: couldn't check the onion service it claims"); } } } @@ -450,11 +453,11 @@ impl Shared { writer: tokio::sync::Mutex::new(writer), }); lock(&self.connections).insert(location.clone(), Arc::clone(&connection)); - debug!(peer = %location, connection = id, "Connection opened"); + debug!(peer = %Addressed(SCHEME, &location), connection = id, "Connection opened"); let shared = Arc::clone(self); tokio::spawn(async move { let error = shared.read(&location, reader).await; - debug!(peer = %location, connection = id, error = %format!("{error:#}"), "Connection closed"); + debug!(peer = %Addressed(SCHEME, &location), connection = id, error = %format!("{error:#}"), "Connection closed"); shared.forget(&location, id); }); connection @@ -485,7 +488,7 @@ impl Shared { let message = match wire::decode(&body) { Ok(message) => message, Err(error) => { - debug!(peer = %location, error = %error, "Dropping a message that doesn't decode"); + debug!(peer = %Addressed(SCHEME, &location), error = %error, "Dropping a message that doesn't decode"); continue; } }; @@ -610,13 +613,13 @@ impl Transport for TorTransport { let handler = Arc::clone(&handler); tokio::spawn(async move { while let Some((peer, message, payload_len)) = probes.recv().await { - hand_on_probe(&handler, peer, message, payload_len); + hand_on_probe(SCHEME, &handler, peer, message, payload_len); } }); } while let Some((peer, message, payload_len)) = incoming.recv().await { if let Err(error) = handler(peer.clone(), message, payload_len).await { - warn!(peer = %peer, error = %format!("{error:#}"), "Failed to process inbound message"); + warn!(peer = %Addressed(SCHEME, &peer), error = %format!("{error:#}"), "Failed to process inbound message"); } } Ok(()) |
