summaryrefslogtreecommitdiff
path: root/mailnews/imap
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2019-11-10 18:11:49 -0500
committerMatt A. Tobin <email@mattatobin.com>2019-11-10 18:11:49 -0500
commit5393f033bcd3d9933c71b4beea4ff90f4e49accc (patch)
treed6d82daa0b5285d7843230a2e1d4827bbd8fa5a1 /mailnews/imap
parent02dc2390ee4a67600318e2f8df9062adaf83b3dc (diff)
downloaduxp-5393f033bcd3d9933c71b4beea4ff90f4e49accc.tar.gz
Bug 1079280 - Don't transmit email when imap append response is bad.
This only applies to non-literal+ appends. Bad response typically occurs when {size} parameter of append command is larger than server can accept. This prevents TB from sending megabytes of data to a server that has already rejected it. Tag #1273
Diffstat (limited to 'mailnews/imap')
-rw-r--r--mailnews/imap/src/nsImapProtocol.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/mailnews/imap/src/nsImapProtocol.cpp b/mailnews/imap/src/nsImapProtocol.cpp
index dee4ff1698..1d0c98d48b 100644
--- a/mailnews/imap/src/nsImapProtocol.cpp
+++ b/mailnews/imap/src/nsImapProtocol.cpp
@@ -6160,7 +6160,11 @@ void nsImapProtocol::UploadMessageFromFile (nsIFile* file,
if (NS_FAILED(rv)) goto done;
if (!useLiteralPlus)
- ParseIMAPandCheckForNewMail();
+ {
+ ParseIMAPandCheckForNewMail();
+ if (!GetServerStateParser().LastCommandSuccessful())
+ goto done;
+ }
totalSize = fileSize;
readCount = 0;