From a5b6f29f2b196258a03f7de517bf5e4ba048743b Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Tue, 15 Sep 2020 01:18:48 +0300 Subject: [PATCH] melib/imap: ensure connection is alive before fetching bytes/flags --- melib/src/backends/imap/operations.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/melib/src/backends/imap/operations.rs b/melib/src/backends/imap/operations.rs index 000a25274..1f6e363be 100644 --- a/melib/src/backends/imap/operations.rs +++ b/melib/src/backends/imap/operations.rs @@ -67,6 +67,7 @@ impl BackendOp for ImapOp { let mut response = String::with_capacity(8 * 1024); { let mut conn = timeout(uid_store.timeout, connection.lock()).await?; + conn.connect().await?; conn.examine_mailbox(mailbox_hash, &mut response, false) .await?; conn.send_command(format!("UID FETCH {} (FLAGS RFC822)", uid).as_bytes()) @@ -127,6 +128,7 @@ impl BackendOp for ImapOp { }; if !exists_in_cache { let mut conn = connection.lock().await; + conn.connect().await?; conn.examine_mailbox(mailbox_hash, &mut response, false) .await?; conn.send_command(format!("UID FETCH {} FLAGS", uid).as_bytes())