summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2020-09-15 01:18:48 +0300
committerManos Pitsidianakis <el13635@mail.ntua.gr>2020-09-15 02:00:27 +0300
commita5b6f29f2b196258a03f7de517bf5e4ba048743b (patch)
treea31ae3a17dff8b286955b432e736231877a57241
parent3b10fa389555efc7d130fc75585643a13d1c992f (diff)
melib/imap: ensure connection is alive before fetching bytes/flags
-rw-r--r--melib/src/backends/imap/operations.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/melib/src/backends/imap/operations.rs b/melib/src/backends/imap/operations.rs
index 000a2527..1f6e363b 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())