melib/imap: add imap-trace feature

pull/262/head
Manos Pitsidianakis 2023-07-22 21:27:05 +03:00
parent b65934facc
commit 8ecdb6df31
Signed by: Manos Pitsidianakis
GPG Key ID: 7729C7707F7E09D0
2 changed files with 15 additions and 8 deletions

View File

@ -78,6 +78,7 @@ gpgme = []
http = ["isahc"]
http-static = ["isahc", "isahc/static-curl"]
imap = ["imap-codec", "tls"]
imap-trace = ["imap"]
jmap = ["http"]
nntp = ["tls"]
nntp-trace = ["nntp"]

View File

@ -179,13 +179,16 @@ impl ImapStream {
let addr = lookup_ipv4(path, server_conf.server_port)?;
let mut socket = AsyncWrapper::new(Connection::new_tcp(
if let Some(timeout) = server_conf.timeout {
let mut socket = AsyncWrapper::new({
let conn = Connection::new_tcp(if let Some(timeout) = server_conf.timeout {
TcpStream::connect_timeout(&addr, timeout)?
} else {
TcpStream::connect(addr)?
},
))?;
});
#[cfg(feature = "imap-trace")]
let conn = conn.trace(true);
conn
})?;
if server_conf.use_starttls {
let err_fn = || {
if server_conf.server_port == 993 {
@ -278,13 +281,16 @@ impl ImapStream {
}
} else {
let addr = lookup_ipv4(path, server_conf.server_port)?;
AsyncWrapper::new(Connection::new_tcp(
if let Some(timeout) = server_conf.timeout {
AsyncWrapper::new({
let conn = Connection::new_tcp(if let Some(timeout) = server_conf.timeout {
TcpStream::connect_timeout(&addr, timeout)?
} else {
TcpStream::connect(addr)?
},
))?
});
#[cfg(feature = "imap-trace")]
let conn = conn.trace(true);
conn
})?
};
if let Err(err) = stream
.get_ref()