summaryrefslogtreecommitdiffstats
path: root/mailnews/imap
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews/imap')
-rw-r--r--mailnews/imap/src/nsImapProtocol.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/mailnews/imap/src/nsImapProtocol.cpp b/mailnews/imap/src/nsImapProtocol.cpp
index 9d943f7ec..dee4ff169 100644
--- a/mailnews/imap/src/nsImapProtocol.cpp
+++ b/mailnews/imap/src/nsImapProtocol.cpp
@@ -5418,14 +5418,6 @@ void nsImapProtocol::Capability()
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
- if (!gUseLiteralPlus)
- {
- eIMAPCapabilityFlags capabilityFlag = GetServerStateParser().GetCapabilityFlag();
- if (capabilityFlag & kLiteralPlusCapability)
- {
- GetServerStateParser().SetCapabilityFlag(capabilityFlag & ~kLiteralPlusCapability);
- }
- }
}
void nsImapProtocol::ID()
@@ -6091,8 +6083,6 @@ void nsImapProtocol::UploadMessageFromFile (nsIFile* file,
nsresult rv;
bool eof = false;
nsCString flagString;
- bool hasLiteralPlus = (GetServerStateParser().GetCapabilityFlag() &
- kLiteralPlusCapability);
nsCOMPtr <nsIInputStream> fileInputStream;
@@ -6155,7 +6145,13 @@ void nsImapProtocol::UploadMessageFromFile (nsIFile* file,
rv = NS_NewLocalFileInputStream(getter_AddRefs(fileInputStream), file);
if (NS_FAILED(rv) || !fileInputStream) goto done;
command.AppendInt((int32_t)fileSize);
- if (hasLiteralPlus)
+
+ // Set useLiteralPlus to true if server has capability LITERAL+ and
+ // LITERAL+ useage is enabled in the config editor,
+ // i.e., "mail.imap.use_literal_plus" = true.
+ bool useLiteralPlus = (GetServerStateParser().GetCapabilityFlag() &
+ kLiteralPlusCapability) && gUseLiteralPlus;
+ if (useLiteralPlus)
command.Append("+}" CRLF);
else
command.Append("}" CRLF);
@@ -6163,7 +6159,7 @@ void nsImapProtocol::UploadMessageFromFile (nsIFile* file,
rv = SendData(command.get());
if (NS_FAILED(rv)) goto done;
- if (!hasLiteralPlus)
+ if (!useLiteralPlus)
ParseIMAPandCheckForNewMail();
totalSize = fileSize;