aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2021-02-17 17:43:07 +0100
committerAlex Auvolat <alex@adnab.me>2021-02-17 17:43:07 +0100
commit6ccf3a84957c276320d229418f78ac23d58680c1 (patch)
treeb737ac65123c7ce377ad0bad81d3dfcfcd69e0a4
parent9e38b82edcba5f60eb0ed95b5551947c0c03ba3c (diff)
downloadnetapp-6ccf3a84957c276320d229418f78ac23d58680c1.tar.gz
netapp-6ccf3a84957c276320d229418f78ac23d58680c1.zip
Add resilience when peer_addr() fails
-rw-r--r--src/conn.rs4
-rw-r--r--src/netapp.rs5
2 files changed, 6 insertions, 3 deletions
diff --git a/src/conn.rs b/src/conn.rs
index a4c4f4e..daa0235 100644
--- a/src/conn.rs
+++ b/src/conn.rs
@@ -46,7 +46,7 @@ impl ServerConn {
let peer_id = handshake.peer_pk.clone();
let tokio_socket = asyncstd_socket.into_inner();
- let remote_addr = tokio_socket.peer_addr().unwrap();
+ let remote_addr = tokio_socket.peer_addr()?;
debug!(
"Handshake complete (server) with {}@{}",
@@ -160,7 +160,7 @@ impl ClientConn {
.await?;
let tokio_socket = asyncstd_socket.into_inner();
- let remote_addr = tokio_socket.peer_addr().unwrap();
+ let remote_addr = tokio_socket.peer_addr()?;
debug!(
"Handshake complete (client) with {}@{}",
diff --git a/src/netapp.rs b/src/netapp.rs
index eed0f59..0ddd447 100644
--- a/src/netapp.rs
+++ b/src/netapp.rs
@@ -210,7 +210,10 @@ impl NetApp {
let (socket, _) = listener.accept().await.unwrap();
info!(
"Incoming connection from {}, negotiating handshake...",
- socket.peer_addr().unwrap()
+ match socket.peer_addr() {
+ Ok(x) => format!("{}", x),
+ Err(e) => format!("<invalid addr: {}>", e),
+ }
);
let self2 = self.clone();
tokio::spawn(async move {