diff --git a/melib/src/backends/imap/connection.rs b/melib/src/backends/imap/connection.rs index ac014461..e9a67665 100644 --- a/melib/src/backends/imap/connection.rs +++ b/melib/src/backends/imap/connection.rs @@ -21,7 +21,7 @@ use super::protocol_parser::{ImapLineSplit, ImapResponse, RequiredResponses}; use crate::backends::MailboxHash; -use crate::connections::Connection; +use crate::connections::{lookup_ipv4, Connection}; use crate::email::parser::BytesExt; use crate::error::*; extern crate native_tls; @@ -31,7 +31,6 @@ pub use smol::Async as AsyncWrapper; use std::collections::HashSet; use std::future::Future; use std::iter::FromIterator; -use std::net::SocketAddr; use std::pin::Pin; use std::sync::Arc; use std::time::Instant; @@ -758,16 +757,3 @@ async fn read( } None } - -fn lookup_ipv4(host: &str, port: u16) -> Result { - use std::net::ToSocketAddrs; - - let addrs = (host, port).to_socket_addrs()?; - for addr in addrs { - if let SocketAddr::V4(_) = addr { - return Ok(addr); - } - } - - Err(MeliError::new("Cannot lookup address")) -} diff --git a/melib/src/connections.rs b/melib/src/connections.rs index 4f46815f..8d9a21f6 100644 --- a/melib/src/connections.rs +++ b/melib/src/connections.rs @@ -139,3 +139,16 @@ impl std::os::unix::io::AsRawFd for Connection { } } } + +pub fn lookup_ipv4(host: &str, port: u16) -> crate::Result { + use std::net::ToSocketAddrs; + + let addrs = (host, port).to_socket_addrs()?; + for addr in addrs { + if let std::net::SocketAddr::V4(_) = addr { + return Ok(addr); + } + } + + Err(crate::error::MeliError::new("Cannot lookup address")) +}