From 491069d40a247f30cafce0715fa667c434b8dafd Mon Sep 17 00:00:00 2001 From: Tobias Schneider Date: Sun, 28 Aug 2022 15:27:15 +0200 Subject: [PATCH] fix timeout --- src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index fbaf61e..45dd4e6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,13 +1,13 @@ mod config; -use std::{net::TcpStream, path::{Path, PathBuf}, io::Write}; +use std::{net::{TcpStream, ToSocketAddrs, SocketAddr}, path::{Path, PathBuf}, io::Write, time::Duration}; use ssh2::Session; fn upload_file(host: &str, port: u16, username: &str, private_key: &Path, passphrase: Option<&str>, content: &str) -> Result<(), Box> { - let tcp: TcpStream = TcpStream::connect(format!("{}:{}", host, port))?; + 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 = TcpStream::connect_timeout(&addr, Duration::from_secs(3))?; let mut sess: Session = Session::new()?; - sess.set_timeout(3000); sess.set_tcp_stream(tcp); sess.handshake()?;