summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin McCarthy <kevin@8t8.us>2019-03-13 13:41:00 +0800
committerKevin McCarthy <kevin@8t8.us>2019-03-13 13:41:00 +0800
commit207b9306eb82ea670aa32ed92745ee168c30f66f (patch)
tree3030e1c2ebe09f8d33925cac3c52ba626c529dd0
parentfedb91e221894c19f65976cf35b5bccea0b326be (diff)
automatic post-release commit for mutt-1.11.4mutt-1-11-4-rel
-rw-r--r--ChangeLog45
-rw-r--r--UPDATING4
-rw-r--r--VERSION2
3 files changed, 50 insertions, 1 deletions
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 <kevin@8t8.us> (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 <kevin@8t8.us> (eeed901d)
+
+ * automatic post-release commit for mutt-1.11.3
+
+M ChangeLog
+M VERSION
2019-02-01 12:34:19 -0800 Kevin McCarthy <kevin@8t8.us> (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