From ee1d6346ba5ae69b765eed7b9a7a0a21845763ac Mon Sep 17 00:00:00 2001 From: Tobias Schneider Date: Wed, 26 Oct 2022 16:25:37 +0200 Subject: [PATCH] fix exception if host isn't resolvable --- src/main.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 70dd236..4d71a59 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,14 +25,16 @@ fn upload_config(h: &Host) -> Result { let content = h.content.lock().unwrap(); let connection_string = format!("{}@{}", username, host); - let addr: SocketAddr = format!("{}:{}", host, port) - .to_socket_addrs() - .unwrap().nth(0) - .expect(format!("Invalid host/port in `{}:{}`", host, port).as_str()); - let tcp: TcpStream = match TcpStream::connect_timeout(&addr, Duration::from_secs(1)) { + let addr: SocketAddr = match format!("{}:{}", host, port).to_socket_addrs() { + Ok(mut addrs) => addrs.nth(0).expect(format!("Invalid host/port in `{}:{}`", host, port).as_str()), + _ => return Err(connection_string) + }; + + let tcp: TcpStream = match TcpStream::connect_timeout(&addr, Duration::from_secs(3)) { Ok(s) => s, Err(_) => return Err(connection_string) }; + let mut sess = Session::new().unwrap(); sess.set_tcp_stream(tcp);