changeset: 6948:d897983752f9 user: Kevin McCarthy <ke...@8t8.us> date: Fri Feb 24 10:50:02 2017 -0800 link: http://dev.mutt.org/hg/mutt/rev/d897983752f9
automatic post-release commit for mutt-1.8.0 changeset: 6949:1672b430cbc3 user: Kevin McCarthy <ke...@8t8.us> date: Fri Feb 24 10:50:19 2017 -0800 link: http://dev.mutt.org/hg/mutt/rev/1672b430cbc3 Added tag mutt-1-8-rel for changeset d897983752f9 changeset: 6950:7cc47d82cac4 user: Kevin McCarthy <ke...@8t8.us> date: Fri Feb 24 10:55:23 2017 -0800 link: http://dev.mutt.org/hg/mutt/rev/7cc47d82cac4 mutt-1.8.0 signed changeset: 6951:f85c3eb8d065 user: Kevin McCarthy <ke...@8t8.us> date: Fri Feb 24 11:00:38 2017 -0800 link: http://dev.mutt.org/hg/mutt/rev/f85c3eb8d065 merge default into stable diffs (truncated from 90431 to 950 lines): diff -r 43e312cee971 -r f85c3eb8d065 .hgsigs --- a/.hgsigs Thu Feb 23 08:56:27 2017 -0800 +++ b/.hgsigs Fri Feb 24 11:00:38 2017 -0800 @@ -14,3 +14,4 @@ a4e83f60e42f80599e71df90bfc69db4704e5f97 0 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 diff -r 43e312cee971 -r f85c3eb8d065 .hgtags --- a/.hgtags Thu Feb 23 08:56:27 2017 -0800 +++ b/.hgtags Fri Feb 24 11:00:38 2017 -0800 @@ -106,3 +106,4 @@ a4e83f60e42f80599e71df90bfc69db4704e5f97 mutt-1-7-rel 0ce5f9bff1fdfe86c91109312329c7e8849b347b mutt-1-7-1-rel 99f5624d1f52ac1e9ddd55867c07b07e3bdd4fd7 mutt-1-7-2-rel +d897983752f908dde07f84bada213f1b911ecf78 mutt-1-8-rel diff -r 43e312cee971 -r f85c3eb8d065 ChangeLog --- a/ChangeLog Thu Feb 23 08:56:27 2017 -0800 +++ b/ChangeLog Fri Feb 24 11:00:38 2017 -0800 @@ -1,3 +1,1706 @@ +2017-02-23 08:56 -0800 TAKAHASHI Tamotsu <tta...@lapis.plala.or.jp> (43e312cee971) + + * po/ja.po: Updated Japanese translation. + +2017-02-22 15:58 -0800 Benno Schulenberg <i...@benno.vertaalt.nl> (3e1d26df748e) + + * po/nl.po: Updated Dutch translation. + +2017-02-22 12:58 -0800 Benno Schulenberg <i...@benno.vertaalt.nl> (4b445c73fc77) + + * po/eo.po: Updated Esperanto translation. + +2017-02-22 12:50 -0800 Kevin McCarthy <ke...@8t8.us> (5b68a3022b82) + + * UPDATING, doc/manual.xml.head, init.h: Minor touchups to + documentation and UPDATING file. + +2017-02-19 18:51 -0800 Kevin McCarthy <ke...@8t8.us> (715c276641c6) + + * doc/manual.xml.head: Mention $XDG_CONFIG_HOME/mutt/ in the manual. + +2017-02-19 18:30 -0800 Kevin McCarthy <ke...@8t8.us> (1575671b3c60) + + * UPDATING: Reword some of the UPDATING entries. + + Thanks to Matthias Andree for his feedback and suggestions! + +2017-02-18 15:15 -0800 Kevin McCarthy <ke...@8t8.us> (e4a5d1913e42) + + * UPDATING: Add 1.8.0 entries to the UPDATING file. + +2017-02-18 21:30 +0000 Athanasios Douitsis <aduit...@gmail.com> (943b281abfbb) + + * getdomain.c: Prevent null pointer exception for h->ai_canonname + + The getaddrinfo call in line 54 sets &h to a struct addrinfo. If a + canonical name cannot be found for the node argument of getaddrinfo, + h->ai_canonname is set to NULL. In that case, the strchr call in + line 58 can lead to segfault. This behavior was observed on a macos + sierra while the hostname was 192.168.1.3 (unfortunately this + happens quite often in macos). + + The fix is simple, just check h->ai_canonname for the NULL value. + +2017-02-17 20:02 -0800 Ivan Vilata i Balaguer <i...@selidor.net> (9b7780b48f47) + + * po/ca.po: Updated Catalan translation. + +2017-02-16 12:44 -0800 Vsevolod Volkov <v...@mutt.org.ua> (27ee126fb9c5) + + * po/ru.po: Updated Russian translation. + +2017-02-16 12:41 -0800 Vsevolod Volkov <v...@mutt.org.ua> (ed569b004aef) + + * po/uk.po: Updated Ukrainian translation. + +2017-02-16 11:22 -0800 Morten Bo Johansen <m...@spamcop.net> (20eccc63e008) + + * po/da.po: Updated Danish translation. + +2017-02-13 12:26 -0800 Petr Pisar <petr.pi...@atlas.cz> (519a8c8cc55c) + + * po/cs.po: Updated Czech translation. + +2017-02-12 13:03 -0800 Matthias Andree <matthias.and...@gmx.de> (cec61c6926ea) + + * mutt_ssl.c: Show SHA1 fp in interactive cert check menu. + + While here, fix a few compiler warnings about sign mismatch in + comparison. + +2017-02-12 12:24 -0800 Kevin McCarthy <ke...@8t8.us> (2350d7d61b34) + + * mutt_ssl.c: Fix potential cert memory leak in + check_certificate_by_digest(). + + Thanks to Matthias Andree's debugging, it appears the cert is not + freed when PEM_read_X509() encounters EOF. Change the return value + check to not overwrite cert. It is already updated via the second + parameter. + +2017-02-12 09:59 -0800 Matthias Andree <matthias.and...@gmx.de> (48a1f145c269) + + * mutt_ssl.c: Plug memory leak in weed-expired-certs code. + + X509_STORE_add_cert() creates a copy of the certificate we're + offering, so we need to free our copy afterwards. This isn't + documented, but from observed behaviour in OpenSSL 1.0.2 and its + master branch source code. + + Change PEM_read_X509() call to reuse cert to avoid free/reallocation + overhead. + +2017-02-12 09:59 -0800 Kevin McCarthy <ke...@8t8.us> (2632bc4f5b20) + + * mutt_ssl.c: Filter expired local certs for OpenSSL verification. + + OpenSSL has trouble establishing the chain and verifying when + duplicate expired certs are loaded in from $certificate_file. A + warning about this is mentioned in + SSL_CTX_load_verify_locations(3SSL). + + Filter out expired certs when loading verify certs. Note that the + full certicates file is still used for verification in + check_certificate_by_digest(). + +2017-02-10 13:01 -0800 Kevin McCarthy <ke...@8t8.us> (7c97a8af8718) + + * alias.c, group.c, hash.c, hash.h, headers.c, imap/message.c, init.c, + mh.c, mx.c, pop.c, thread.c: Change "allow_dups" into a flag at hash + creation. + + Instead of having an "allow_dups" parameter for hash_insert(), add a + flag, MUTT_HASH_ALLOW_DUPS, to hash_create(). + + Currently ReverseAlias, subj_hash, and thread_hash allow duplicate + keys. Change those hashes to pass the flag at creation, and remove + the last parameter from all callers of hash_insert(). + +2017-02-10 12:56 -0800 Petr Pisar <petr.pi...@atlas.cz> (e2b186a92390) + + * po/cs.po: Updated Czech translation. + +2017-02-10 12:51 +0100 Vincent Lefevre <vinc...@vinc17.net> (a4449ebfb5f4) + + * po/fr.po: Updated French translation. + +2017-02-08 07:48 -0800 Kevin McCarthy <ke...@8t8.us> (d215a36fd8ee) + + * hcache.c: Fix build for bdb. + + Changeset fca7e504ab6a removed #else/#endif around two blocks of + code that won't compile with bdb enabled. Restore those directives. + + Thanks to Richard Russon for pointing out the problem and saving me + from having egg all over my face with the 1.8 release! + +2017-02-07 19:36 -0800 Kevin McCarthy <ke...@8t8.us> (09bb4a62ceb1) + + * hcache.c, hcache.h, imap/imap.c, imap/message.c, imap/util.c, mh.c, + pop.c: Create function to free header cache data. + + Kyoto Cabinet documents that data from it should be freed via + kcfree(). + + LMDB claims ownership of the data returned, so convert its free + operation to be a noop and remove the malloc from its fetch + function. + +2017-02-07 19:36 -0800 Kevin McCarthy <ke...@8t8.us> (52481ceb6c6e) + + * configure.ac, doc/manual.xml.head, hcache.c, init.h, mutt.h: Add + Kyoto Cabinet support to the header cache. + + Retain the defaults as they are, although we might switch to Kyoto + Cabinet for the next major release. + +2017-02-04 12:53 -0800 Kevin McCarthy <ke...@8t8.us> (fca7e504ab6a) + + * hcache.c: Fixes to the LMDB header cache. (closes #3691) + + Use mdb_txn_abort() to free up readonly/reset transactions, and + avoid leaking memory. + + Fix hcache_delete() key generation - looks like this was an + incorrect copy/paste from the bdb code. + + Use dprint, not fprintf, for debugging messages. + + Remove strange blending of enum and bitfield logic for the txn_mode + state. + + Remove some duplicate code from store/fetch raw. + +2017-02-04 12:53 -0800 Kevin McCarthy <ke...@8t8.us> (42aa8b19da95) + + * configure.ac, hcache.c: Add LMDB backend support for header cache. + (see #3691) + + Based on the original from JP Mens: + https://gist.github.com/jpmens/15969d9d678a3d450e4e + + The following performance patch was manually applied on top of the + original patch: https://github.com/neomutt/neomutt/commit/7e5380cd4c + 40d119ff83b2cf5f51f2cdb8a95ab3 + + A variant of this patch was added to handle larger mailboxes: https: + //github.com/neomutt/neomutt/commit/6d337642e701b1dde4b5d0812e01c85f + 41ba65ca + + Thanks to all the developers and contributors to this patch, and to + Fabian Groffen for bundling and posting this to mutt-dev. + +2017-01-31 15:02 -0800 Kevin McCarthy <ke...@8t8.us> (142a87f0c855) + + * enter.c: Minor fix to ~y completion. + + Make sure the entire ~y is before curpos when enabling completion. + +2017-01-31 14:27 -0800 Kevin McCarthy <ke...@8t8.us> (82034c72b6da) + + * enter.c, init.c, protos.h: Simplify mutt_label_complete(). + + It was derived from mutt_command_complete(), which had more complex + requirements. For labels, we just need to skip whitespace and + complete based on the passed in buffer. + + Therefore, we don't need the pos parameter, or to work backwards + from the end of the buffer. + +2017-01-31 14:27 -0800 Kevin McCarthy <ke...@8t8.us> (298654f1d70c) + + * enter.c: Permit tab completion of pattern expressions with ~y + (labels). + + Thanks to David Champion for the original patch. This version is + slightly different, as I couldn't get the original patch working. + This version simply scans backward for the first ~, and if it is ~y, + invokes completion. + +2017-01-31 14:27 -0800 Kevin McCarthy <ke...@8t8.us> (9ca99f2b1205) + + * enter.c: Fix the mutt_label_complete() pos parameter. + + i is the state->wbuf index, not the end of the buf. It was "working" + only because the contents of buf past the null were not "space" most + of the time. + +2017-01-29 11:02 -0800 Kevin McCarthy <ke...@8t8.us> (ab2f8882633b) + + * copy.c: Fix the x-label update code check location. + + The x-label comparison was outside the "beginning of header" block. + + This meant that it could theoretically match a continuation line. + Additionally, the continuation lines of x-labels would not be + stripped, because the comparison was after the ignore variable was + reset. + + Move the comparison inside the block and before the ignore reset. + +2017-01-28 18:48 -0800 Kevin McCarthy <ke...@8t8.us> (d0909785d945) + + * curs_main.c, globals.h, headers.c, init.c, main.c, mbox.c, mutt.h, + mx.c, pop.c, protos.h: Improve the label completion hash table + usage. + + Move the hash table inside the Context. Hook message + arrival/deletion to update the label hash. + + Change the label hash to strdup keys. + + Use hash_find_elem when updating the counter, to reduce unnecessary + add/delete operations. + +2017-01-28 18:47 -0800 David Champion <d...@bikeshed.us> (66cc205ea76a) + + * curs_main.c, doc/manual.xml.head, enter.c, globals.h, headers.c, + init.c, main.c, mutt.h, protos.h: Adds label completion. + + A global label hash is added, to which labels are added as they're + parsed from a mailbox file or edited manually by the user. Reference + counts are kept in the hash table so that unused labels are removed + from available completions. Completion is available in the label + editor only, but it may be feasible to add for search expressions if + the preceding text ends with '~y'. + +2017-01-28 18:47 -0800 Kevin McCarthy <ke...@8t8.us> (51c5e574a082) + + * hash.c, hash.h: Add hash_find_elem to get the hash element. + + This will be used in the following patch for directly manipulating + the label counter. + +2017-01-28 18:47 -0800 David Champion <d...@bikeshed.us> (169b67b5b666) + + * hash.c, hash.h: Add reentrant hash_walk() function for iterating + down a hash table. + +2017-01-28 18:47 -0800 Kevin McCarthy <ke...@8t8.us> (95b892b3f856) + + * commands.c, copy.c, curs_main.c, functions.h, headers.c, pager.c: + Minor fixes to the x-label patch from David. + + Add L10N comment to sort menu. Mark a couple strings for + localization. + + Use ascii_strncasecmp() for the X-Label header comparison. + + Simplify label_message() using mutt library routines. + + Bind label editing to "Y" instead of "y". "y" is already used in the + default sample muttrc to display mailboxes. + +2017-01-28 18:47 -0800 David Champion <d...@bikeshed.us> (67525605640e) + + * OPS, commands.c, copy.c, copy.h, curs_main.c, doc/manual.xml.head, + functions.h, headers.c, imap/imap.c, init.h, mh.c, mutt.h, pager.c, + protos.h, sort.c, sort.h: Adds capability to edit x-labels inside + mutt, and to sort by label. + +2017-01-24 15:33 -0800 Kevin McCarthy <ke...@8t8.us> (e4ad1dc9bfbd) + + * doc/manual.xml.head, init.c: Allow "unsubjectrc *" to remove all + patterns. + + Thanks to Aaron Schrab for the original patch. + +2017-01-23 19:01 -0800 David Champion <d...@bikeshed.us> (9e876d64d3c8) + + * doc/manual.xml.head, globals.h, hdrline.c, init.c, init.h, mutt.h, + muttlib.c: Add subjectrx command to replace matching subjects with + something else. + + This lets you define regular expressions-replacement pairs for + subject display. When a Subject: matches the regular expression, the + replacement value will be displayed instead in the message index. + Backreferences are supported. + + This is especially nice for simplifying subjects that are overly + wordy, such as mailing list posts (with [Listname] tags, etc), mail + from ticketing systems or bug trackers, etc. It lets you reduce + clutter in your mutt display without altering the messages + themselves. + +2017-01-23 19:01 -0800 David Champion <d...@bikeshed.us> (f05df6b258f3) + + * globals.h, hcache.c, init.c, mutt.h, muttlib.c, protos.h: Abstract + the SPAM_LIST as a generic REPLACE_LIST + + REPLACE_LIST can be used more generally as a list of pattern match- + replace settings. SPAM_LIST was a special case of this, so spam + handling has been been changed to use REPLACE_LIST instead, and + SPAM_LIST was removed. + + A generic function for performing a REPLACE_LIST replacement has + been added in mutt_apply_replace(). + + Commited by Kevin McCarthy with some buffer overflow fixes in + mutt_apply_replace(). + +2017-01-23 18:46 -0800 Kevin McCarthy <ke...@8t8.us> (7a8ea1bb09f0) + + * send.c: Improve Reply-to vs From comparison when replying. (closes + #3909) + + Prior to this patch, if the Reply-to mailbox matched the From + mailbox, mutt would always use the From address. This was probably + done to preserve the display name, as the Reply-to address is often + missing one. + + Unfortunately, there are circumstances where the Reply-to display- + name has significance, such as in ticket 3909. + + Change mutt so that it only uses the From address if the Reply-To + has no display-name. + +2017-01-19 14:58 -0800 Kevin McCarthy <ke...@8t8.us> (b57c695b7923) + + * doc/manual.xml.head, init.h, sidebar.c, sort.h: Fix sidebar + references to the "new count" to be "unread". (closes #3908) + + %N in $sidebar_format and "new"in $sidebar_sort_method actually use + the unread message count. Update the documentation to mention that. + + Add an "unread" method to $sidebar_sort_method, but preserve "new" + for compatibility. + + Change the SORT_COUNT_NEW constant to SORT_UNREAD, so the code is + also consistent with the meaning. + + Thanks to cri for reporting the problem and suggesting where to fix + it in the code. + +2017-01-17 16:09 -0800 Kevin McCarthy <ke...@8t8.us> (a555ada578b8) + + * addrbook.c, alias.c, init.c: Fix several alias hashtable issues. + + Convert to use the strdup keys hash. Addresses can be converted back + and forth from intl to local forms. This frees and recreates a new + addr->mailbox string, resulting in the hash table key being a + dangling pointer. + + Change alias hash table insert/remove to ensure the address is in + intl form. The alias menu (previously) converted address entries to + local form when performing a completion. Even with the pointer issue + fixed, the entries may not be removed from the hash if the intl and + local forms are different. + + Lastly, there is no reason for the alias menu to manually convert to + local form before writing the address to the output buffer. + rfc822_write_address() has a display parameter that will call + mutt_addr_for_display() instead when set. Change to set the display + parameter and remove the conversion calls. + + This last change obviates the first two changes, but they are a good + idea in any case. + +2017-01-17 16:09 -0800 Kevin McCarthy <ke...@8t8.us> (fc6990144167) + + * hash.c, hash.h, init.c: Add casecmp and strdup_key flags to + hash_create() + + Aliases and (in the future), X-Label hashes will require a hash that + strdups the key. Convert the casecmp parameter of hash_create() to a + flags parameter, and add a flag to strdup the keys. + +2017-01-15 10:00 -0800 Kevin McCarthy <ke...@8t8.us> (ac1a2af3aff4) + + * mx.c: Improve error handling in mbox magic detection. + + Thanks to Simon Ruderich for pointing out several small issues with + the previous commit. + +2017-01-14 19:18 -0800 David Champion <d...@bikeshed.us> (945a3f4b15c7) + + * mx.c: Allow initial blank lines in local mailboxes. + + Some mailbox-creation tools erroneously append a blank line to a + file before appending a UNIXv7-format mail message, resulting in + mailboxes that are intended to be valid "mbox" folders but are not. + Notably old versions of Mailman do this, making archive files that + cannot be read by mutt. + + This patch causes mutt to skip leading NLs and CRs when detecting + magic. + +2017-01-10 14:48 -0800 Simon Ruderich <si...@ruderich.org> (79306170e367) + + * doc/manual.xml.head, doc/muttrc.man.head: Fix minor documentation + issues. + + manual.xml: Wrap line for clarity. + + muttrc.man: Remove superfluous spaces in brackets. Add missing error + object in color command. Sort the prompt object. Add sidebar color + objects. + +2017-01-06 14:37 -0800 Kevin McCarthy <ke...@8t8.us> (7c0e7a0769e4) + + * imap/command.c: Convert cmd_parse_search to use the uid hash. + (closes #3905) + + Replace the linear scan for each result with a hash lookup. This + should greatly improve performance for large mailboxes. + +2017-01-06 14:23 -0800 Kevin McCarthy <ke...@8t8.us> (1ad1013cbf5b) + + * imap/imap.c, imap/imap_private.h, imap/message.c: Create a uid hash + for imap. (see #3905) + + This hash will allow for more efficient UID SEARCH processing, + replacing a linear scan with a hash lookup. + +2017-01-06 14:17 -0800 Kevin McCarthy <ke...@8t8.us> (ebb93147aec7) + + * hash.c, hash.h, thread.c: Convert HASH to be indexable by unsigned + int. (see #3905) + + Convert the HASH to be usable for either string or unsigned int + keys, so that a uid hash can be added for imap. + + To keep hash-usage code disruption to a minimum, this introduces new + create/insert/find/delete functions for the int hash, but keeps the + old function names for string keys. + + This implementation makes the key a union. It may have been a better + idea to introduce a whole new structure, but this way allows minimum + changes to and maximum reuse of the existing hash code. + +2017-01-04 19:45 -0800 Kevin McCarthy <ke...@8t8.us> (4f0a84b954ef) + + * imap/command.c: Fix imap server-side search to call uid2msgno() only + once. (see #3905) + + After performing a UID SEARCH, the results are parsed in + cmd_parse_search(). This was accidentally calling uid2msgno() twice. + Since that function does a linear search, this has a noticable + impact on large search results. + +2017-01-02 18:08 -0800 Kevin McCarthy <ke...@8t8.us> (23b02a482bde) + + * curs_main.c, hook.c, mutt.h, pattern.c, protos.h, score.c: Add a + pattern_cache_t to speed up a few repeated matches. + + Vincent Lefèvre reported experiencing an index display performance + issue. This occurred with messages containing many recipients. He + had many index color lines containing ~l. The ~l ended up being run + over and over on these messages, resulting in a noticable slowdown + displaying the index. + + This patch adds caching for just a few of the pattern operations + (~l, ~u, ~p, ~P) that are potentially expensive and also don't have + arguments. The caching is only enabled for operations repeatedly + matching against the same message: color, hooks, scoring. + + The caching is fairly targeted, but isn't that invasive or + complicated. + +2016-12-31 19:57 -0800 Kevin McCarthy <ke...@8t8.us> (2bc2ec9ac664) + + * crypt-gpgme.c: Canonicalize line endings for GPGME S/MIME + encryption. (closes #3904) + + This matches the behavior for S/MIME classic mode: OpenSSL converts + the line endings to cr/lf before encrypting. Although Mutt always + canonicalizes the line endings before verifying the signature, some + clients do not do this for encrypted messages. + + Thanks to cooler for the patch! + +2016-12-27 15:23 -0800 Kevin McCarthy <ke...@8t8.us> (4cb0cd767af2) + + * globals.h, hdrline.c, init.h, status.c: Make to_chars and + status_chars accept mulitibyte characters. (closes #3024) + + Change Tochars and StChars to use the mbchars_table type introduced + in the last commit. + +2016-12-27 15:23 -0800 Kevin McCarthy <ke...@8t8.us> (1d054932abfb) + + * doc/makedoc.c, init.c, init.h, mutt.h: Create mbchar_table type for + multibyte character arrays. (see #3024) + + This type is to allow multibyte characters in to_chars and + status_chars while preserving efficient indexing to each character. + + The arrays are tokenized during initialization, and are re-tokenized + as the values are unset, reset, and set. + +2016-12-25 23:31 +0100 Vincent Lefevre <vinc...@vinc17.net> (1303567a6ad1) + + * doc/manual.xml.head: In the manual, replaced 2 para by example + (similar to the first example). + +2016-12-13 12:19 -0800 David Champion <d...@bikeshed.us> (b112fd7061fb) + + * curs_main.c, init.h, mutt.h: Add option to control whether threads + uncollapse when new mail arrives. + + Adds $uncollapse_new: when set, the default, a collapsed thread into + which a new message arrives will be uncollapsed to reveal the new + message. + +2016-12-13 12:02 -0800 Richard Russon <r...@flatcap.org> (1f04f9145eb1) + + * OPS: Remove unused OPS + + OP_MAIN_FIRST_MESSAGE and OP_MAIN_LAST_MESSAGE were added to the + code 19 years ago. They weren't used then; they haven't been used + since. + +2016-12-13 11:16 -0800 Michał Kępień <m...@kempniu.pl> (b985c324932b) + + * mutt_ssl.c: Rework OpenSSL certificate verification to support + alternative chains. (closes #3903) + + The way Mutt currently verifies SSL certificates using OpenSSL does + not support alternative chains, which may cause confusion when some + popular mail providers (e.g. Gmail) are used with specific sets of + trusted CA certificates. + + Replace the "manual" verification done by mutt in + check_certificate_by_signer() with SSL_set_verify() using a + callback. OpenSSL then does the certificate verification, including + properly looking at alternative chains. The callback still provides + the opportunity to override using ~/.mutt_certificates or an + interactive prompt. + +2016-12-11 18:56 -0800 David Champion <d...@bikeshed.us> (8a23708d978b) + + * doc/manual.xml.head, init.c, init.h, main.c, system.c: Add + setenv/unsetenv commands. + + These can be used to add and remove environment variables passed to + children via mutt_system(). + + Commited by Kevin McCarthy with some cleanup. + +2016-12-06 19:07 -0800 Kevin McCarthy <ke...@8t8.us> (df1d1e379477) + + * doc/manual.xml.head: Move '@' pattern modifier documentation to the + right section. + + Somehow, the patch got out of date and the documentation shifted to + another section. Relocate back to the "Pattern Modifier" section. + +2016-12-04 16:04 -0800 Kevin McCarthy <ke...@8t8.us> (d930e39ec095) + + * merge stable + +2016-12-04 16:03 -0800 Kevin McCarthy <ke...@8t8.us> (b9d34372a940) + + * .hgsigs: mutt-1.7.2 signed + +2016-12-04 16:01 -0800 Kevin McCarthy <ke...@8t8.us> (954f9049e4b3) + + * .hgtags: Added tag mutt-1-7-2-rel for changeset 99f5624d1f52 + +2016-12-04 16:01 -0800 Kevin McCarthy <ke...@8t8.us> (99f5624d1f52) + + * ChangeLog, UPDATING, VERSION: automatic post-release commit for + mutt-1.7.2 + +2016-12-04 15:41 -0800 Kevin McCarthy <ke...@8t8.us> (a17189b58284) + + * crypt-gpgme.c, mutt_ssl.c: merge stable + +2016-11-26 00:57 +0100 Vincent Lefevre <vinc...@vinc17.net> (a0a970530a8b) + + * crypt-gpgme.c, crypt-gpgme.h, crypt-mod-pgp-gpgme.c: Fix build + failure with GPGME 1.8: do not steal the gpgme_ prefix. + +2016-11-19 19:35 -0800 Kevin McCarthy <ke...@8t8.us> (10c4761cea89) + + * mutt_ssl.c: More openssl1.1 fixes: remove uses of X509->name in + debugging. (closes #3870) + + X509->name was a shortcut for the longer name = X509_NAME_oneline + (X509_get_subject_name (cert), buf, sizeof (buf)); invocation. + Change the debugging to print the cert name and chain names in the + ssl_check_certificate() loop instead. + +2016-09-07 20:00 -0700 TAKAHASHI Tamotsu <tta...@lapis.plala.or.jp> (2c1d79d3edd5) + + * configure.ac, mutt_ssl.c: Fix openssl 1.1 compilation issues. + (closes #3870) + + With these changes, Mutt will no longer compile for versions less + than 0.9.6. + +2016-12-03 15:24 -0800 Kevin McCarthy <ke...@8t8.us> (d6c10244793f) + + * sidebar.c: Change sidebar_spoolfile coloring to be lower precedence. + + Give sidebar_new and sidebar_flagged higher precedence than + sidebar_spoolfile, so that new and flagged message colors will show + up for the spoolfile in the sidebar. + + Thanks to Till Smejkal for the original patch. + +2016-11-29 17:48 -0800 Kevin McCarthy <ke...@8t8.us> (d72caeecf4af) + + * curs_main.c: Return to pager upon aborting a jump operation. (closes + #3901) + +2016-11-29 17:44 -0800 Kevin McCarthy <ke...@8t8.us> (1196c859942e) + + * lib.h, mutt_ssl.c: Add mutt_array_size macro, change + interactive_check_cert() to use it. (see #3899) + + While I have reservations about the construct, it does make the + interactive_check_cert() menu->max and part loop less fragile. + +2016-11-29 17:44 -0800 Kevin McCarthy <ke...@8t8.us> (1a2dc7b21b5b) + + * mutt_ssl.c: Improve openssl interactive_check_cert. (closes #3899) + + Don't use X509_NAME_oneline() with a fixed size buffer, which could + truncate the string, perhaps leaving off the CN field entirely. + Instead, work directly off the X509_NAME. + + Rather than use strstr to tokenize it, call + X509_NAME_get_text_by_NID() with the nid types. Although + X509_NAME_get_text_by_NID() is "legacy", it is the most directly + useful for mutt in this simple interactive prompt. + + The function was set up to include the ST and C fields in the + prompt, but the loop limit was too low. I believe this was an + oversight, so increase the loop to include those two fields. + +2016-11-26 00:57 +0100 Vincent Lefevre <vinc...@vinc17.net> (84ad86e8b8ab) + + * crypt-gpgme.c, crypt-gpgme.h, crypt-mod-pgp-gpgme.c: Fix build + failure with GPGME 1.8: do not steal the gpgme_ prefix. + +2016-11-22 03:48 +0100 Vincent Lefevre <vinc...@vinc17.net> (b22c5d0e299d) + + * mutt_ssl.c: Corrected comment. + +2016-11-21 18:03 -0800 Kevin McCarthy <ke...@8t8.us> (65f180f2904f) + + * mutt_ssl.c: Revert db13010a2e8d but add a comment. (see #3870) + + X509_NAME_oneline() always NULL-terminates the string, even when it + has to truncate the data to fit in buf. + +2016-11-21 23:10 +0100 Vincent Lefevre <vinc...@vinc17.net> (db13010a2e8d) + + * mutt_ssl.c: Make sure that the output of X509_NAME_oneline is null- + terminated. + +2016-11-20 16:19 -0800 Kevin McCarthy <ke...@8t8.us> (c770d2fa615b) + + * mutt_tunnel.c: Minor resource and error logic cleanup in + tunnel_socket_open() + + Free the conn->sockdata on failure. conn->fd is not set until the + bottom, and before it is set, conn->conn_close() will not be called. + + Close the pin pipe if the pout pipe fails. + + Call mutt_perror first on a fork failure. Calling after the close() + may cause errno to be changed on a close failure. + +2016-11-20 16:19 -0800 Kevin McCarthy <ke...@8t8.us> (b319ec2dc93a) + + * mutt_tunnel.c: Don't close stderr when opening a tunnel. (closes + #3726) + + Instead of closing stderr, redirect it to /dev/null in + tunnel_socket_open(). Otherwise a program can accidentally open a + file into handle 2 and then unknowingly use that when trying to + print to stderr. + + Thanks to lotheac for the original patch, which I just modified + slightly. + +2016-11-19 19:35 -0800 Kevin McCarthy <ke...@8t8.us> (695243ba6374) + + * mutt_ssl.c: More openssl1.1 fixes: remove uses of X509->name in + debugging. (closes #3870) + + X509->name was a shortcut for the longer name = X509_NAME_oneline + (X509_get_subject_name (cert), buf, sizeof (buf)); invocation. + Change the debugging to print the cert name and chain names in the + ssl_check_certificate() loop instead. + +2016-11-20 01:41 +0100 Vincent Lefevre <vinc...@vinc17.net> (d14ffd58d976) + + * po/fr.po: Updated French translation. + +2016-11-18 15:54 -0800 Kevin McCarthy <ke...@8t8.us> (4bed0172c27b) + + * OPS, curs_main.c, functions.h: Fix mark-message translation and + keybind menu. + + Move the OP_MARK_MESSAGE and hotkey macro from MENU_GENERIC to the + MENU_MAIN keymap. Putting the macro under generic prevents it from + overriding a keybinding in the index (even if the function is bound + to noop). Additionally, the macro can only be executed from the + index, so it doesn't make sense as a generic keybinding. + + Use the term "hotkey" in both the OPS and km_bind description. + + Mark the km_bind description translatable. + + Add L10N messages for the new translation strings. + +2016-11-18 14:20 -0800 Kevin McCarthy <ke...@8t8.us> (46194ca48b2f) + + * compress.c: Improve two compress translation messages. + + Change the "Error executing" to "Error running", which is used in + multiple places elsewhere in mutt. This also removes the unnecessary + newline. + + Remove the leading space in the "Error compressing" message, and + change it to match the error message in editmsg.c. + +2016-11-18 18:17 +0100 Vincent Lefevre <vinc...@vinc17.net> (174062d0abed) + + * po/fr.po: Updated French translation. + +2016-11-18 17:00 +0100 Vincent Lefevre <vinc...@vinc17.net> (8fa4965beb62) + + * curs_main.c: Make a string translatable. + +2016-11-18 16:59 +0100 Vincent Lefevre <vinc...@vinc17.net> (c15cacbfabe5) + + * smime.c: Make a string translatable. Add a missing space at the end. + +2016-11-18 13:07 +0100 Vincent Lefevre <vinc...@vinc17.net> (c1befb06b4bd) + + * po/fr.po: Updated French translation (except for 1 string). + +2016-11-18 12:32 +0100 Vincent Lefevre <vinc...@vinc17.net> (211afb39a22a) + + * INSTALL: Updated requirement on the C compiler. + +2016-11-17 17:54 -0800 Kevin McCarthy <ke...@8t8.us> (fa32396b5e26) + + * init.c: Revert changes made to mutt_find_cfg() in 3c6d322912e3 + + The usage of MUTT_VERSION in mutt_find_cfg() was fine before the + commit: it wasn't using MUTT_VERSION inlined into a string with + format string substitution. + + Revert to the version of mutt_find_cfg() before that changeset. + +2016-11-17 15:57 -0800 David Champion <d...@bikeshed.us> (022b604bc46d) + + * OPS, curs_main.c, doc/manual.xml.head, functions.h, globals.h, + init.h: Adds <mark-message> binding to create "hotkeys" for + messages. + + <mark-message>foo<enter> will create a new macro "'foo" which will + return to the current message by searching for that message's + message id. The initial character of the macro is defined by + $mark_macro_prefix, and defaults to "'" for verisimilitude vs. vi. + + Pushed by Kevin McCarthy with a minor fix. + +2016-11-17 15:07 -0800 Kevin McCarthy <ke...@8t8.us> (3c6d322912e3) + + * commands.c, compose.c, dotlock.c, init.c, muttlib.c, status.c: + Backout inlining of MUTT_VERSION in 42fee7585fae. + + If MUTT_VERSION contains a %, this will result in problems. + +2016-11-16 16:05 -0800 David Champion <d...@bikeshed.us> (91b3449f426b) + + * doc/manual.xml.head, mutt.h, pattern.c: Adds the '@' pattern + modifier to limit matches to known aliases. + + Example: ~f joe matches messages from joe. @~f joe matches messages + from any joe who is defined as an alias. + + Pushed by Kevin McCarthy with two minor cosmetic fixes. + +2016-11-16 15:43 -0800 David Champion <d...@bikeshed.us> (03aa03293c1d) + + * flags.c, init.h, mh.c, mutt.h: When $flag_safe is set, flagged + messages cannot be deleted. + + This saves them from bulk operations on threads and tagged messages. + To remove a flagged message, first unflag it. + +2016-11-15 12:04 -0800 Kevin McCarthy <ke...@8t8.us> (5382e1e4cee1) + + * muttbug.sh.in: Fix muttbug to check $XDG_CONFIG_HOME. + + Fall back to $HOME/.config if $XDG_CONFIG_HOME is not set. + +2016-11-15 12:03 -0800 Kevin McCarthy <ke...@8t8.us> (0ef0f4d15f75) + + * init.c: Fix loop terminator in in mutt_find_cfg(). + + Keep searching even if home is NULL. + +2016-11-14 11:02 -0800 Kevin McCarthy <ke...@8t8.us> (c78753f98e34) + + * doc/makedoc-defs.h: Ensure the compressed documentation is always + built. + + Add USE_COMPRESSED to makedoc-defs.h so any conditional + documentation will always be built. + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (99a3ff6555d9) + + * compress.c: Compress: check mailbox type if possible when appending. + + If an append hook isn't defined, then mutt has to decompress the + mailbox. In that case, we can check the type of the decompressed + mailbox instead of defaulting to DefaultMagic. + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (cad0051417eb) + + * compress.c, doc/manual.xml.head: Compress: escape single quotes when + invoking the compress/decompress commands. + + The format strings are placed in single quotes. mutt_system() + invokes sh, so escape the single quotes using bourne-shell syntax: + '\'' + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (a51f1c8a038a) + + * compress.c: Compress: fix check_mailbox and sync_mailbox. + + Change check_mailbox to delegate to the child_ops->check_mailbox if + the compressed mailbox has changed. This allows the mailbox to + properly recover if both the decompressed mailbox and compressed + file have changed. + + Change sync_mailbox to call check_mailbox before attempting to sync. + This will prevent overwriting external changes to the compressed + mailbox. + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (0a7054904b5b) + + * compress.c, compress.h, imap/imap.c, mbox.c, mh.c, mutt.h, mx.c, + mx.h, pop.c, pop.h: Create mx_ops.sync operation. Refactor compress + to use the mx_ops.sync. + + Change compress.sync_mailbox() to lock the compressed mailbox around + both the tempfile sync and compress operations. This will prevent + changes made inbetween the two syncs from being overwritten. + + Thanks to Damien Riegel for his original patch refactoring + mx_ops.sync, which this patch is partially based upon. + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (05f6bd8532ea) + + * compress.c: Compress: pull the lock/unlock operations into the + open,close,sync operations. + + Some operations, such as open_append and sync, need an exclusive + lock across a longer period than a single compress/decompress. + Remove it from the execute_command and pull into the outer callers. + Store lock information inside compress_info. + + Sync and check_mailbox need more fixes, which will be addressed in + subsequent patches. + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (b1366f49c7b7) + + * compress.c: Compress: safe_fopen() the tempfile, to prevent tempfile + attacks. + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (7c055cc893dc) + + * compress.c: Compress: add delegate calls to open_append and close + mx_ops functions. + + The open_append and close were partially duplicating mbox + open_append and close operations internally. Change it to call the + actual delegate functions instead. + + Inline the open_read() function inside open_mailbox(). Having it + split improved nothing and just complicated the code (i.e. added + error-handling checks in open_mailbox() that in reality could not + fail). + +2016-11-13 20:02 -0800 Kevin McCarthy <ke...@8t8.us> (d1ff983c9bcb) + + * compress.c, compress.h, mx.c: Compress: fix several logic and memory + bugs. + + setup_paths leaks memory: realpath is already set in + mx_open_mailbox()