f5d7560958
The problem was that NntpClient was handling escaping the "." message termination, but that nsNewsFolder::NotifyDownloadedLine() was scanning for "." lines to finish messages. So the folder would screw up when a message body contained a lone "." line. The changes in detail: - Adds notifyDownloadBegin()/notifyDownloadEnd() calls to nsIMsgNewsFolder. - In NntpClient.jsm: - Now calls notifyDownloadBegin()/notifyDownloadEnd() to denote message boundaries. - No longer sends a "." final line to the folder. - Tries to call notifyDownloadEnd() with an error code if an error occurs. - adds an status param to nsMsgDBFolder::EndNewOfflineMessage(), and a code path to clean up upon errors. News folder now uses this to handle rolling back if an error occurs, but IMAP still relies on magic (checking the size of the message written so far). - nsNewsFolder::NotifyDownloadedLine() no longer looks for a lone "." to denote the end of a message. The relevant code was split out into NotifyDownloadBegin() and NotifyDownloadEnd(). - Added some comments to try and clarify the offline message writing vars in nsMsgDBFolder. Differential Revision: https://phabricator.services.mozilla.com/D158486 --HG-- extra : absorb_source : 14534b426ccbe4239cb916c35c057ed46f3f6a4e |
||
---|---|---|
.. | ||
moz.build | ||
nsIMsgNewsFolder.idl | ||
nsIMsgOfflineNewsState.idl | ||
nsINNTPNewsgroupPost.idl | ||
nsINewsDownloadDialogArgs.idl | ||
nsINntpIncomingServer.idl | ||
nsINntpService.idl | ||
nsINntpUrl.idl | ||
nsMsgNewsCID.h |