From caf3912af1a871031e0579d679e3483840457c6b Mon Sep 17 00:00:00 2001 From: Florian Stecker Date: Tue, 2 Jan 2024 22:47:52 -0500 Subject: [PATCH] reresolve address at every reconnect, to avoid problems switching from IPv6 to IPv4-only networks --- src/lib.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c353638..8638cc2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -214,13 +214,12 @@ pub fn connect_and_idle(cli: &Cli, connected_callback: F, mail cli.server.as_str().try_into().unwrap())?; let mut addrs = cli.addrs.borrow_mut(); - if addrs.is_empty() { - addrs.extend( - (cli.server.as_str(), cli.port) - .to_socket_addrs() - .map_err(|e|io::Error::new(ErrorKind::NotConnected, e.to_string()))? - ); - } + addrs.clear(); + addrs.extend( + (cli.server.as_str(), cli.port) + .to_socket_addrs() + .map_err(|e|io::Error::new(ErrorKind::NotConnected, e.to_string()))? + ); let mut socket = TcpStream::connect(addrs.as_slice())?; let mut state = ImapState::Unauthenticated;