From 96a9aac4194d213de68cf70e8c7fdbcb7877e70e Mon Sep 17 00:00:00 2001 From: Kevin McCarthy Date: Tue, 30 May 2017 12:47:01 -0700 Subject: [PATCH] automatic post-release commit for mutt-1.8.3 --- ChangeLog | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ UPDATING | 4 ++ VERSION | 2 +- 3 files changed, 169 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index fe0bd02a4..5493fbdef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,167 @@ +2017-05-23 15:53 -0700 Kevin McCarthy (fa0c2155ab8f) + + * mx.c: Fix memory leak when closing mailbox and using the sidebar. + + The code updating the sidebar counts decremented the msgcount, but + did not set it back to the original value. Which means fastclose was + not freeing all the headers. + + Update the sidebar only when something is deleted, since I don't + believe it's required otherwise and the code is a bit cleaner that + way. + +2017-05-22 18:18 -0700 Kevin McCarthy (59a2125b49f2) + + * imap/imap.c: Don't clean up idata when closing an open-append + mailbox. + + open-append borrows the idata just for the connection. The "mailbox + specific" part of the idata may be being used by a normal open- + mailbox. + + Don't free the idata "mailbox specific" part when closing an open- + append mailbox. + + Thanks to Will Yardley for discovering the bug as part of testing + the revised IMAP fetch_headers code (in the default branch). + +2017-05-22 05:08 -0700 TAKAHASHI Tamotsu (1ddf2641f369) + + * mx.c: Fix potential segv if mx_open_mailbox is passed an empty + string. (closes #3945) + + If path is "", ctx->path will be NULL. realpath() generally will + segv if the first parameter is NULL. + +2017-05-12 09:15 -0700 Kevin McCarthy (a97afb72d892) + + * imap/imap.c: Turn IMAP_EXPUNGE_EXPECTED back off when syncing. + (closes #3940). + + imap_sync_mailbox() turned on IMAP_EXPUNGE_EXPECTED when issuing a + EXPUNGE command during a sync. However, it forgot to turn it back + off. + + That meant that an unexpected EXPUNGE that occurred during a + mx_check_mailbox -> imap_check_mailbox() -> imap_cmd_finish() call + was not setting idata->check_status = IMAP_EXPUNGE_PENDING; and so + imap_check_mailbox() was not returning MUTT_REOPENED. + + This meant that although the Context had been changed, the index did + not run update_index(), resulting in a possible segfault. + + Thanks to Uroš Juvan for reporting the issue, and his invaluable + description of how to reproduce the problem. + +2017-05-05 13:55 -0700 Kevin McCarthy (71cb68efe98e) + + * curs_main.c: Don't modify LastFolder/CurrentFolder upon aborting a + change folder operation. + + Set LastFolder and CurrentFolder after mx_close_mailbox() has + successfully completed. Otherwise, if the close is aborted, they + will have incorrect values. + +2017-05-04 18:05 -0700 Kevin McCarthy (c08c72a0e24c) + + * mx.c: Fix sidebar count updates when closing mailbox. (closes #3938) + + The context unread and flagged counts were being updated too early + in mx_close_mailbox(). Cancelling at any of the following prompts + would leave them in an incorrect state. Additionally, $move could + increase the delete count (for flagged messages), and $delete, if + answered no, could turn off message deletion. + + Move all the sidebar buffy stat updating to the bottom of the + function, after all the prompts and processing. + +2017-04-30 15:20 -0700 Kevin McCarthy (829584614fd6) + + * headers.c: Refresh header color when updating label. (closes #3935) + + color index with a '~y' pattern were not being updated after + adding/removing labels. + +2017-04-30 14:24 -0700 Kevin McCarthy (c54ac874a32b) + + * init.c, init.h: Fix unused function warnings when sidebar is + disabled. (closes #3936) + + parse_path_list/unlist are currently only used by the + un/sidebar_whitelist commands. Add an ifdef around them to stop an + unused function warning. Add a comment too, so it's clear why they + are ifdef'ed. + +2017-04-30 13:32 -0700 Kevin McCarthy (deb66bd24b9d) + + * doc/manual.xml.head: Note that mbox-hooks are dependent on $move. + + Add a note to the "Using Multiple Spool Mailboxes" section. + +2017-04-27 21:22 -0700 Kevin McCarthy (b8952095b583) + + * curs_lib.c, keymap.c, mutt_curses.h: Fix km_error_key() infinite + loop and unget buffer pollution. + + 'bind pager \Ch help' produces an infinite loop when an unbound key + is pressed in the pager. The reason is because km_error_key() tries + to verify that the key sequence is really bound to the OP_HELP + operation. It does this by using km_expand_key(), + tokenize_unget_string() on the resulting buffer, then checking if + the next km_dokey() returns OP_HELP. + + The problem is that km_expand_key() does not always produce a string + that is properly reparsed by tokenize_unget_string(). Control-h + sequences are expanded to ^H. tokenize_unget_string() recognizes + this as two characters '^' and 'H'. km_error_key() checks the OP + returned, which is OP_PAGER_TOP for the '^'. This is not OP_HELP, so + it prints a generic error and returns. This leaves the 'H' in the + input buffer! Since 'H' (by default) is unbound in the pager, it + retriggers km_error_key(), resulting in an infinite loop. + + The same issues can occur without control sequences: bind generic ? + noop bind generic dq help In the index, hitting an unbound key will + end up leaving 'q' in the unget buffer, because 'd' is bound in the + index menu and will be read by km_dokey(). + + A simple approach to fix this would be to just use the same code as + in mutt_make_help(), which has no double-check. This would be no + worse than the help menu, but can generate an inaccurate error + message (e.g if '?' were bound to noop) + + This patch instead uses OP_END_COND as a barrier in the unget + buffer. It directly inserts the keys in the OP_HELP keymap, instead + of using km_expand_key() + tokenize_unget_string(). After calling + km_dokey() it flushes the unget buffer to the OP_END_COND barrier. + + Thanks to Walter Alejandro Iglesias for reporting the bug. + +2017-04-26 15:40 -0700 Roger Cornelius (9a0afe7815d1) + + * mx.c: Fix error message when opening a mailbox with no read + permission. (closes #3934) + + ctx->mx_ops ends up being NULL for both the case that ctx->magic is + 0 and -1. This meant the mutt_perror() error message was never being + printed, because the check for ctx->mx_ops == NULL was taking place + first. + + Move the "ctx->magic == -1" check first, so mutt will print out an + appropriate perror message in that case. + +2017-04-18 16:15 -0700 Kevin McCarthy (2c57a7b4dc0b) + + * .hgsigs: mutt-1.8.2 signed + +2017-04-18 16:14 -0700 Kevin McCarthy (455a698f274b) + + * .hgtags: Added tag mutt-1-8-2-rel for changeset c6ea4aed6bec + +2017-04-18 16:14 -0700 Kevin McCarthy (c6ea4aed6bec) + + * ChangeLog, UPDATING, VERSION: automatic post-release commit for + mutt-1.8.2 + 2017-04-18 12:25 -0700 Kevin McCarthy (33995363e723) * filter.c, init.c, pgp.c, protos.h: Fix GPG_TTY to be added to diff --git a/UPDATING b/UPDATING index 518a9c17a..39abdb0e6 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.8.3 (2017-05-30): + + ! Bug fix release. + 1.8.2 (2017-04-18): ! Bug fix release. diff --git a/VERSION b/VERSION index 53adb84c8..a7ee35a3e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.8.2 +1.8.3 -- 2.40.0