From: Kevin McCarthy Date: Wed, 13 Mar 2019 05:41:00 +0000 (+0800) Subject: automatic post-release commit for mutt-1.11.4 X-Git-Tag: mutt-1-11-4-rel^0 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=207b9306eb82ea670aa32ed92745ee168c30f66f;p=mutt automatic post-release commit for mutt-1.11.4 --- diff --git a/ChangeLog b/ChangeLog index 912ff217..e94730ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,48 @@ +2019-03-13 12:06:11 +0800 Kevin McCarthy (fedb91e2) + + * Fix incorrect IMAP message purging bug. + + Thanks to Ivan Middleton @imiddle for the awesome bug report and + suggested fix. + + The bug is most easily generated using Gmail with the $trash variable + set. + + Deleted messages are first copied to the $trash folder. If this is + set to "[Gmail]/Trash", then Gmail inteprets the copy as a "delete" + and sends EXPUNGE messages back for the messages. + + cmd_parse_expunge() and cmd_parse_vanished() set the hdr->index to + INT_MAX, which subsequently an imap_expunge_mailbox() will use to + remove the messages from the local mailbox. + + If we close the mailbox instead of sync it, Mutt will end up executing + the 'Deleted' flag setting before processing the expunge (because + "imap_check_mailbox() -> imap_cmd_finish()' doesn't set check_status + when we are closing). The expunged messages will then be included in + the set of 'Deleted' flags. + + Unfortunately, because the messages are sorted by *index* before + msgset generation, an incorrect range of UIDs will be sent, which + could easily include messages that should not be deleted. + + This fix is a minimal fix for a stable bug fix excluding + messages with the index set to INT_MAX from all msg sets. Other + things that should be investigated in master are: + + - sorting by UID instead of index before msgset generation + - unsetting the 'active' flag in cmd_parse_expunge() and + cmd_parse_vanished() instead of waiting until imap_expunge_mailbox() + to do so. + +M imap/imap.c + +2019-02-01 12:41:23 -0800 Kevin McCarthy (eeed901d) + + * automatic post-release commit for mutt-1.11.3 + +M ChangeLog +M VERSION 2019-02-01 12:34:19 -0800 Kevin McCarthy (cd5db026) * Update UPDATING file for 1.11.3 release. diff --git a/UPDATING b/UPDATING index d6b1ae89..1bd10300 100644 --- a/UPDATING +++ b/UPDATING @@ -8,6 +8,10 @@ http://www.mutt.org/doc/manual/ The keys used are: !: modified feature, -: deleted feature, +: new feature +1.11.4 (2019-03-13): + + ! Bug fix release. + 1.11.3 (2019-02-01): ! Bug fix release. diff --git a/VERSION b/VERSION index 0a5af26d..3d0e6231 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.3 +1.11.4