2016-11-26 00:57 +0100 Vincent Lefevre (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 (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 (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-10-23 14:46 -0700 Kevin McCarthy (c6704c7f8e23) * pager.c: Fix pager segfault when lineInfo.chunks overflows. (closes #3888) The reporter had an html attachment with extremely long lines, combined with a color pattern of "color body default default ." This overflowed the lineInfo.chunks, causing a segfault. Abort the body color patterns if this happens. 2016-10-23 13:43 -0700 Kevin McCarthy (a8203b4463c1) * date.c: Prevent an integer overflow in mutt_mktime() (closes #3880) Check to make sure the year passed in isn't bigger than can be represented using time_t on the platform. Also add a (time_t) cast to an intermediate "years * 365" calculation to prevent an overflow there. Thanks to TAKAHASHI Tamotsu for his patch, and to Vincent Lefèvre for his improvement. I merely took their code and commited it. 2016-10-17 11:22 -0700 Kevin McCarthy (113b73b0b616) * crypt-gpgme.c: Actually fix gpgme segfault in create_recipient_set(). Changeset 6e44bfa16096 did not fix the segv. (Sorry, I made the fix based off a report on IRC but didn't trigger the segv myself: it was caused by an out-of-tree patch). The actual problem was that the rset was only resized on a successful gpgme_get_key(). However, on error, the array still needs to be NULL-terminated before calling free_recipient_set(). Move the resize so it always takes place. This obviates the need for the NULL check added in 6e44bfa16096. 2016-10-16 15:12 -0700 Kevin McCarthy (783dce6dfcd4) * sidebar.c: Use mutt_strlen and mutt_strncmp in sidebar.c. This prevents a segv if folder is unset. 2016-10-16 14:16 -0700 Kevin McCarthy (6e44bfa16096) * crypt-gpgme.c: Fix gpgme segfault in create_recipient_set(). If gpgme_get_key() errors on the first key, the rset will not be allocated yet. Attempting to null-terminate (and then free) the array causes a segfault. 2016-10-08 12:57 -0700 Kevin McCarthy (58f4b38312bf) * .hgsigs: mutt-1.7.1 signed 2016-10-08 12:56 -0700 Kevin McCarthy (e8d9ae6f41d3) * .hgtags: Added tag mutt-1-7-1-rel for changeset 0ce5f9bff1fd 2016-10-08 12:56 -0700 Kevin McCarthy (0ce5f9bff1fd) * ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.7.1 2016-10-04 11:13 -0700 Kevin McCarthy (5c5848dfa4ea) * muttlib.c: Preserve forwarded attachment names in d_filename. When forwarding an attachment with an non-ascii name, mutt_copy_body() mangles the filename when calling mutt_adv_mktemp. Preserve the original attachment filename in d_filename. Remove the double copy of b->filename, which is a memory leak. 2016-09-25 13:11 -0700 Kevin McCarthy (586dad383893) * parse.c: Reset invalid parsed received dates to 0. (closes #3878) The actual problem in the ticket would be solved by d3f31cf9239e (see #3798). However there is still the bug that Mutt considers a (hdr->received != 0) to be set and usable, despite not checking the return value of mutt_parse_date(). Change mutt_read_rfc822_header() to unset an invalid received value back to 0. We don't do this inside mutt_read_rfc822_line() because that would cause the next received line to be parsed. 2016-09-21 18:10 -0700 Antonio Radici (ee0fe5834195) * po/de.po, po/es.po, po/it.po: Mark some gpgme pgp menu keybinding translations as fuzzy. (closes #3874) Some translations for crypt-gpgme.c are marked as fuzzy but the keybindings attached to these translations are not, this creates confusions for the users who see the english message but have the keybindings for a message in their own language available. As long as the translations are fuzzy, the keybindings should stay fuzzy. 2016-09-21 22:51 +0200 Kevin McCarthy (9f6e08ba6ff3) * mx.c: Check for NULL mx_ops in mx.c Eike Rathke reported this happening when in an IMAP index view the underlying connection was terminated, ctx->mx_ops was NULL and thus accessing ctx->mx_ops->check segfaulted. Thanks also to Eike Rathke for the initial patch, for which I expanded the checks to other functions. 2016-09-20 13:58 -0700 Antonio Radici (8ed017079800) * crypt-gpgme.c: Fix gpgme segfault when querying candidates with a '+' in the address. (closes #3873) list_to_pattern() was not allocating enough space for the '+' to '%2B' transformation. 2016-09-07 18:54 -0700 Kevin McCarthy (a431c7618def) * doc/manual.xml.head, init.h: Fix sidebar documentation a bit. (closes #3859) Sidebar_whitelist is a command, not a variable. Also add a blurb about what it does. Fix the sort order for $sidebar_divider_char and $sidebar_delim_chars. 2016-09-05 18:50 -0700 Kevin McCarthy (cd127a968399) * contrib/Makefile.am: Add missing sidebar contrib sample files to dist tarball. I previously added the files, but neglected to add them to the contrib/Makefile.am file. Thanks to isdtor for pointing out the problem and for the original patch. 2016-09-05 12:35 -0700 Kevin McCarthy (bb25613ce8a4) * getdomain.c: Stub out getdnsdomainname() unless HAVE_GETADDRINFO. It seems unlikely there are systems without it (given that this mistake has been in since 1.6.0), but for correctness we should stub out the function for those without it. 2016-09-05 12:22 -0700 Kevin McCarthy (90c1b756d87d) * configure.ac: Autoconf: always check for getaddrinfo(). The getdnsdomainname() function introduced in 1.6.0 uses getaddrinfo(). Pull the dependency checks for libnsl, libsocket, and getaddrinfo() outside of the "need_socket" block, so they are always checked for. 2016-09-04 18:50 -0700 Guilhem Moulin (b082bcd5d5e2) * pgppubring.c: Fix pgpring reporting of DSA and Elgamal key lengths. (closes #3867) Patch provided by Guilhem Moulin from an original idea of Fabrizio Tarizzo. The key length is always the length of the first MPI for RSA, DSA, and Elgamal. 2016-09-02 19:32 -0700 Kevin McCarthy (ba5d900a90db) * doc/manual.xml.head, pattern.c: Disable ~X when message scoring. (closes #3861) mutt_score_message() purposely passes a NULL context to mutt_pattern_exec(). The idea was to block slow patterns, and the scoring documentation notes this by saying: "For efficiency reasons, patterns which scan information not available in the index, such as ~b, ~B or ~h, may not be used" ~X needs the context to parse the messages (during message scoring at least), and thus isn't suitable for message scoring either. Block ~X from being used when the context is NULL. Add ~X to the list of patterns noted as unusable in the message scoring documentation. 2016-09-02 16:20 -0700 Kevin McCarthy (eef1e8abc46f) * browser.c: Increase date buffer size for $folder_format. (closes #3863) The buffer size of 16 was sufficient to hold the %d format, but not for using %D. Change to use a SHORT_STRING. Thanks to Ian Zimmerman for the original patch, and to Antonio Radici for forwarding it on to us. 2016-08-17 20:17 -0700 Kevin McCarthy (328e1a32034b) * sys_socket.h: merge default into stable 2016-08-17 20:14 -0700 Kevin McCarthy (e5fcfc5f9c2e) * .hgsigs: mutt-1.7.0 signed 2016-08-17 20:12 -0700 Kevin McCarthy (be1a70b1c080) * .hgtags: Added tag mutt-1-7-rel for changeset a4e83f60e42f 2016-08-17 20:12 -0700 Kevin McCarthy (a4e83f60e42f) * ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.7.0 2016-08-17 18:07 -0700 TAKAHASHI Tamotsu (c513c311026f) * po/ja.po: Updated Japanese translation. 2016-08-15 10:17 -0700 Morten Bo Johansen (83d0f5383325) * po/da.po: Updated Danish translation. 2016-08-15 09:15 -0700 Benno Schulenberg (f02122b5eeeb) * po/eo.po: Updated Esperanto translation. 2016-08-15 09:09 -0700 Benno Schulenberg (7e54c1fe55b4) * po/nl.po: Updated Dutch translation. 2016-08-10 09:29 -0700 Ivan Vilata i Balaguer (2de6949a0f08) * po/ca.po: Updated Catalan translation. 2016-08-10 02:20 +0200 Vincent Lefevre (53b4b412dd79) * po/fr.po: Updated French translation. 2016-08-09 14:34 -0700 Vsevolod Volkov (8847b913432a) * po/ru.po: Updated Russian translation. 2016-08-09 14:32 -0700 Vsevolod Volkov (08251fb01f90) * po/uk.po: Updated Ukrainian translation. 2016-08-08 13:13 -0700 Kevin McCarthy (7abc19ad2d10) * curs_main.c, pager.c, protos.h: Clear pager position upon returning to the index menu. This fixes a bug where opening a message sometimes shows it scrolled down. The easiest way to trigger this is to open a long message in a mailbox with no new messages, scroll down, hit and then reopen the message. The pager will "remember" the position and scroll down. If you simply exit the message and re- enter it, the position is not saved. More annoyingly, once in a very great while I will open a new message and have the message scrolled down partway. I believe this is due to OldHdr happening to point to the same address as the Header of the new message. This is somewhat easily triggered on a mailbox with one message, which you open, scroll down in, hit to exit, and then delete/sync. In another mutt instance, copy the same messsage back to the mailbox, then open the message in the original mutt instance. At least some of the time, the OldHdr pointer matches the new message, and so it opens scrolled down. This patch solves the problem by clearing the pager position once all redirections through the index menu are done. 2016-08-06 23:35 +0200 Vincent Lefevre (15c4c16bed07) * po/fr.po: Updated French translation. 2016-08-05 14:33 -0700 Kevin McCarthy (108ad5dcf194) * rfc2047.c: Remove nonsensical size check in mutt_choose_charset() The charsets parameter is being tokenized by the : delimeter. The checks against ENCWORD_LEN_MAX and ENCWORD_LEN_MIN make no sense, and appear to be the result of a large merge a very long time ago (changeset cb27682966d5). I can only guess where this check was supposed to be, but it certainly doesn't belong here. 2016-08-05 13:43 -0700 Kevin McCarthy (a39c8bdca361) * rfc2047.c: Fix memory leak in mutt_choose_charset(). 2016-08-05 13:43 -0700 Kevin McCarthy (1ef5734f6593) * mh.c: Fix memleak in mh_read_dir() when sequence parsing fails. 2016-08-05 11:02 -0700 Kevin McCarthy (f6b5f533f9ce) * COPYRIGHT, buffy.c, getdomain.c, globals.h, init.c, init.h, main.c, sidebar.c: Update copyright notices. 2016-08-02 19:18 -0700 Kevin McCarthy (f9a4023b86ad) * pop.c: Explicitly NULL unimplemented pop mx_ops functions. The struct initialization already does this for unlisted fields, but I'd rather be explicit about unimplemented operations. 2016-08-02 19:18 -0700 Kevin McCarthy (01541185e6f4) * mx.c: Use the ctx->mx_ops instead of calling mx_get_ops() With mx_open_mailbox_append() setting the ctx->mx_ops, all contexts should have mx_ops set. Remove calls to mx_get_ops() and instead directly use ctx->mx_ops. 2016-08-01 18:25 -0700 Kevin McCarthy (e778db6e693c) * mailbox.h, mh.c, mx.c: Use a different flag in mx_open_mailbox_append() when mailbox doesn't exist. The previous commit re-used MUTT_NEWFOLDER, but the meaning of that flag is slightly different: it causes mbox to use fopen with mode "w", and is used only for the case of a brand-new mktemp-generated mbox. Setting it for other non-existing mbox files leads to a race condition between the stat and the fopen/lock, and so could end up truncating an existing mailbox created in-between! Create a different flag, MUTT_APPENDNEW to notify the open_append() functions that the mailbox doesn't exist. Change maildir and mh to check for that flag to create their directory structures. 2016-08-01 15:04 -0700 Kevin McCarthy (2b9d6165b8b7) * imap/imap.c, imap/imap.h, mbox.c, mh.c, mutt.h, mx.c, pop.c: Convert mx_open_mailbox_append() to use ctx->mx_ops. Set the flag MUTT_NEWFOLDER to signal Maildir and MH to create the directory structure. Distribute the "open append" code to mbox, mh, and imap/imap.c. Set pop's mx_ops handler to NULL to signal it is not supported. 2016-07-31 18:42 -0700 Kevin McCarthy (3834da0c024e) * mbox.c, mx.c: Move fflush and fsync to the mbox and mmdf commit_msg functions. The case statement in mx_commit_message() was previously distributed to the various ops->commit_msg() handlers, but the fflush and fsync were not. 2016-07-30 11:11 -0700 Kevin McCarthy (27b77b5c97cf) * browser.c, browser.h, imap/browse.c, imap/imap.h, init.h: Add unread and total message count format strings to $folder_format. %n will show the unread message count in the mailbox. %m will show total message count. Except for %n with IMAP, these both require $mail_check_stats to be set, which puts these counts inside BUFFY. Since the imap_mboxcache is never fresher than the value in BUFFY, remove the special imap_mailbox_state() call. Instead, just update from the current Context for all mailboxes. Remove the logic that overrode the %N format string to show unread count for IMAP mailboxes. If they want to see unread count, they will have to change the $folder_format. Although it doesn't look possible to reuse browser_state.entry slots, change the OP_DELETE_MAILBOX to memset(0) the deleted slot. Then, we can change to logic in add_folder() so it doesn't need to zero-out unset values. 2016-07-25 12:25 -0700 Richard Russon (4f4c258ab95c) * imap/command.c: Fix imap buffy msg_count overwrite issue. The sidebar updates the buffy->msg_count with the context. This can cause it to become out of sync with the imap_mboxcache. If the imap_buffy doesn't request MESSAGES, don't overwrite the buffy->msg_count with a stale value. 2016-07-22 14:55 -0700 Kevin McCarthy (7b9763564598) * buffy.c, mx.c: Convert buffy_mbox_check() and trash_append() to use local context. buffy_mbox_check() was leaking the dynamically allocated context. Rather than add a call to free, just convert it to use a local variable. Make the same change to trash_append(), which doesn't need the dynamically allocated context either. 2016-07-21 14:00 -0700 Kevin McCarthy (81ecc31f8197) * mx.c: Fix memleak in the new trash folder code. Free the context in opened in trash_append() 2016-07-21 12:49 +0200 Vincent Lefevre (2d1279b26e22) * po/fr.po: Updated French translation. 2016-07-20 16:29 -0700 Kevin McCarthy (89b266256a85) * mbyte.c, mbyte.h, pager.c: Filter directional markers that corrupt the screen. (closes #3854) Thanks to Vincent Lefèvre for working on these utf-8 screen display issues. 2016-07-19 18:56 -0700 Anton Lindqvist (69bbe4da959f) * curs_lib.c: Fix arithmetic exception due to menu->pagelen being negative. Resizing the terminal window down to two lines when in an empty mailbox causes mutt to crash due to division by zero since menu->max equals 0 and menu->pagelen < 0 in status.c:205. Fixing the problem at this specific line felt wrong since I did notice menu->pagelen being negative. The pagelen is inherited from the rows calculation in mutt_reflow_windows. Since the number of lines can potentially be smaller than the accumulated number of rows acquired by the status, help and message window, make sure the calculation does not turn negative. 2016-07-17 19:31 -0700 Kevin McCarthy (f1d5a884ffed) * imap/imap.c, imap/imap.h, mutt.h, mx.c: Add imap-fast-trash patch. This is based on the patch by Paul Miller. Modifications are: * Create a new flag, MUTT_TRASH for imap_make_msg_set(), rather than use MUTT_EXPIRED. * Change imap_make_msg_set(MUTT_TRASH) to only look at hdrs[n]->deleted && !hdrs[n]->purge, behaving like MUTT_TAG, rather than looking at the HEADER_DATA. * Reimplement imap_fast_trash() based on imap_copy_message(). It looks the old version was too, but it lacked handling of TRYCREATE and also queued the UID COPY but didn't exec it. (Presumably this happened in the subsequent sync). * Move the Context magic and mx_is_imap() checks outside of imap_fast_trash() 2016-07-17 19:31 -0700 Kevin McCarthy (280f9b195192) * OPS, curs_main.c, functions.h, pager.c: Add purge-message patch. This is based on the patch by Cedric Duval. Modifications are: * Use the exising M_PURGE flag from the trash folder patch, rather than adding a separate flag. * Undelete operations are already handled by the trash folder patch. 2016-07-17 19:31 -0700 Kevin McCarthy (20499921a4e5) * commands.c, curs_main.c, editmsg.c, flags.c, globals.h, imap/message.c, init.h, mbox.c, mutt.h, mx.c, pager.c, pattern.c, postpone.c: Add the trash folder patch. This is based on the trash folder patch by Cedric Duval. Modifications to the original patch are: * Use a flag called M_PURGE instead of M_APPENDED. The same flag is then used in the following "purge" patch instead of adding a different flag. * Removed the counter in context. The existing context->deleted is all that's needed. * Removed the "auto unset M_PURGE" when M_DELETED is unset inside _mutt_set_flag(), although this is convenient, it easily leads to header->purge not being reset in a few situations. * Reset purge flag along with the deleted flag if $delete is answered no. * Set M_PURGE on an edited message. (edit_one_message()) * Preserve purge flag in mutt_reopen_mailbox() * Turn off OPTCONFIRMAPPEND when saving to the trash, rather than hardcoding it off in mutt_save_confirm(). That way, normal save to the folder will respect the option. 2016-07-16 14:04 -0700 Will Fiveash (b2cb7a38c1ed) * mutt_sasl.c: Fix memory leak in mutt_sasl_cb_pass. SASL doesn't free the sasl_secret_t, so this was leaking. Instead, keep our own pointer to it, and safe_realloc() each time. sasl_secret_t doesn't need the data field null terminated, so memcpy the password over. 2016-07-12 18:04 -0700 Kevin McCarthy (488f91a85115) * muttlib.c, sendlib.c: Fix BODY->d_filename memory leaks. mutt_message_to_7bit() and transform_to_7bit() were overwriting d_filename without freeing the previous value. mutt_free_body() was not freeing the d_filename pointer. 2016-07-12 17:46 -0700 Kevin McCarthy (b4de6941bbb9) * muttlib.c, sendlib.c: Fix BODY->charset memory leaks. mutt_get_content_info() was directly setting charset without freeing the previous value. mutt_free_body() was not freeing the charset. 2016-07-11 18:36 -0700 Kevin McCarthy (9378d21fc7fe) * curs_lib.c, main.c: Initialize mutt windows even in batch mode. (closes #3853) mutt_select_fcc() calls mutt_addr_hook() -> mutt_make_string() which refers to MuttIndexWindow->cols when calling mutt_FormatString(). In batch mode, MuttIndexWindow hasn't been initialized, leading to a segfault. This might be the only overlap, but it seems wiser to just initialize the mutt windows in case there are other references (now or in the future) when processing format strings in batch mode. 2016-07-08 19:08 -0700 rich burridge (89ae904a6b30) * Makefile.am: Fix conststrings compiler version string generation. (closes #3852) The Makefile.am tries compiler flags -v, --version, and -V but neglected to filter error messages if these flags aren't recognized. 2016-07-08 18:52 -0700 Kevin McCarthy (ec4c113a3d2b) * sidebar.c: Change sidebar highlighted mailbox behavior. Delay selecting the highlighted mailbox until prepare_mailbox(), to avoid a hidden mailbox being selected during the Buffy list population (in mutt_sb_notify_mailbox()). Change update_entries_visibility() to not automatically make the highlighted mailbox visible. Change prepare_sidebar() to (re)set the highlighted mailbox when the current highlighted mailbox is hidden. 2016-07-08 18:52 -0700 Kevin McCarthy (5fb53b95afa7) * sidebar.c: Fix sidebar pagedown/up when mailboxes on the end are hidden. The pageup/pagedown code was setting the highlighted mailbox to the top and bottom index without checking if those were hidden. 2016-07-08 18:47 -0700 Kevin McCarthy (4dc1831fd6d7) * imap/message.c: Don't overwrite imap_status->uidnext with a lower value. (closes #3771) imap_read_headers() updates the idata and imap_status uidnext after reading through all the new headers. The idata is updated properly (only if its uidnext is below maxuid+1), but the imap_status was always being set to maxuid. This causes a problem with new mail checking if the most recent messages are deleted. Then the uidnext will be greater than maxuid+1 in the mailbox, and if there are any other unread messages it will *always* report new mail even if $mail_check_recent is set. 2016-07-07 12:00 -0700 Kevin McCarthy (6f2fe8f32dab) * sidebar.c: Fix the sidebar TopIndex and BotIndex when $sidebar_new_mail_only is set. When set, some of the entries can be hidden, so a simple division by page_size to find the correct top/bottom isn't correct. Instead, manually partition into groups of page_size visible entries and set top and bottom based on the interval around the highlighted entry. 2016-07-07 09:21 -0700 Kevin McCarthy (5229c7fbc37e) * mbyte.c, pager.c: Filter soft hypen from pager and headers. (closes #3848) Add U+00AD SOFT HYPHEN to the filtered characters in headers and the pager. In some terminals and situations it causes major display problems. 2016-07-06 12:31 -0700 Richard Russon (81e9c352e5d7) * sidebar.c: Fix sidebar crash for non-existent mailbox If you to a non-existent mailbox, there will be no Context. 2016-07-06 10:43 -0700 Kevin McCarthy (88793198dfcb) * po/fr.po: merge stable 2016-07-02 12:32 -0700 Kevin McCarthy (bf1c73de2b7c) * doc/manual.xml.head, init.h: Fix the documented sort methods for sidebar_sort_method. Remove references to unused "date" and "size", and add "flagged". 2016-07-02 12:25 -0700 Kevin McCarthy (20089a780e8e) * init.c, init.h: Add R_SIDEBAR to redraw sidebar when its settings change. Add to the sidebar settings that control formatting of the sidebar. 2016-07-02 12:24 -0700 Kevin McCarthy (d404059a7619) * sidebar.c: Fix sidebar "unsorted" order to match Buffy list order. Since the previous commit decoupled the sidebar from the Buffy list, we can now restore the order to match the buffy list when sidebar_sort_method is set (back) to "unsorted". 2016-07-02 12:22 -0700 Kevin McCarthy (b05c170b4c91) * buffy.h, sidebar.c: Decouple the sidebar from the Buffy list. Change the sidebar to use an array of SBENTRY* instead. Move the "is_hidden" into SBENTRY. Remove the added "prev" pointer from BUFFY. This way, sorting the sidebar doesn't affect the BUFFY list order, and we don't need elements inside BUFFY just for the sidebar presentation. Fix sidebar-next for the case where the mailboxes are unsorted and $sidebar_new_mail_only is set. Change sorting not to clump hidden mailboxes at the bottom, instead simply skip over hidden mailboxes in sidebar-next/prev. 2016-07-01 13:39 -0700 Kevin McCarthy (c62f5cd3c8e4) * send.c: merge stable 2016-06-30 12:57 -0700 Kevin McCarthy (6b147a411f68) * doc/makedoc-defs.h: Fix missing sidebar documentation links. (closes #3847) USE_SIDEBAR needed to be set in doc/makedoc-defs.h so that the sidebar option documentation is generated whether mutt is configured with the sidebar or not. 2016-06-29 18:58 -0700 Kevin McCarthy (4b6829229176) * m4/gssapi.m4: Fix cppflags and muttlibs duplication with --with-gss. When krb5-config was found, MUTT_AM_PATH_GSSAPI included CFLAGS in GSSAPI_CFLAGS and MUTTLIBS in GSSAPI_LIBS. However, configure.ac afterwards sets: CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS" MUTTLIBS="$MUTTLIBS $GSSAPI_LIBS" This caused the flags and libs to be duplicated. 2016-06-29 18:58 -0700 Kevin McCarthy (c84aa0d62ce3) * configure.ac: Include ncurses tinfo library if found. Thanks to Fabian Groffen for reporting this issue and providing a couple possible patches. From Fabian's report: For some time now, ncurses can be built in a mode where the low level terminfo functionality lives in a separate lib called libtinfo. Because some people do, this means Mutt needs to include this library in that case to avoid linking errors [...] 2016-06-29 12:25 -0700 Kevin McCarthy (b62483975c94) * init.h: Clarify oppenc option documention. (closes #3846) Rephrase the option description to try and make it clearer what the option does, and how to enable/disable it within a message. 2016-06-28 16:06 -0700 Kevin McCarthy (2baed7154180) * init.h, sidebar.c, sort.h: Remove unused SORT_DESC. This came over with the sidebar patch, but I believe is only used by the notmuch extension. 2016-06-28 15:59 -0700 Fahri Cihan Demirci (5bac9dacae1d) * contrib/sample.muttrc-sidebar: Remove $sidebar_refresh_time from Sample Sidebar Config The $sidebar_refresh_time option was removed with the changeset 1f840760e6e0. Remove it from the sample sidebar configuration as well, so that anyone using that file in its entirety won't have to deal with "unknown variable" errors. 2016-06-23 12:38 -0700 Kevin McCarthy (b45c8ec1e54c) * buffy.c, buffy.h, curs_main.c, imap/imap.c, main.c, mutt.h, mx.c, pop.c, sidebar.c, sidebar.h: Change sidebar to consistently use realpath for context and buffy comparison. The original sidebar patch contained a half-implemented attempt to use realpath() mailbox paths for comparison. (Presumably so the open mailbox remains highlighted despite symlink issues). Add realpath to the Context, and set it when opening a mailbox. Remove sidebar ifdef for the buffy member, and always set it there too. Change the sidebar to use the realpath for comparison everywhere. mutt_buffy_check() is using stat device and inode for comparison. Perhaps this can be changed to use realpath instead, but that's beyond the scope of this patch. 2016-06-22 09:20 -0700 Kevin McCarthy (c8613259dc38) * sidebar.c: Change sidebar next/prev-new to look at buffy->new too. Look at new in addition to msg_unread count, to account for when $mail_check_stats is unset or when the sidebar only shows the %n status flag. 2016-06-20 20:09 -0700 Kevin McCarthy (3d87b0521a45) * doc/manual.xml.head, init.h: Add documentation to the "New Mail Detection" section of the manual. Mention the behavior change with $mail_check_recent. Add a section about $mail_check_stats. 2016-06-20 10:11 +0200 Vincent Lefevre (069c7a655ad5) * po/fr.po: Updated French translation. 2016-06-18 13:36 -0700 Damien Riegel (91af19866bbd) * imap/imap.c, imap/imap.h, imap/imap_private.h, mbox.c, mh.c, mutt.h, mx.c, mx.h: add commit_msg to struct mx_ops 2016-06-18 13:36 -0700 Damien Riegel (28688fee52a5) * mbox.c, mx.c, mx.h: add mmdf_commit_message function Move MMDF operations that were done in mx_commit_message to a dedicated mmdf_commit_message function. 2016-06-18 13:36 -0700 Damien Riegel (4c6539a88f0a) * mbox.c, mx.c, mx.h: add mbox_commit_message function Move mbox operations that were done in mx_commit_message to a dedicated mbox_commit_message function. 2016-06-18 13:36 -0700 Damien Riegel (16bfe31ef8b3) * imap/imap.h, imap/message.c, mx.c: add imap_commit_message function Move IMAP operations that were done in mx_commit_message to a dedicated imap_commit_message function. 2016-06-18 13:36 -0700 Damien Riegel (37140981e746) * mh.c, mx.c, mx.h: add maildir_commit_message function This commit adds a maildir_commit_message with a prototype consistent with other kind of mailboxes, to simplify upcoming refactoring. 2016-06-18 13:36 -0700 Damien Riegel (93d4169b0886) * mh.c, mx.c, mx.h: prepend maildir_commit_message function name with an underscore Basically, rename maildir_commit_message to _maildir_commit_message. This commit is preparatory to make the maildir_commit_message symbol available for further use. Symbols starting with underscore should be avoided but this one is long enough to prevent collision. 2016-06-18 13:36 -0700 Damien Riegel (e5d87ebe0f5b) * mh.c, mx.c, mx.h: remove unused HEADER parameter in mh_commit_message mh_commit_message is only called in one place with the header parameter set to NULL. To make the commit function consistent with other mailboxes, which only takes ctx and msg as parameters, remove this unused parameter. 2016-06-18 12:41 -0700 Damien Riegel (ce2e5caf4339) * imap/imap.c, imap/imap_private.h, imap/message.c, mbox.c, mh.c, mutt.h, mx.c, pop.c: add close_msg to struct mx_ops 2016-06-18 12:41 -0700 Damien Riegel (4bab14a24dbe) * mailbox.h, mx.c: Remove magic member in MESSAGE structure The "magic" was copied from the context to the message structure to be able to determine which close function had to be called in mx_close_message. Now that this function is context aware, there is no need to store the magic in the MESSAGE structure and it can be safely removed. 2016-06-18 12:41 -0700 Damien Riegel (3ec6c133641c) * attach.c, commands.c, copy.c, editmsg.c, mailbox.h, mh.c, mx.c, parse.c, pattern.c, pop.c, postpone.c, recvattach.c, sendlib.c: pass context in mx_close_message The mx_close_message is one of the few mx_* functions that don't have a context as parameter. To make them more consistent, pass the context. 2016-06-17 19:01 -0700 Damien Riegel (70eb7e0dbb58) * imap/imap.c, imap/imap.h, imap/imap_private.h, imap/message.c, mbox.c, mh.c, mutt.h, mx.c, pop.c, pop.h: Add open_msg to struct mx_ops Add the callback to open an existing message to struct mx_ops. For mbox, mmdf, maildir, and mh, the code was implemented directly into mx_open_message, so it is moved in their respective source files. For imap and pop, there were already _fetch_message functions, but their argument order has been changed to pass the context as a first argument. 2016-06-17 10:33 -0700 Olaf Hering (d83239fd794a) * browser.c, browser.h: folder_file: remove struct stat Add and use new flag to indicate the folder is on local filesystem. Add and use new gid, uid and nlink member. Use existing ->mode member instead of stat->st_mode. Use existing ->size member instead of stat->st_size. Use existing ->mtime member instead of stat->st_mtime. Remove struct stat, the used values were already duplicated in the struct. This reduces memory usage. 2016-06-17 10:33 -0700 Olaf Hering (8e671bbe094d) * regex.c: Add real prototype for re_match_2_internal in regex.c Fixes compilation warning with -Wunprototyped-calls 2016-06-17 10:30 -0700 Kevin McCarthy (5817d3d93b7a) * buffy.c, buffy.h, mh.c, mx.h: Combine the basic and extended buffy functions. Add a check_stats parameter to the mbox, maildir, and mh buffy functions. Use that parameter to determine whether to also count total, new, and flagged messages. This makes the functions a bit more complicated, but improves efficiency (for maildir and mh). Also includes the following cleanup/fixes: * Move the orig-value counter reset to the beginnining of the loop, (before tmp->new is set to 0). * Change trashed maildir messages to not be counted in msg_count * Remove an incorrect setting of mailbox->new based on msg_count in maildir. (I missed this one for 1f840760e6e0) * Change mbox to use the context->mtime for stats_last_checked, removing a race condition. * Fix mh to actually count the messages in order to generate msg_count. mh_sequences only covers the range of messages with some sort of flag. 2016-06-15 11:09 +0200 Vincent Lefevre (c29c521eec0a) * po/fr.po: Updated French translation. 2016-06-14 13:11 -0700 Kevin McCarthy (5ad82360c6ea) * imap/imap.c: Reset buffy->new for the current mailbox in IMAP. 1f840760e6e0 moved the buffy->new reset inside the STATUS processor. Since the current mailbox is not STATUS'ed, it needs to be reset in imap_buffy_check(). Thanks to Aaron Schrab for reporting this issue (and for helping test tip). 2016-06-12 13:49 -0700 Kevin McCarthy (f447c67f511b) * OPS.MIX, OPS.SIDEBAR: Fix the case of messages in OPS.MIX and OPS.SIDEBAR Thanks to Vincent Lefèvre for spotting the discrepancy. 2016-06-07 15:02 -0700 Kevin McCarthy (1f840760e6e0) * buffy.c, buffy.h, contrib/sample.muttrc-sidebar, doc/manual.xml.head, globals.h, imap/command.c, imap/imap.c, imap/imap.h, init.h, mailbox.h, mbox.c, mh.c, mutt.h, mx.c, mx.h, sidebar.c, sidebar.h: Make extended buffy independent of the sidebar. Add new boolean option $mail_check_stats (default off) and $mail_check_stats_interval. The first turns extended buffy on. The second sets the amount of time in between extended buffy checks (defaulting to 60 seconds). Remove the option $sidebar_refresh_time. Change mutt_buffy_check() to only notify the sidebar to redraw if a mailbox buffy value changes. Remove the #ifdefs around the extended buffy functions. The next patch will merge these functions with the basic functions and pass a parameter instead. Imap is a special case, because it sends out the status in one batch. Change this to perform the comparisons inside cmd_parse_status() and flag the sidebar there. It was previously directly assigning the status counters (unsigned int) to the buffy->new (short). Change this to assign 1/0. 2016-06-08 14:43 -0700 Kevin McCarthy (4be8b077c81f) * doc/manual.xml.head, init.h: Change the default for sidebar_format to use %n. The next series of patches is going to create a new option, $mail_check_stats defaulting off. When off, the extended buffy which calculates total/new/flagged messages won't be run. To help reduce "sidebar is broken" bug reports, this changes the default format to something not requiring extended buffy. The previous default is documented in the option and preserved in the sample sidebar muttrc in contrib. 2016-06-08 13:16 -0700 Kevin McCarthy (594137a8ea12) * init.h, sidebar.c: Add sidebar_format flag '%n' to display 'N' on new mail. 2016-06-11 17:59 +0200 Vincent Lefevre (123e36398eea) * po/fr.po: Updated French translation. 2016-06-09 12:06 -0700 Richard Russon (93c4ae03689e) * compose.c: Fix alignment in the compose menu. Several of the compose-panel labels didn't use the TITLE_FMT to align themselves. This causes formatting problems when the width is changed, e.g. by the NNTP patch. 2016-06-08 13:28 +0200 Vincent Lefevre (1fad3bfd4aab) * Makefile.am: Corrected OPS.SIDEBAR filename in EXTRA_DIST. 2016-06-07 13:40 -0700 Richard Russon (fc33b34d637b) * sidebar.c: Setting $sidebar_width to more than 128 would cause bad things to happen. First, give the users more than enough space. Second, don't pad out short strings beyond the buffer --- sidebar.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 2016-06-07 13:27 -0700 Kevin McCarthy (9937540dab42) * commands.c, hdrline.c, pager.c, protos.h, status.c: Fix columns used for $status_format and $pager_format in the pager. The code was hardcoding use of MuttIndexWindow->cols in mutt_make_string_info() and MuttStatusWindow->cols in menu_status_line(). Add a parameter to mutt_make_info_string(). Change menu_status_line() to use menu->statuswin->cols, falling back to MuttStatusWindow if no menu is passed in. Set menu->statuswin appropriately inside pager.c. Thanks to Richard Russon for tracking down this problem, and for the initial patch. 2016-06-05 18:30 -0700 Kevin McCarthy (5270cd795043) * doc/makedoc.c: Add warning in makedoc for unexpected prefices. (see #3845) In case other types get renamed again in the future, add a warning message to makedoc.c. 2016-06-05 18:05 -0700 Kevin McCarthy (91608dca6f12) * mx.c: Fix sidebar buffy stats updating on mailbox close. Move the mutt_sb_set_buffystats() call from mx_fastclose_mailbox() to the bottom of mx_close_mailbox(). Append-only mailboxes don't have msgcount set, so fastclose was the wrong place to be doing these updates. 2016-06-04 11:32 -0700 Kevin McCarthy (8e342d73159b) * buffy.c, mh.c: Start to fix sidebar buffy modifications. The extended buffy for mh had incorrect placement of the loop brackets. The counters weren't being incremented in the loop. Fix extended buffy for maildir to count a maildir message as new if it doesn't have the info delimeter. Remove shortcircuits added to the basic buffy stating there is new mail when (msg_unread > 0). This is not necessarily true, depending on $mail_check_recent. Note: the extended buffy still needs more fixes, which will be done when it is refactored into its own option. 2016-06-04 11:32 -0700 Kevin McCarthy (5d117fd810a9) * sidebar.c: Various fixes to the sidebar logic. Use strfcpy instead of strncpy. The current logic could write past the end of the buffer. Don't mess with BUFFY next pointers during removal. The mutt_parse_mailboxes() is fine, but this is still not something that should be done inside sidebar.c. On removal, set next->prev since we can. Fix unmailboxes logic: * only fix the prev pointers once. * if we unmailbox the open mailbox, set it to NULL. Lastly, flag a redraw on mailboxes/unmailboxes. 2016-06-04 11:32 -0700 Kevin McCarthy (b542812c262e) * buffy.c, curs_main.c, main.c, menu.c, mx.c, pager.c, sidebar.c, sidebar.h: Add "mutt_" prefix to global sidebar functions. Also, remove unused sb_init declaration. 2016-06-04 11:32 -0700 Kevin McCarthy (cb23ed20d035) * doc/manual.xml.head, init.h: Clean up the sidebar manual. Remove the introduction section. It's a nice effort, but reads more like a tutorial than something that belongs in section 2. Will probably put in on the website instead. Remove references to a "patch", neomutt, and the history. Remove the sample muttrc from the manual. Fix validation errors for the documentation. 2016-06-04 11:32 -0700 Kevin McCarthy (517d4f0debab) * sidebar.c: Re-indent and style sidebar.c. 2016-06-04 11:32 -0700 Kevin McCarthy (39639dc7e9e7) * sidebar.c: Fix sidebar check_sec.sh warnings. Use safe_malloc, FREE, and the safe_strcat functions. 2016-06-04 11:32 -0700 Kevin McCarthy (08f9ba9efab9) * Makefile.am, buffy.c, configure.ac, curs_main.c, flags.c, globals.h, keymap.c, menu.c, mutt_menu.h, pager.c, sidebar.c: Sidebar clean up: building and drawing logic. Fix the autoconf/makefile.am changes to be consistent. Create a global SidebarNeedsRedraw to indicate a redraw is needed, instead of putting sb_draw() everywhere in the code. Create a menu_redraw_sidebar() function and use the REDRAW_SIDEBAR flag instead of piggy-backing it inside the index loop. Fix curs_main.c and pager.c to be a bit cleaner by using the global and REDRAW_SIDEBAR. Start to clean up some of the buffy code, but this needs to refactored and fixed. 2016-06-04 11:31 -0700 Richard Russon (8ad6090903db) * Makefile.am, OPS.SIDEBAR, buffy.c, buffy.h, color.c, configure.ac, contrib/sample.muttrc-sidebar, contrib/sample.vimrc-sidebar, curs_main.c, doc/manual.xml.head, flags.c, functions.h, globals.h, imap/command.c, imap/imap.c, init.c, init.h, keymap.c, mailbox.h, main.c, mbox.c, menu.c, mh.c, mutt.h, mutt_curses.h, mutt_menu.h, mx.c, mx.h, pager.c, sidebar.c, sidebar.h, sort.h: Add neomutt version of sidebar patch. (closes #3829) This is the patch from neomutt; branch 'devel/win-sidebar'; commit c796fa85f9cacefb69b8f7d8545fc9ba71674180 with the following changes: - move the sample muttrc and vimrc to contrib. - remove the README.sidebar. - empty out the PATCHES file. 2016-05-31 13:20 -0700 Kevin McCarthy (52f48b083cc0) * doc/makedoc.c: Fix documentation for DT_MAGIC types. (closes #3845) With the rename of M_ to MUTT_, the documentation generator in makedoc.c needed to be adjusted for the new prefix size. Thanks to Damien Riegel for the suggested fix. 2016-05-26 14:45 -0700 Kevin McCarthy (cd316a555bd7) * copy.h, group.h, mailbox.h, mutt.h, mutt_curses.h, pager.h: Fix header file indentation after M_ prefix renaming. The use of tabs caused misalignment of various macro definitions. 2016-05-26 14:05 -0700 Damien Riegel (2821e77c1a54) * imap/imap.c, imap/imap.h, mbox.c, mh.c, mutt.h, mx.c, mx.h, pop.c, pop.h: add check operation to struct mx_ops In mx_check_mailbox switch case, we simply call _check_mailbox, so this operation can be move into the mx_ops structure pretty easily. This commit adds a mandatory "check" operation to struct mx_ops and change all mailboxes to use it. Check functions are made static as they are only used in their respective source files now. 2016-05-26 14:05 -0700 Damien Riegel (a28ed1c725c6) * curs_main.c, mailbox.h, mx.c: mx_check_mailbox: remove lock argument in function call This function is only called in one place with lock = 0. Basically, all code under if (lock) is dead code, so we can remove it, making the function simpler to factorize. 2016-05-26 14:05 -0700 Damien Riegel (0ae29df8a81a) * imap/imap.c, imap/imap.h, mx.c: add function imap_check_mailbox_reopen In mx_check_mailbox, imap mailbox is the only function with a different prototype: it has an extra force argument. In order to move the check operation to the mx_ops structure, we need that all mailboxes have the same prototype. To do so, a new function imap_check_mailbox_reopen is added. 2016-05-25 15:58 -0700 Kevin McCarthy (261939e71d80) * mx.c: Add a TODO to mx_open_new_message() to use mx_ops in the future. We can't use it until mx_open_mailbox_append() is converted to set mx_ops. 2016-05-25 15:53 -0700 Damien Riegel (63cb99b46c34) * imap/imap.c, mailbox.h, mbox.c, mh.c, mutt.h, mx.c, mx.h: add open_new_msg operation to struct mx_ops The code was already using a function pointer to do this operation. This commit moves this function pointer to the mx_ops structure and the open_new_message functions to their respective source files if it needs to. 2016-05-24 12:45 -0700 Kevin McCarthy (79c379cb0c21) * keymap.c: merge stable 2016-05-12 12:41 -0700 Damien Riegel (ae203b2c56a6) * imap/imap.c, imap/imap.h, mbox.c, mh.c, mutt.h, mx.c, mx.h, pop.c, pop.h: Start decoupling mailbox operations. Introduce a dedicated structure for mailbox operations: struct mx_ops. Move the open and close operations into that structure. Assign this structure to the context in mx_open_mailbox. This is currently based on the "magic" for the mailbox type, but may be refactored in the future. Add a stub mbox_close_mailbox function. This function does nothing, the main purpose is to introduce a mx_ops structure for mbox, so its usage is similar to mh/imap/pop. We reuse the name that was made available by the previous commmit. Note that the actual closing of the descriptor is done in mx.c. To be more consistent with other mailboxes, introduce functions mh_open_mailbox and maildir_open_mailbox, and create a dedicated structure for mmdf. 2016-05-12 12:41 -0700 Damien Riegel (6356f1068fe2) * mbox.c, mx.c, mx.h: rename mbox_close_mailbox to mx_close_mailbox_append and move it mbox_close_mailbox was used as the counterpart of mx_open_mailbox_append. To make things clearer, rename it mx_close_mailbox_append. As it is only used in mx.c, move it there and make it static. 2016-05-10 09:42 -0700 Kevin McCarthy (391492f27fef) * doc/manual.xml.head, filter.c: Set COLUMNS to MuttIndexWindow->cols in mutt_create_filter_fd. (closes #3837) This allows filters to automatically (or via a command line argument) adjust to the width of the pager/index. This is even more important with the sidebar, since the width of the pager is smaller than the terminal width. Thanks to Vincent Lefèvre for his helpful information and suggestions, and to Richard Russon for the initial patches. 2016-05-09 14:06 -0700 Kevin McCarthy (d18cd04e3f5a) * Makefile.am, getdomain.c, mutt_sasl.c, mutt_socket.c, mutt_tunnel.c, sys_socket.h: Back out wrapper sys_socket.h workaround (23334e967dd7) After renaming all internal macros from M_* to MUTT_*, the sys_socket.h workaround is no longer necessary. 2016-05-09 14:06 -0700 Derek Martin (59b77d5c73e0) * account.c, account.h, addrbook.c, alias.c, attach.c, browser.c, buffy.c, buffy.h, charset.c, charset.h, color.c, commands.c, compose.c, copy.c, copy.h, crypt-gpgme.c, crypt.c, curs_lib.c, curs_main.c, doc/makedoc.c, editmsg.c, enter.c, flags.c, functions.h, group.h, handler.c, hcache.c, hcache.h, hdrline.c, help.c, hook.c, imap/browse.c, imap/command.c, imap/imap.c, imap/imap_private.h, imap/message.c, imap/util.c, init.c, init.h, keymap.c, lib.c, lib.h, mailbox.h, main.c, mbox.c, menu.c, mh.c, mutt.h, mutt_curses.h, mutt_menu.h, mutt_sasl.c, mutt_socket.c, mutt_socket.h, mutt_ssl.c, mutt_ssl_gnutls.c, muttlib.c, mx.c, mx.h, pager.c, pager.h, parse.c, pattern.c, pgp.c, pgpinvoke.c, pgpkey.c, pop.c, pop_auth.c, pop_lib.c, postpone.c, protos.h, query.c, recvattach.c, recvcmd.c, remailer.c, rfc1524.c, rfc2047.c, rfc2231.c, rfc3676.c, score.c, send.c, sendlib.c, smime.c, smtp.c, status.c, system.c, thread.c: Change M_* symbols to MUTT_* Changeset 23334e967dd7 created a workaround for a namespace conflict with Solaris and derivatives. After some discussion, the team decided it would be best to move away from using the "M_" prefix for macros. This patch was automatically generated by running: perl -wpi -e 's/\bM_(\w+)\b/MUTT_$1/g' `find . -name '*.[ch]' -print` with the exception that sys_socket.h was exempted. (That file will be backed out subsequent to this commit.) Thanks to Andras Salamon for supplying the perl script used to make this change. 2016-05-03 13:21 -0700 Kevin McCarthy (b74dfb9fa901) * mbyte.c, pager.c: Skip bidi markers in the pager and index. (closes #3827) Curses and slang don't support them, so there's little point in showing them or attempting to somehow deal with them. This patch adds filtering in the pager, and changes the filtering added in 6e0aca94cdb0 for the index to completely skip the marker. 2016-05-03 09:46 -0700 Kevin McCarthy (9dfe211355b6) * curs_lib.c: Change mutt_window_getyx() to accept NULL *y/*x params. Thanks to Vincent Lefèvre for suggesting this nice cleanup. Previously, _mutt_get_field() was employing an ugly hack to avoid an unused var warning. 2016-04-30 14:39 -0700 Kevin McCarthy (fb68199318ae) * po/fr.po: merge stable 2016-04-30 13:05 -0700 Kevin McCarthy (e1cec1a958e9) * pager.c: Fix pager mini-index drawing when $pager_index_lines = 1 and $status_on_top. When $pager_index_lines is 1, there is room for the index status line, but not for any actual index entries. The index redraw part was always calling menu_redraw_current() which doesn't actually check if there is room for the current row. This bug only shows up with $status_on_top, due to the order things are redrawn. 2016-04-30 10:50 -0700 Kevin McCarthy (d0746905cb3f) * pager.c: Fix pager layout when $status_on_top with no mini-index. (closes #3836) The pager_window->row_offset should only be adjusted when we have a mini-index. Pull common window initialization above, and adjust only when the mini-index is enabled. The pager_window rows and row_offset code could be further consolidated (since the status line is always a height of one), but I think the code reads a bit more clearly when the adjustments are explicitly stated. 2016-04-29 18:00 -0700 Kevin McCarthy (e369be9d490b) * pager.c: Remove newline insertion from pager. (closes #3835) The window patches commited now manually move to the next line, so there is no need to insert newlines for that purpose. The newlines also goof windows placed to the right of the pager, as is the case for the (currently external) sidebar-on-the-right functionality. Thanks to Richard Russon for the original patch and help testing the revised patch. 2016-04-27 17:56 -0700 Kevin McCarthy (efa6f7910c94) * addrbook.c, browser.c, compose.c, crypt-gpgme.c, hdrline.c, muttlib.c, pgpinvoke.c, pgpkey.c, protos.h, query.c, recvattach.c, remailer.c, smime.c, status.c: Add cols parameter to mutt_FormatString() Continuing with the conversion to using windows for screen drawing, mutt_FormatString() was directly using COLS for right justification and similar formatting. Instead pass in a parameter, cols. This change involved seeding the parameter through callback functions too, as many of them call mutt_FormatString() back. 2016-04-27 17:56 -0700 Kevin McCarthy (04f1846c56c1) * buffy.c, commands.c, flags.c, handler.c, help.c, init.c, keymap.c, mutt_curses.h, muttlib.c, recvattach.c, recvcmd.c, sendlib.c: Fix remaining direct usages of COLS/LINES to use mutt window functions. Most of these were just message update/clearing. 2016-04-27 17:56 -0700 Kevin McCarthy (9f9bcde2d0ff) * remailer.c: Change remailer to use mutt windows. 2016-04-27 17:56 -0700 Kevin McCarthy (8ad6164d9fe4) * edit.c: Modify the built-in editor to use windows. This only involved changing to use the MuttMessageWindow. 2016-04-27 17:56 -0700 Kevin McCarthy (0989f9d01b5c) * compose.c: Modify the compose screen to use windows. The header field positions enum is now started at 0: the windows compute the relative positioning as needed. A small improvement from this is that the headers now align with the top: there isn't a gap if $help is turned off. 2016-04-27 17:56 -0700 Kevin McCarthy (fd3fe386c24a) * copy.c, mutt_curses.h, pager.c, rfc3676.c: Modify the pager to use windows. The pager view is somewhat complex, due to the "mini-index" and the positioning of the index_status vs pager_status changes depending on $status_on_top as well as $pager_index_lines and $help. To make things simpler, it creates four "pager windows": index_status_window, index_window, pager_status_window, pager_window. mutt_term_width() is renamed to mutt_window_wrap_cols() and a mutt_window_t parameter passed in. Also, the pager drawing loop calling display_line() has a mutt_window_move() added to move to the beginning of the next line each time. This is in case the pager_window isn't flush with the left side of the terminal. 2016-04-27 17:56 -0700 Kevin McCarthy (4e20ab8ebf42) * curs_main.c: Modify the index to use windows. Change the index screen to use MuttIndexWindow and MuttStatusWindow. 2016-04-27 17:56 -0700 Kevin McCarthy (1b8abb069c37) * curs_lib.c, edit.c, enter.c, protos.h: Modify enter.c routines to use windows. This modifies the mutt_enter_string() functions to use MuttMessageWindow. Thanks to Richard Russon for pointing out slang doesn't support getcurx. 2016-04-27 17:56 -0700 Kevin McCarthy (47e9732b3a3c) * curs_lib.c: Modify the curs_lib.c to use windows. This changes some of the "prompting" routines to use the MuttMessageWindow. 2016-04-27 17:56 -0700 Kevin McCarthy (48676eb3e400) * menu.c, mutt_curses.h, mutt_menu.h: Modify the menu code to use windows. Change menu.c to use the mutt_window_t structures and functions. The index/stats/help/message window pointers are stored inside the menu_t. This is useful for the pager, where the "index" we want to use is a mini-index. 2016-04-27 17:56 -0700 Kevin McCarthy (ac4f746e614f) * curs_lib.c, init.c, init.h, main.c, mutt_curses.h, resize.c: Add window structures to use for screen layout. This is a series of 11 patches, centralizing Mutt screen drawing inside windows (mutt_window_t structures). Currently, the screen drawing and cursor positioning logic is distributed all over the code, resulting in many files having the same logic of where the help, status, message windows are. Additionally, the code directly uses move and mvadd*/mvprint* functions, which means if the layouts are changed, the row/column computation logic needs to be changed all over the place. The patch creates a (very simple) mutt_window_t structure and functions for moving, addch/str/printw, along with clearing the line. The windows keep track of where they are on the screen, allowing the Mutt code to simply position elements relative to the window. During curses initalization, and when the window is resized, the window sizes and positions and recomputed. Also, a new option flags, R_REFLOW is added for options that need to force a reflow when they are changed. Thanks to Richard Russon for pointing out the slang compilation issue. 2016-04-27 13:21 -0700 Kevin McCarthy (8083387557d9) * merge stable 2016-04-14 12:35 -0700 Kevin McCarthy (9a9c515e09d3) * muttlib.c: Fix soft-padding available columns computation. If arrow_cursor is set, it's possible that COLS < offset. Compute avail_cols, floored at 0, and use that instead. 2016-04-14 12:35 -0700 Kevin McCarthy (ca1af57e1855) * muttlib.c: Fix right justify buffer-truncated pad calculation in mutt_FormatString() Vincent Lefèvre noted that the computation had implementation defined behavior and was potentially incorrect. Change to make sure the subtraction won't lead to a wrap-around, and set pad to 0 in that case. 2016-04-14 12:35 -0700 Kevin McCarthy (92bbc02fdf9c) * muttlib.c: Pre-space softfill multi-column padding. Similar to the previous patch, this deals with multi-column padding characters and soft-fill. This will add spacing so the padding and content after padding aligns with the right side. You can see the effect by setting set index_format="%s %*我[ooooo]" and resizing the terminal. The right hand side will be jagged without the patch. 2016-04-14 12:35 -0700 Kevin McCarthy (fef5b5ed0f44) * muttlib.c: Add spacing to truncated multi-column characters when using soft-fill. First, fix the left-hand side column truncation calculation: "col + pad*pw -offset" pad = (COLS - col - wid) / pw, so this becomes "col + COLS - col - wid - offset" => "COLS - wid - offset" The problem is that pad was calculated *before* the right side was mutt_wstr_trunc() truncated, which may adjust wid! We want that calculation, with correct values, so instead just use the final reduction directly. (Note, the reduction ignores integer truncation, but pad shouldn't be used here in any case, because it's negative: there is no padding occuring). Second, when the left-hand side is truncated, multi-column characters may get chopped in the middle. Truncated characters are not included in the wlen and col values returned. Add spaces until the number of columns lines up (checking to make sure we don't run out of space too). 2016-04-11 12:45 -0700 Kevin McCarthy (eb94f64ad81a) * mutt_ssl.c: Add null-terminator to BIO_get_mem_data() output. It turns out the output isn't necessarily null-terminated. 2016-04-11 21:17 +0200 Vincent Lefevre (46f37be4afef) * po/fr.po: Updated French translation. 2016-04-11 11:55 -0700 Kevin McCarthy (0b66f6fd3d44) * mutt_ssl.c: Add an error message and debugging if SSL_CTX_new() fails. (closes #3831) Generate a mutt_error(). Add a debugging function ssl_dprint_err_stack() to dprint the ssl error stack. 2016-04-11 11:28 +0200 Vincent Lefevre (78aa3a1db632) * po/fr.po: Updated French translation. 2016-04-10 19:10 -0700 Kevin McCarthy (00c0c155d992) * mutt_ssl.c: Check for SSL_CTX_new returning NULL in ssl_sock_open(). (closes #3831) Thanks to Yuan Kang and the security researchers at Columbia University and the University of Virginia for reporting the bug. 2016-04-10 18:30 -0700 Kevin McCarthy (5464329344cd) * merge stable 2016-04-10 14:14 -0700 Kevin McCarthy (685b9dfba297) * imap/browse.c: Add error message string for imap_mailbox_rename() on root folder. This was fixed just before 1.6.0, but due to the string freeze, could not add an error message. 2016-04-08 18:38 -0700 Kevin McCarthy (b8240918eded) * rfc2047.c: Fix potential memory leak in rfc2047_encode. (closes #3825) If convert_string() has nonreversible characters, the allocated output buffer would be overwritten (and not freed) in rfc2047_encode(). Thanks to Richard Russon for the bug report and initial patch, and to TAKAHASHI Tamotsu for the analysis and revised fix suggestion. 2016-04-08 15:27 -0700 Kevin McCarthy (180a90d05ed4) * pager.c: Fix pager.c format_line() to use size_t for mbrtowc() retvals. While fixing up the error checking for mbrtowc(), I noticed the uses in pager.c format_line() were assigning the retval to an int. The cleanup for this was a little tricky, because it was making use of possible negative values for (k1 - k). The backspace detection loop condition was a bit heavy, so this patch first pulled the initialization and first call above, and put the second call inside the loop. Note that k1 previously included k, but this patch changes it to be just the retval of mbrtowc. This means the second mbrtowc() arguments are changed to include k, as is the ch increment at the bottom of the loop. 2016-04-08 15:20 -0700 Kevin McCarthy (a8bc75e7c4e1) * alias.c, curs_lib.c, help.c, pager.c: Reset mbstate for other mbrtowc() calls returning -1 Continue the cleanup started in changesets c8c76a6a1e61 and a3450fd50d11. In those changesets, a bug was occurring due to the mbstate not being reset when mbrtowc() returned -1. This patch fixes other callers of mbrtowc() to reset mbstate when it returns -1. 2016-07-06 10:43 -0700 Kevin McCarthy (88793198dfcb) * po/fr.po: merge stable 2016-07-06 10:41 -0700 Kevin McCarthy (88030069f94d) * .hgsigs: mutt-1.6.2 signed 2016-07-06 10:40 -0700 Kevin McCarthy (592270259a8e) * .hgtags: Added tag mutt-1-6-2-rel for changeset 7ccd4417bd70 2016-07-06 10:40 -0700 Kevin McCarthy (7ccd4417bd70) * ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.6.2 2016-07-01 13:33 -0700 Kevin McCarthy (7e817890913c) * send.c: Check $pgp_autoinline and $pgp_replyinline if oppenc is set. (closes #3846) The first oppenc call takes place after the initial checks of $pgp_autoline and $pgp_replyinline, and doesn't go through the pgp menu. Therefore, check for $pgp_autoline and $pgp_replyinline if oppenc is set too, to avoid oppenc enabling encryption without INLINE being set in those cases. a6a4d6ed0f19 previously cleaned things up so that it is safe to set INLINE even if encryption isn't enabled. 2016-05-24 12:08 -0700 Kevin McCarthy (f1f1af650910) * keymap.c: Fix infinite loop when help is bound to a named key combination. Commit a07e8215a0ef introduced a bug in km_error_key, which is called when an unbound key is pressed. If help is bound to a sequence containing named keys (e.g. ), the raw (untokenized) string would be pushed back into the unget buffer. This could lead to an infinite loop of unbound key presses triggering more unbound keys being put into the unget buffer. Change km_error_key to tokenize the string before putting it in the unget buffer. Much thanks to Jiri Bohac for his bug report, analysis, and initial patch! 2016-04-30 14:21 -0700 Kevin McCarthy (1ef1e39a7218) * ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.6.1 2016-04-30 14:23 -0700 Kevin McCarthy (2822cefa33d6) * .hgtags: Added tag mutt-1-6-1-rel for changeset 1ef1e39a7218 2016-04-30 14:25 -0700 Kevin McCarthy (e3bc23cbe3d1) * .hgsigs: mutt-1.6.1 signed 2016-04-27 13:08 -0700 Kevin McCarthy (23334e967dd7) * Makefile.am, getdomain.c, mutt_sasl.c, mutt_socket.c, mutt_tunnel.c, sys_socket.h: Create a wrapper sys_socket.h to work around Solaris namespace issues. (closes #3833) Solaris includes "sys/stream.h" inside their "sys/socket.h". This include file adds many non-reserved macros to Mutt's namespace, two of which conflict with existing Mutt macros. The simplest fix would be to rename those macros in Mutt, however this will cause difficulty with out-of-tree patches. This fix creates a wrapper include file that preserves those existing macros and prevents the Solaris values from entering Mutt's namespace. 2016-04-10 16:02 -0700 Kevin McCarthy (a6a4d6ed0f19) * crypt.c, send.c: Fix mutt_protect() when INLINE is set. (closes #3828) The oppenc changes allow security bits to be set even when not encrypting or signing (for instance, OPPENCRYPT and INLINE). mutt_protect() assumed that if INLINE is set, then either ENCRYPT or SIGN must also be set. Specifically, it would end up inline-signing the message even though neither was set. Ensure mutt_protect() is a noop if neither SIGN or ENCRYPT are set. In ci_send_message(), check for sign or encrypt before calling the crypt_get_keys() / mutt_protect() block, and also in the fcc section (since clear_content would be NULL if not). The second change to the fcc part is somewhat redundant, but better to be explicit and avoid the case where the subtype is somehow "encrypted" or "signed" even though msg->security wasn't set thus. 2016-04-05 14:31 -0700 Kevin McCarthy (f7db9cefd3b0) * Makefile.am, configure.ac, mutt_idna.h: Fix IDNA functions for systems without iconv. The IDNA changes for SMTPUTF8 support introduced a bug for systems without iconv. For those systems, the local<->intl functions would return an error due to the charset conversion failing. Change mutt_idna.c back to being conditionally compiled, but this time based on HAVE_ICONV. If there is no iconv, stub out the functions in mutt_idna.h. 2016-04-02 13:04 -0700 Kevin McCarthy (b983eb6c1a04) * merge default into stable 2016-04-02 11:55 -0700 Kevin McCarthy (b81408b02cbb) * .hgsigs: mutt-1.6.0 signed 2016-04-02 11:18 -0700 Kevin McCarthy (349f9cb71427) * .hgtags: Added tag mutt-1-6-rel for changeset be82a2fde82f 2016-04-02 11:18 -0700 Kevin McCarthy (be82a2fde82f) * ChangeLog, UPDATING, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.6.0 2016-04-01 09:38 -0700 Kevin McCarthy (503bd3a3c818) * Makefile.am: Fix hcversion.h generation error when using included gettext. When configuring mutt with --enable-hcache and --with-included-gettext, there is an automake ordering issue: BUILT_SOURCES are processed before SUBDIRS. Therefore, the 'hcversion.h' target is run before the included gettext (intl) is built. The hcversion.h target runs the cpp over config.h and mutt.h, but mutt.h includes lib.h which tries to #include . Unfortunately, libintl.h (in this configuration) is generated by the intl subdir build and so doesn't exist yet. While the build doesn't completely fail, the resulting hcversion.h is incorrect: it's just the md5sum of the initial value of BASEVERSION. This fix is somewhat of a hack but is cleaner than trying to change automake's behavior. It inserts a '#undef ENABLE_NLS' in between the config.h and mutt.h sent to the cpp. Since hcachever.sh is just scanning the data structures used by mutt, this shouldn't affect the hash generated. Thanks to Will Yardley for reporting this issue. 2016-03-30 13:16 -0700 Kevin McCarthy (6e0aca94cdb0) * mbyte.c: Filter out bidi marks in rfc2047 and rfc2231 encoding. (see #3827) Filter out U+200F RIGHT-TO-LEFT MARK and U+200E LEFT-TO-RIGHT MARK in rfc2047 and 2231 encoded fields. GNU Screen has a bug that corrupts the display, and can cause the wrong email to appear to be selected in the index. Until screen fixes the issue, filter it out in mutt. 2016-03-29 14:07 -0700 Kevin McCarthy (96b7714fef87) * doc/manual.xml.head: Fix documentation: mime_lookup (not mime- lookup). 2016-03-29 15:06 +0200 Vincent Lefevre (47aeb87ce9cd) * doc/manual.xml.head: Fix typo. 2016-03-26 15:45 -0700 Kevin McCarthy (62e478a3f1c8) * imap/imap.c: Fix error handling in sync_helper() and imap_sync_mailbox(). (closes #3817) This patch is based on the one Richard Russon found in the Fedora package. If an error occurs during one of the imap_exec() calls in imap_sync_mailbox(), the mailbox could end up being closed. This would cause idata->ctx to be NULL. Add a check in sync_helper() for the case where idata->ctx == NULL. In imap_sync_mailbox(), check the return value of sync_helper(). To keep the code simple, change rc from being the sum of the calls to the bitwise-OR of the calls. (We only need to know if a single flag needs to be updated, and bitwise-OR will detect negatives.) Below the calls to sync_helper(), if the call to imap_exec() fails, make sure rc is set to -1. 2016-03-26 13:30 -0700 TAKAHASHI Tamotsu (0b1f1daba437) * po/ja.po: Updated Japanese translation. 2016-03-24 12:07 -0700 Benno Schulenberg (484b34e23f2a) * po/eo.po: Updated Esperanto translation. 2016-03-23 15:28 -0700 Kevin McCarthy (55a389b96d0b) * imap/browse.c: Prevent renaming root folder in imap. The root folder results in mx.mbox being NULL, which causes a segfault. This can be triggered by entering a subfolder and trying to rename the ".." entry. Due to the translation string freeze, no visible error message is displayed. Add a TODO note about this for post-1.6 release. 2016-03-23 14:20 -0700 Kevin McCarthy (27cde0a2fe32) * imap/browse.c: Fix uninitialized prompt buffer in imap_mailbox_rename(). (closes #3819) This is a patch from OpenBSD to initialize the newname buffer in imap_mailbox_rename(). Previously it would generate random garbage in the prompt. This version of the patch initializes the prompt to the old mailbox name. Thanks to TAKAHASHI Tamotsu for finding this patch. 2016-03-23 13:17 -0700 Kevin McCarthy (789500dae762) * doc/manual.xml.head: Add "-d" command-line option to manual. (closes #3816) Thanks to Richard Russon for finding this patch in the Fedora package. 2016-03-23 13:06 -0700 Ivan Vilata i Balaguer (180380cd9119) * po/ca.po: Updated Catalan translation. 2016-03-22 18:00 -0700 Kevin McCarthy (a3450fd50d11) * curs_lib.c, protos.h: Clean up mutt_wstr_trunc() some more. * Change return type to size_t. The return value is the cumulation of values from mbrtowc(), which returns size_t. All callers already assign the return value to a size_t, requiring no external changes. * Change the local variables n, w, l, and cl to size_t. n is the strlen of the src parameter. l and cl are used for the return value. w is assigned to the *width parameter, which is size_t. cw is kept as an int, because wcwidth returns type int. * Change error handling of mbrtowc to be the same as other functions in mutt: only reset mbstate when the retval==-1. When retvat==-2, set cl=n to break out of the loop. Also, set wc to replacement_char and allow the logic below to determine the width instead of hardcoding to 1. 2016-03-20 17:06 -0700 Karel Zak (c8c76a6a1e61) * curs_lib.c: Improve error handling in mutt_wstr_trunc(). This is Karel Zak's patch to fix handling of (illegal) multi-byte chars. * mutt_wstr_trunc(): Reset mbstate after error in mbrtowc(). Set wc=0 if wcwidth returns < 0. Addresses: https://github.com/karelzak/mutt-kz/issues/58 Thanks to Richard Russon for bringing this patch to our attention. 2016-03-22 12:35 -0700 Benno Schulenberg (b302f9868d78) * po/nl.po: Updated Dutch translation. 2016-03-21 01:31 +0100 Vincent Lefevre (b3703e907d83) * po/fr.po: Updated French translation. 2016-03-20 15:38 -0700 Vsevolod Volkov (2a73a6e7c6e7) * po/ru.po: Updated Russian translation. 2016-03-20 15:36 -0700 Vsevolod Volkov (b3504a7b6cc2) * po/uk.po: Updated Ukrainian translation. 2016-03-20 15:30 -0700 Morten Bo Johansen (1f8e728ac6af) * po/da.po: Updated Danish translation. 2016-03-19 17:25 -0700 Kevin McCarthy (7992020e522d) * sendlib.c: Turn off asserts in sendlib.c. The Doctor reported triggering an assertion in convert_file_to(), due to an unexpected errno from iconv(). According to the comments, the assertions were only enabled for debugging and should have been turned off. We certainly don't want to abort mutt for this case, so just disable them as the comment indicates. 2016-03-19 16:19 -0700 Petr Pisar (36bf3b7ebd2c) * po/cs.po: Updated Czech translation. 2016-03-19 06:08 -0700 Kevin McCarthy (36f855a4a2cc) * crypt-gpgme.c, init.c, mutt_ssl.c, pgp.c: Fix a few typos in translation messages. Thanks to Moritz Barsnick for reporting these. 2016-03-18 12:12 +0100 Vincent Lefevre (fb13f458ad16) * po/fr.po: Updated French translation. 2016-03-18 10:15 +0100 Vincent Lefevre (6630c196ecd8) * mutt_ssl.c: Fix typo in debug message. 2016-03-17 17:33 -0700 Richard Russon (cbf073e5e0d7) * recvattach.c: Fix typo picked up by Debian's QA. This was allegedly fixed 5 years ago (see #3493). 2016-03-17 17:22 -0700 Richard Russon (1fb2a924a7c0) * Makefile.am: Use '$(PACKAGE).pot' instead of 'mutt.pot' in Makefile.am 2016-03-17 17:12 -0700 Richard Russon (80926cec6d41) * hcache.c, imap/auth_gss.c: Fix three build warnings when DEBUG isn't defined. 2016-03-16 14:15 -0700 Kevin McCarthy (cc1af19c0763) * hcache.c: Fix tcbdb error reporting to use ecode, not errno. After committing aff8d62ebddb and taking a closer look at the tcbdb documentation, I realized those functions don't set errno. Change the error handling messages to instead get the ecode and message using tcbdbecode() and tcbdberrmsg(). 2016-03-16 13:33 -0700 Kevin McCarthy (aff8d62ebddb) * hcache.c: Fix crash in hcache_open_tc() when open fails and debug is on. (closes #3813) When the hcache open fails, it was trying to dprint. The dprint had a %s where it was passing errno, leading to a crash in strlen. Unify the dprint messages for tcdbopen and tcdbclose to report the path, strerror, and errno. Thanks to Will Yardley for capturing the stack trace! 2016-03-15 18:04 -0700 Kevin McCarthy (29b254ac7c12) * mbox.c: Prevent ctx->fp from being closed twice in the event of an error. The previous patch from Vincent exposed a crash if ftruncate() fails in mbox_sync_mailbox(). Change fclose() to safe_fclose(), to avoid it being called twice. 2016-03-15 18:01 -0700 Vincent Lefevre (2a152212cd9a) * mbox.c: Check return value of ftruncate() in mbox_sync_mailbox(). Generate an error in the event that ftruncate() fails. 2016-03-13 19:04 -0700 Kevin McCarthy (73c8c033e184) * init.h: Update the $hostname documentation. Change to reflect the updates in changeset ce71d168c819. 2016-03-13 18:18 -0700 Kevin McCarthy (ad14066bf6c1) * UPDATING: Update the UPDATING file for 1.6.0 2016-03-13 11:19 -0700 Kevin McCarthy (90d0935c3142) * rfc2231.c: Fix RFC2231 continuation join order. (closes #3811) (closes #3741) The function generating a list of parts to join had incorrect sorting logic. It was comparing values, not attributes. Additionally, the order logic wasn't correct. Thanks to TAKAHASHI Tamotsu for pointing out the value vs attribute comparison bug. 2016-03-11 13:47 +0100 Vincent Lefevre (bd0e695f627e) * po/fr.po: Updated French translation. 2016-03-10 15:52 -0800 Kevin McCarthy (b5f170446e14) * doc/manual.xml.head: Improve the mailto_allow documentation. Add to the commands list. Document unmailto_allow. Mention the new behavior in the Security Considerations section about mailto: links. 2016-03-10 14:59 -0800 Michael Elkins (ad94dd58966b) * doc/manual.xml.head, doc/muttrc.man.head, globals.h, init.c, init.h, url.c: Restrict mailto header fields using mailto_allow. By default, only the body and subject fields are allowed. These can be changed with the mailto_allow and unmailto_allow commands. 2016-03-10 14:20 -0800 Kevin McCarthy (b46ee6523400) * configure.ac: Check stat return value in configure.ac. (closes #3810) 2016-03-08 15:57 -0800 Kevin McCarthy (d07d2e9f1e34) * init.h, main.c, mutt.h: Add $resume_edited_draft_files option. This adds an extra header when saving edited draft files (-E -H on the command line). With this header, the next time they are edited, they are automatically "resumed" (by setting $resume_draft_files). The idea is to prevent multiple user-defined headers and signatures from being added to the draft message by avoiding processing it as a brand new message after the first time. 2016-03-08 15:57 -0800 Kevin McCarthy (24b4f14e9538) * init.h, mutt.h, send.c: Add $resume_draft_files option. When set, draft files are processed the same as when resuming postponed messages. One use of this option is to avoid multiple user-defined headers and signatures being added to the message. (e.g. when -E is used repeatedly on the draft files). 2016-03-08 13:12 -0800 Derek Martin (ce71d168c819) * getdomain.c, init.c: Improve method of determining FQDN. (closes #3298) Rather than reading /etc/resolv.conf, use gethostname() and getaddrinfo() to get the canonical domain. Thanks to Vincent Lefèvre for the memory leak fix. 2016-03-02 15:08 -0800 Kevin McCarthy (8e77637a1a69) * init.h: Document that GPGME doesn't support creating inline PGP messages. 2016-03-02 15:08 -0800 Kevin McCarthy (6034900d1636) * crypt-gpgme.c: Add hard redraw for the gpgme application/pgp handler. Will Yardley reported display artifacts and keyboard issues after decrypting a traditional pgp message using gpgme. It turns out the gpgpme code path was missing a hard_redraw() to repaint the screen after pinentry. 2016-02-28 19:42 -0800 Kevin McCarthy (d11b6776532f) * main.c, mutt.h, send.c: Draft file tweeks: rename flag, don't auto- abort on no change. Rename the flag to SENDDRAFTFILE since it will be used in contexts other than the body allocation. Don't automatically abort if the message was unchanged; it seems possible the draft files could be used as the entire message reply. 2016-02-15 19:44 -0800 Kevin McCarthy (909cf6dd067c) * contrib/gpg.rc, crypt-gpgme.c, globals.h, init.h, pgp.c: Add $pgp_decryption_okay to verify multipart/encrypted are actually encrypted. (closes #3770) In pgp classic mode, if the $pgp_decrypt_command generated output, it assumed the content was encrypted. However, gpg will generate output even if the block is simply signed and armored text. The problem is that mutt was then printing mime headers labelling the output as encrypted text in the ui. Add a new option, and suggested value of: set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY" If set, the output from the decrypt command will be scanned for this regexp to confirm an actual decryption occurred. Note that gpgme already correctly rejects this form of spoofed message. 2016-02-11 15:12 -0800 Kevin McCarthy (b55c6a64a07b) * crypt-gpgme.c: Update the status message after decryption using gpgpme. Change gpgme to behave the same as classic pgp mode: after a decryption, update the status message to overwrite the initial "Invoking PGP..." message. 2016-02-11 02:15 +0100 Vincent Lefevre (3b59ef2bf032) * po/fr.po: Updated French translation. 2016-02-07 10:15 -0800 Kevin McCarthy (87c46e1f6f8c) * postpone.c: Fix pgp and smime decryption in mutt_prepare_template(). Change the "combined" multipart decryption block to only work for pgp, since mutt_is_multipart_encrypted() currently only checks for pgp headers and it therefore only worked for pgp in the first place. Fix the newhdr->security to be based on what that function returns, instead of the "context" hdr passed in. Add a smime decryption block below when iterating through the content. Fix the application/pgp decryption block to assign to hdr->security using the type of the app/pgp part instead of hdr->content. 2016-02-07 10:15 -0800 Kevin McCarthy (a4d885bb36ab) * compose.c, doc/manual.xml.head, doc/mutt.man, main.c, mutt.h, protos.h, send.c: Add new flag -E to modify draft/include file. (closes #3799) Specifying -E with -i will cause mutt to directly edit the include file. Specifying -E with -H will cause the draft file to be regenerated from the latest version of the email on exit. Improve -H so that it will read (and write) multipart messages. 2016-01-26 13:46 -0800 Kevin McCarthy (e8f7a08cb7ac) * doc/manual.xml.head: Mention under the key bindings documentation. 2016-01-23 12:30 -0800 Kevin McCarthy (df42596d08fe) * lib.h: Increase HUGE_STRING size to 8192. (see #3804) The interface for editing a large number of recipients is poor and perhaps shouldn't be using a fixed buffer size. Until a redesign can be thought about, this will help. 2016-01-19 14:05 -0800 Kevin McCarthy (b315c4d4ede7) * imap/auth_sasl.c, pop_auth.c, smtp.c: Make sasl authentication buffers dynamically sized. (see #3804) The reporter found that the current buffer of HUGE_STRING was insufficient in his case to encode the clientout response back to the server in imap_auth_sasl(). Since sasl gives us the size of "clientout", we can dynamically malloc and resize the buffer as needed. This patch uses max(LONG_STRING, (clientoutlen*2)). This is sufficient to hold the base64 encoded value plus additional prefix/suffix needed in each protocol. The size is rechecked after each sasl_client_step() and resized as needed. Similar code is in pop_auth_sasl() and smtp_auth_sasl(), so convert all three to use a dynamic buffer. 2016-01-05 18:08 -0800 Kevin McCarthy (7c0bd34546f4) * smime.c: Allow tab as a delimiter in smime .index files. (closes #3802) The old parsing code used fscanf, and so happened to allow a tab as a delimiter. Even though smime_keys.pl uses a space, some users maintain their own .index files by hand (using tab delimiters), so continue to allow that delimiter. Thanks to Andre for the bug report and patch. 2016-01-04 16:28 -0800 Kevin McCarthy (cf4c1c21e58d) * compose.c: Add a couple missing ATTACHPTR->tree frees. While working on ticket 3800, I noticed the tree wasn't being freed inside OP_COMPOSE_EDIT_HEADERS. Add a free there, and in the cleanup at the end of mutt_compose_menu(). A few other sections in mutt_compose_menu() are performing a free- on-error where the tree isn't allocated yet, so skip it for those. I believe this is actually not fixing a memory leak: all attachments are always at level 0 in the compose menu (as far as I know); so nothing is ever allocated in the tree pointer. However since other parts of the code in compose.c clean this up, it make sense to add them here too. 2016-01-04 13:57 -0800 S. Gilles (960017a249f7) * color.c: Prefer bright versions (8-15) of colors for brightXXX backgrounds. When a bright color is specified as a background, try to use the bright version of that color, falling back to the A_BLINK method only on terms which do not support enough colors. 2016-01-01 12:24 -0800 Kevin McCarthy (d3f31cf9239e) * parse.c: Use strrchr to search for Received date separator. (closes #3798) Sample email provided by the submitter showed a Received header with a ";" at the end of each line, instead of a single ";" in front of the date. The emails are obviously not RFC compliant, but the fix is simple enough: find the last ";" using strrchr instead of the first. 2016-01-01 12:16 -0800 Kevin McCarthy (cec45c0a405e) * doc/manual.xml.head: Update manual copyright too. 2016-01-01 12:07 -0800 Kevin McCarthy (b74ce90c7ba1) * account.c, account.h, ascii.h, bcache.c, bcache.h, commands.c, crypt-gpgme.c, crypt.c, cryptglue.c, curs_lib.c, curs_main.c, enter.c, globals.h, imap/auth.c, imap/auth.h, imap/auth_sasl.c, imap/browse.c, imap/command.c, imap/imap.c, imap/imap.h, imap/imap_private.h, imap/message.c, imap/message.h, imap/util.c, init.h, keymap.c, lib.c, mutt_idna.c, mutt_sasl.c, mutt_sasl.h, pager.c, parse.c, pattern.c, pgp.c, pgp.h, pgpkey.c, pgplib.h, pgppacket.c, pop.c, postpone.c, rfc3676.c, rfc822.c, send.c, smime.c, smime.h, smime_keys.pl, smtp.c, url.c: Convert copyright years to all use 4 digit years. Vincent Lefèvre pointed out the common shortcut, e.g 1996-9, is actually not allowed for copyright years. Convert all the copyright years (for mutt files) to use 4 digits. 2016-01-01 12:07 -0800 Kevin McCarthy (fdd3fdd6f708) * COPYRIGHT, account.h, attach.c, bcache.c, browser.c, buffy.c, buffy.h, color.c, compose.c, copy.c, crypt-gpgme.c, curs_lib.c, curs_main.c, enter.c, from.c, handler.c, headers.c, imap/auth_login.c, imap/command.c, imap/imap.c, imap/imap_private.h, imap/util.c, init.c, init.h, keymap.c, keymap.h, lib.c, lib.h, main.c, mbox.c, mh.c, mime.h, mutt.h, mutt_curses.h, mutt_idna.c, mutt_sasl.c, muttlib.c, mx.c, mx.h, pager.c, parse.c, pattern.c, pgp.c, pop.c, postpone.c, protos.h, query.c, recvattach.c, rfc1524.c, rfc2047.c, rfc822.c, send.c, sendlib.c, signal.c, smime_keys.pl, system.c: Update copyright notices. This patch only updates existing copyright notices in the source files, using commit dates since the last copyright update in commits e3af935cdb1a and f8fd60d8d3f2. Add a notice to the COPYRIGHT file to refer to our mercurial repository for the full commit history. Add myself to the COPYRIGHT file and smime_keys.pl file. 2016-01-01 09:52 -0800 Kevin McCarthy (c6471322c68f) * compose.c: merge stable 2016-01-01 09:48 -0800 Kevin McCarthy (f99561e22a99) * compose.c: Fix segfault when deleting and reusing attachment slots. (closes #3800) When attachments are deleted, delete_attachment() slides the entries down in the idx array, but forgets to NULL out the last vacated slot. If more attachments are added later on via OP_COMPOSE_EDIT_HEADERS and the Attach: pseudo-header, mutt_gen_attach_list() will attempt to re-use the ATTACHPTR in that last slot because it wasn't set to NULL. This will be pointing to freed memory and likely segfault (at best). 2015-12-17 12:25 -0800 Kevin McCarthy (9480a363a68a) * init.h: Add missing "yes" to $recall option documentation. Also add a blurb about the function. 2015-12-17 07:37 -0800 Kevin McCarthy (52df4013b0b7) * doc/manual.xml.head: Reword new f=f documentation. Reword a couple parts, as Oswald Buddenhagen suggested the original wording was somewhat confusing. 2015-12-15 15:29 -0800 Kevin McCarthy (e52d3e9c83d8) * doc/manual.xml.head, init.h, mutt.h, rfc3676.c: Add $reflow_space_quotes option. (closes #3309) When viewing and replying to a flowed email, add spacing between the quotes to improve readability and interoperability with non-flowed replies. Add a section to the documentation discussing support for viewing and non-flowed replies to flowed emails. 2015-12-08 09:12 -0800 Kevin McCarthy (02bc14ed1569) * merge stable 2015-12-08 09:11 -0800 Kevin McCarthy (f542783e257d) * mh.c: Fix hash table key "use after free" in mh_check_mailbox(). (closes #3797) The fnames hash uses the maildir->header->path as the key. As matches are found, the headers are freed. This inadvertantly also freed the key to the hashtable entry; the next hash_find() going to the same bucket might end up comparing keys with a freed string. This patch stores the path in the struct maildir canon_fname field (just as maildir_check_mailbox() does) and uses that as the hash key instead. This field isn't used outside of maildir_check_mailbox(), and is automatically freed for us in the maildir_move_to_context() call at the bottom of both functions. Note there are other ways to fix this problem: - Add a new mode to the hash table, causing it to strdup the keys and free them itself. - Delete the entries in the fnames hash, rather leaving them there. The first seems the cleanest, but would end up touching much more code. The second is also clean, but might have a negative performance impact. Additionally, peeking back in history to changeset 1d45a50b6f9b, it looks like the canon_fname used to be used by mh too, so perhaps removing the strdup may have been a mistake during refactoring at some point. 2015-12-07 12:22 +0100 Vincent Lefevre (72fbf15cd9a1) * po/fr.po: Updated French translation. 2015-12-03 15:23 -0800 Kevin McCarthy (bce2a0e71bf6) * crypt.c: Provide a better prompt and error for inline PGP with attachments. (closes #3738) Change mutt_protect() to check for text/plain before trying to invoke crypt_pgp_traditional_encryptsign(). This way, mutt can provide a bit more specific prompt and error message. Since pgp_mime_auto says it will prompt in the event of any failure, keep the more generic prompt after the encryptsign call too. 2015-12-01 18:20 -0800 Kevin McCarthy (5e5aff1782dc) * crypt.c: Loosen mutt_signed_handler() protocol value consistency check. (closes #3639) Apparently, for S/MIME, some MUAs mismatch the protocol value of the multipart/signed and the content-type of the signature: putting "pkcs7-signature" in one and "x-pkcs7-signature" in the other. Change mutt_signed_handler() to independently verify the values of the protocol and the content-type. This still checks for correct values but doesn't ensure they match between the two (for S/MIME). 2015-11-30 15:52 -0800 Kevin McCarthy (428a92464d5b) * contrib/smime.rc, globals.h, init.h, smime.c: smime: allow signing message digest algorithm to be specified. Currently, Mutt hardcodes micalg=sha1 for signed messages. Unfortunately, the actual message digest algorithm used defaults to the value in the "Signature Algorithm" field in the signing key's certificate. Add a new configuration option $smime_sign_digest_alg, defaulting to sha256. Add a new printf format string, %d, to be used in the signing command to specify the digest algorithm. Modify the sample $smime_sign_command to include "-md %d". Note: This solution requires using the modified $smime_sign_command, or else the micalg parameter again may not match the algorithm used. An alternative solution would be to query the certificate "Signature Algorithm" field and try to change the micalg to match it, but this method is easier to implement and provides better control for the user to configure, in any case. 2015-11-26 11:01 -0800 Kevin McCarthy (ff560d1f3f7a) * smtp.c: Clean up address_uses_unicode() (closes #3794) Pull the null check out of the loop. Use a bit comparison to detect if the high bit is set: this avoids a warning for platforms where char is implicitly signed (where comparing < 128 is always true). 2015-11-24 21:45 -0800 Kevin McCarthy (94186a96ca17) * mutt_idna.c: Fix bad idn error on local mailboxes. (closes #3795) Commit 831abf39d53a pulled the mbox_to_udomain() call inside the conversion functions. Unfortunately, this causes local (user only) mailboxes to be considered conversion errors instead of just skipping them. Revert mbox_to_udomain() back to using a static buffer and pull back into the mutt_addrlist_to_local/intl() functions. Pass the user and domain into the conversion functions instead of the address. 2015-11-24 15:49 -0800 Kevin McCarthy (0d7ce56bbafd) * mutt_idna.c: Add user reversibility check in intl_to_local. This ensures we don't lose information by converting to the local charset. 2015-11-24 15:49 -0800 Kevin McCarthy (935c779db0ea) * smtp.c: Implement SMTPUTF8 capability support in smtp.c This is patch 4 of 4 implementing support for SMTPUTF8 (RFC 6531). RFC6532 support already worked: rfc822*.c already parsed messages in exactly the way RFC6532 wants. Thanks for Arnt Gulbrandsen for the original patch. 2015-11-24 15:49 -0800 Kevin McCarthy (151ff413e21a) * init.h, mutt.h, mutt_idna.c: Add option 'idn_encode'; rename option 'use_idn' to 'idn_decode'. This is patch 3 of 4 implementing support for SMTPUTF8 (RFC 6531). Add an option to control whether international domains are encoded with IDN or not. This defaults to set, for backward compatibility. Rename the use_idn option to idn_decode, since that more properly reflects its purpose. 2015-11-24 15:49 -0800 Kevin McCarthy (831abf39d53a) * mutt_idna.c: Rewrite address local-to-intl conversion functions. This is patch 2 of 4 implementing support for SMTPUTF8 (RFC 6531). Perform charset conversion from local to UTF-8 for both the user and domain parts of the address. If IDN is enabled and the options (added in the next patch) are turned on, encode/decode the domain part. Use the intl_checked and is_intl status bits to record the intl/local status of the ADDRESS mailbox part. 2015-11-24 15:49 -0800 Kevin McCarthy (814ece9689cc) * Makefile.am, alias.c, commands.c, compose.c, configure.ac, edit.c, init.c, main.c, mutt_idna.c, mutt_idna.h, query.c, recvcmd.c, rfc822.c, rfc822.h, send.c, sendlib.c: Rename idna functions and bits for smtputf8 changes. This is patch 1 of 4 implementing support for SMTPUTF8 (RFC 6531). Change mutt_idna.c to be always compiled. Remove the stub functions in mutt_idna.h. Instead, put #ifdefs around the idna function calls. The conversion functions will be fixed up in the next patch. Rename the conversion functions to mutt_addrlist_to_intl() and mutt_env_to_intl(). Rename the ADDRESS idna status bits to "intl" status bits. 2015-11-21 15:28 -0800 Kevin McCarthy (e635ce43b001) * imap/browse.c: Remove redundant mbox delimiter check in imap_browse(). (closes #3646) imap_fix_path() removes duplicate and trailing delimiters, so the check below it was redundant. This also made it appear list.delim could be used uninitialized. Remove the check, but add a check to make sure the "fixed" path has len>0, to prevent oob accesses of mbox[n-1] below. Lastly, remove a redundant n=strlen(mbox) inside the initial LIST processing loop. The mbox isn't changed from above, so there is no need to rerun strlen. 2015-11-18 16:14 -0800 Kevin McCarthy (444f1f013f1b) * enter.c: Fix memcpy buf=NULL/len=0 issue in replace_part(). (closes #3790) Calling memcpy with src or dest=NULL is technically illegal, even if len=0. Recent compilers seem to now be generating warnings/errors with this. replace_part() is currently the only place we are getting bug reports, so for now just fix the problem in this one place. 2015-11-09 18:53 -0800 Kevin McCarthy (c799162691b2) * pattern.c: Improve error messages for eat_date() and eat_regexp(). After calling mutt_extract_token(), s->dptr will typically be at the end of the string if an error occurred. Save a pointer to the beginning of the expression, so it can be properly displayed in the error message. Convert eat_date() and eat_regexp() to use the same iconv strings for the error message. 2015-11-09 15:40 -0800 Kevin McCarthy (1c151d8800de) * curs_lib.c, lib.h, pattern.c, rfc2047.c, rfc822.c: Fix possible unintentional '\0' strchr matches. After fixing the ticket 3787 strchr issue, this patch cleans up other potentially incorrect uses of strchr for the '\0' case. In mutt_multi_choice(), mutt_getch() can technically return 0. Although it seems the user would have to try quite hard to do this, it's incorrect to return that index into letters. Change "ch.ch==0" to be considered the same as an abort. is_email_wsp() is used in a couple places where it wasn't obvious whether '\0' was being accounted for, so add an explicit check to the function. Inside eat_date(), if mutt_extract_token() had no input and returned "", the strchr ("<>=", buffer.data[0]) below would return a pointer. In actuality, this is prevented by an empty parameter check inside mutt_pattern_comp(), but it doesn't hurt to make it the same as eat_regexp() and have the check explicitly done here too. rfc2047_encode() was another borderline case for adding a check. The convert_string() sets a length, so it seems highly unlikely that *t could be 0, but doesn't hurt to add the check. The find_encoded_word() fix looks necessary. If the passed in s was something like "=?charset?" (followed by EOS, '\0'), the strchr("BbQq", q[1]) would in fact return a pointer and the following q[2] would read past the end of string. If q[2] happened to be '?', it might even continue reading in the for loop below. Lastly, in parse_mailboxdomain(), the potential overread was already fixed in changeset:a6919571eb59, but although the nonspecial and special strchr() line happens to "work" for the case of '\0', it's pretty fragile to leave as is. It's better to be explicit and just return if we hit EOS without calling next_token(). 2015-10-20 17:59 +0200 Vincent Lefevre (17991330c086) * po/fr.po: Updated French translation. 2015-10-18 20:05 +0800 Kevin McCarthy (41af5a753d6f) * merge stable 2015-10-18 19:45 +0800 Kevin McCarthy (a6919571eb59) * rfc822.c: Fix next_token() oob read. (closes #3787) With specially crafted input to 'mutt -H', the line "Return-Path:<() " is read and passed to mutt_parse_rfc822_line(). "<() " is then passed through to rfc822_parse_adrlist(). Eventually, inside next_token(), is_special(*s) is called when s points to the end of the string ('\0'). This macro calls strchr, which will actually match and return a pointer to the trailing '\0' in RFC822Specials! This causes "s + 1" to be returned, skipping past the end of string inside parse_mailboxdomain(). This patch adds a check to make sure *s is non-null before calling is_special(*s). 2015-10-17 11:15 +0800 Kevin McCarthy (19c3406fbad9) * compose.c: Fix error message for attach-message. (closes #3785) Currently if mx_open_mailbox() fails when trying to attach a message, mutt_perror() is called. Change this to call mutt_error() instead, since errno isn't set for all failure cases. 2015-10-08 13:17 +0200 Vincent Lefevre (7aa4e6fc6884) * po/fr.po: Updated French translation. 2015-10-04 10:08 +0800 Kevin McCarthy (a07e8215a0ef) * browser.c, commands.c, curs_lib.c, curs_main.c, keymap.c, menu.c, mutt.h, mutt_curses.h, mutt_ssl.c, mutt_ssl_gnutls.c: Create a separate macro/push/exec event buffer. (closes #3779) Currently, the SSL and TLS certficate prompts turn on OPTUNBUFFEREDINPUT, (to prevent macros and such from running right through the dialog). Unfortunately, the menu dialog processing in menu_dialog_dokey() is using mutt_ungetch() to forward non-dialog keys on to standard menu processing. With OPTUNBUFFEREDINPUT set, those keys never make it to the menu and are buffered until after the menu dialog. This patch creates a new event buffer, separate from the standard "unget" buffer, for use by macros, exec, and push events. These events can be temporarily ignored by setting OPTIGNOREMACROEVENTS (renamed from OPTUNBUFFEREDINPUT), while continuing to allow unget events to be processed. Since the "push" and "unget" functions now go to different buffers, function names were slightly renamed, to make it less easy to unintentionally use the wrong function at the wrong time. 2015-10-04 10:08 +0800 Kevin McCarthy (ac156dcc2c54) * menu.c, mutt_ssl.c, mutt_ssl_gnutls.c: Fix menu type in certificate prompt. (see #3779) The menu type is used in several places as a direct index into Keymaps[], so passing in -1 to mutt_new_menu() was leading to illegal memory accesses later on. Add a range check in mutt_new_menu(), defaulting to MENU_GENERIC, to prevent this problem in the future. 2015-10-01 15:38 +0800 Kevin McCarthy (9de2f1c6da87) * compose.c: Improve prompt when switching between PGP and S/MIME. (closes #3777) Only prompt when encrypt or sign is enabled. Also, improve oppenc to run and refresh the status when switching. 2015-09-30 11:25 +0800 Kevin McCarthy (909dfe9878ff) * smime.c: Fix chomp in smime_handle_cert_email. During a review of the previous patch, Oswald Buddenhagen noticed two of the fixed oob reads had another problem: they were "chomping" (the newline) without verifying there actually was a newline at the end of the string. 2015-09-30 11:25 +0800 Kevin McCarthy (d9142ca37afb) * smime.c: merge stable 2015-09-30 11:21 +0800 Kevin McCarthy (590ff6eebe1a) * parse.c, smime.c, smtp.c: Fix oob reads when fgets returns "\0". (closes #3776) The ticket reported an out of bounds read in mutt_read_rfc822_line() when a '\0' was embedded on its own line in the headers. The function assumed if fgets() didn't return NULL, then the string would have at least one character. I scanned the rest of the code and found three other places making the same assumption for fgets. Thanks to hanno for finding this with the "american fuzzy lop" tool. 2015-09-20 20:37 -0400 Derek Schrock (aec82c4dd826) * UPDATING, hdrline.c, init.h, send.c: Add new optional index_format expandos %r and %R. These generate a comma separated list of all the To and Cc recipients. Also, increase the attribution buffer size to accommodate these new expandos. 2015-09-21 10:28 +0800 bat guano (93c6ae1ef01b) * po/de.po: German translation fix. (closes #3701) 2015-09-20 19:05 +0800 TAKAHASHI Tamotsu (2fdec286cfb7) * po/ja.po: Updated Japanese translation. 2015-09-20 18:58 +0800 Kevin McCarthy (61c754a8effd) * pager.c: Translation improvements. Thanks to TAKAHASHI Tamotsu for pointing out these ones I missed. 2015-09-13 14:41 +0800 Kevin McCarthy (e85eda4ee425) * po/Makefile.in.in, po/bg.po, po/hu.po, po/ko.po, po/pt_BR.po, po/uk.po: Enable msgfmt translation check flag -c. Fix discovered translation format string errors. 2015-09-13 11:47 +0800 Kevin McCarthy (6eb6b41f5d45) * compose.c, crypt-gpgme.c, curs_main.c, edit.c, editmsg.c, imap/message.c, mutt_ssl.c, muttlib.c, pgp.c, send.c, smime.c: Add translation comments and improvements. These were suggested by TAKAHASHI Tamotsu. 2015-09-12 11:25 +0800 Kevin McCarthy (1a281a527cb7) * crypt-gpgme.c: Improve translation string in crypt-gpgme.c Combine into a single buffer to make the translation easier. Also, mark a couple todos for alignment problems. 2015-09-06 16:31 -0700 Kevin McCarthy (2dac9fa02842) * imap/browse.c: Fix double-decode during IMAP browse. cmd_parse_list() already calls imap_unmunge_mbox_name() on the mailbox names returned from the server. However, browse_add_list_result() was taking those mailbox names and passing them to imap_add_folder(), which was calling imap_unmunge_mbox_name() yet again. The reason is that imap_browse() was directly calling imap_add_folder() too, passing in a previously encoded "mbox" name. After looking carefully at the code, I could find no reason that mbox needed to be encoded outside of the LIST commands.. Therefore I changed imap_browse() to call imap_munge_mbox_name() on mbox for the two LIST commands generated from it instead, and removed the imap_unmunge_mbox_name() call inside imap_add_folder(). 2015-09-06 07:41 -0700 Kevin McCarthy (c6a6b7d3b83d) * merge stable 2015-09-06 07:40 -0700 Kevin McCarthy (40c47fcc9d17) * mx.c: Fix use after free of ctx->last_tag. (closes #3775) When using imap to access gmail, tagging and saving messages to "all mail" and pressing can result in the call path: mx_check_mailbox() imap_check_mailbox() imap_cmd_finish() imap_expunge_mailbox() mx_update_tables() followed by: mx_sync_mailbox() The HEADER pointed to by ctx->last_tag will be removed and FREE'ed in mx_update_tables(), but will subsequently be accessed in mx_sync_mailbox(). This patch simply sets ctx->last_tag=NULL if it is freed inside mx_update_tables(). Thanks to Peter Lekensteyn for the bug report and ASAN report. 2015-09-05 19:55 -0700 Morten Bo Johansen (58cbc3235db6) * po/da.po: Updated Danish translation. 2014-07-17 16:05 +0200 Kevin McCarthy (bd2c2a6058a7) * imap/browse.c, imap/command.c, imap/imap.c, imap/imap_private.h, imap/message.c, imap/utf7.c, imap/util.c: Add support for utf-8 mailboxes in imap. This adds support for RFC6855 to imap/*.c. Thanks to Arnt Gulbrandsen for the original patch. 2015-09-02 18:14 -0700 Kevin McCarthy (5700b43f1e5b) * crypt-gpgme.c: merge stable 2015-09-02 18:11 -0700 Kevin McCarthy (f675e853af12) * crypt-gpgme.c: Add time_t conversion to fix gpgme segfault on OpenBSD. time_t isn't the same size as gpgme_subkey_t->timestamp on OpenBSD. Passing &subkey->timestamp to localtime was therefore passing an address to the wrong size int and was causing a segfault. Thanks to Hannes Wenzel for reporting the bug and providing a patch. 2015-09-02 15:02 -0700 Kevin McCarthy (8bbcfa2af7b6) * crypt-gpgme.c, pgp.c, smime.c: Add L10N messages for the pgp/smime send menus. This documents the 'f' "forget it" choice for translators. Thanks to Benno Schulenberg for pointing this out and for the original patch. 2015-09-02 14:43 -0700 Kevin McCarthy (f7859d96006c) * alias.c, curs_main.c, doc/devel-notes.txt, po/Makefile.in.in: Flag translator comments using L10N. Add comment to devel-notes.txt documentation. 2015-08-31 09:32 -0700 Kevin McCarthy (62730ecbc17d) * mkinstalldirs: merge default into stable 2015-08-30 10:27 -0700 Kevin McCarthy (2f0d516fc638) * .hgsigs: mutt-1.5.24 signed 2015-08-30 10:26 -0700 Kevin McCarthy (a494c8f932fa) * .hgtags: Added tag mutt-1-5-24-rel for changeset 08e81162482f 2015-08-30 10:26 -0700 Kevin McCarthy (08e81162482f) * ChangeLog, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.5.24 2015-08-30 10:21 -0700 Benno Schulenberg (d9b1c4b6662f) * po/eo.po: Partially updated Esperanto translation. 2015-08-30 10:18 -0700 Benno Schulenberg (b9864644b6a2) * commands.c: Minor translation fixes. This makes two equivalent translation messages the exact same so they only need to be translated once. It also adds a missing translation marker (for the same string). This same string is used in recvcmd.c so does not generate a new translation string. 2015-08-30 10:08 -0700 Kevin McCarthy (934fbd272ce6) * UPDATING: Set release date. Minor fixes to release notes. 2015-08-29 12:51 -0700 Ivan Vilata i Balaguer (faa85ed8a7c9) * po/ca.po: Updated Catalan translation. 2015-08-29 12:40 -0700 Benno Schulenberg (14a2ad40e954) * po/nl.po: Updated Dutch translation. 2015-08-29 07:40 -0700 Benno Schulenberg (0d346dc8dccb) * smime.c: Minor translation fix. This makes two equivalent translation messages the exact same so they only need to be translated once. 2015-08-28 07:35 -0700 TAKAHASHI Tamotsu (e33ba8f72a40) * po/ja.po: Updated Japanese translation. 2015-08-20 11:18 -0700 Vsevolod Volkov (b3c095648df6) * po/ru.po: Updated Russian translation. 2015-08-19 09:41 -0700 Petr Pisar (83760f05bb46) * po/cs.po: Updated Czech translation 2015-08-17 14:51 -0700 Kevin McCarthy (c0180991c352) * configure.ac: Add idn to MUTTLIBS instead of LIBS (see #3638) Currently, -lidn is included while linking all the mutt binaries. Add it to MUTTLIBS instead so it's only used for the mutt linking. Also, add $LIBICONV to $LIBS before checking for some of the idna functions. On some sytems, there are apparently issues when using static linking. (Thanks to grarpamp for reporting). 2015-08-17 12:31 -0700 Kevin McCarthy (356443232291) * muttlib.c, protos.h: Change mutt_adv_mktemp to call mutt_mktemp instead of mktemp. (see #3638). mutt_mktemp is currently called in 95% of the cases in mutt, and is already our "own rolled" version of mktemp. The "insecure mktemp warning" discussion keeps coming up, so instead add prefix and suffix functionality to mutt_mktemp() and call that. All other uses of Tempdir in the mutt source did not call mutt_expand_path() first, so remove that from mutt_adv_mktemp(). 2015-08-17 12:26 -0700 Kevin McCarthy (8b2fe6a4db79) * configure.ac: Enable C99 mode for compiler. (See #3638). This is already the default for clang (FreeBSD) so shouldn't cause any issues. Enabling this will increase the allowed static string length and remove the Copyright length warning. 2015-08-11 11:20 -0700 Kevin McCarthy (55ea6e829b46) * Makefile.am: Compile txt2c using automake rules. The compilation rule used $< which isn't portable for ordinary make rules. 2015-08-11 11:20 -0700 David Champion (eb4aaf4581ac) * txt2c.sh: Fix txt2c.sh sed invocations to use posix syntax. 2015-08-07 03:38 +0200 Vincent Lefevre (711708700602) * po/fr.po: Updated French translation. 2015-07-29 09:26 -0700 Kevin McCarthy (34ca1c5fdd45) * doc/manual.xml.head: Minor documentation fix. In one place, the documentation mentioned 'alternative-order' instead of 'alternative_order'. 2015-07-29 09:07 -0700 Kevin McCarthy (75e398daa94c) * doc/manual.xml.head, hook.c: Add error handling for ^ and other empty mailbox shortcuts. (closes #2402) (closes #3735) Explicitly mention the ^ example in the documentation added in 6d733cab6b45. Add an error message for ^ when CurrentFolder is not set. Add checks for other mailbox shortcuts that expand to the empty string. This could happen if the @alias shortcut was accidentally used, or the value referenced by a shortcut isn't set yet. 2015-07-27 14:09 -0700 Kevin McCarthy (6d733cab6b45) * doc/manual.xml.head: Add "Mailbox Matching in Hooks" section to manual. Folder-hook and mbox-hook perform mailbox shortcut expansion on the regexp parameter. Add a section to the manual to give examples and make the behavior clearer. 2015-07-26 14:48 -0700 Kevin McCarthy (21a08f9abc80) * crypt-gpgme.c, crypt.c, handler.c, mutt_crypt.h, pgp.c, recvattach.c: Handle malformed ms-exchange pgp-encrypted block. (closes #3742) In certain circumstances, Exchange corrupts a multipart/encrypted block into: [BASE64-encoded] [BASE64-encoded] This patch pulls the full detection of valid/invalid multiparts into mutt_body_handler(). It extracts a run_decode_and_handler() function, which is reused by new intermediate handlers to decode the application/octet-stream part before passing it directly to crypt_pgp_encrypted_handler. These intermediate handlers then check and set any GOODSIG flags back into the parent part. This change may result in less error messages for invalid multipart/encrypted parts. Instead, mutt will default to the multipart_handler if it isn't fully "correct". Viewing attachments uses crypt_pgp_decrypt_mime() which bypasses the handler mechanism. Add decoding to the decrypt_mime() functions for pgp and gpgme. Thanks to Vincent Brillault for his analysis and initial patch. 2015-07-18 18:40 +0200 Martin Sandsmark (e40e3e0391ea) * UPDATING, buffy.c, init.h, mutt.h: Add support for checking cur/ in Maildir for unread mails in buffy. Also skip messages with the S flag when checking for unread mails. 2015-07-24 13:36 -0700 Kevin McCarthy (fdafc56a854f) * doc/Makefile.am: Set AUTOMAKE_OPTIONS in doc/Makefile.am. (closes #3766) Add the "foreign" option to silence warnings generated by flymake.am. 2015-07-24 13:15 -0700 Kevin McCarthy (cbae8642cb3d) * UPDATING: Update the UPDATING file with changes since 1.5.23. 2015-07-23 14:57 -0700 Kevin McCarthy (8c16206f50a1) * hcache.c, help.c, imap/util.c, protos.h, sendlib.c: Fix compiler type warnings. (closes #3765) The output of mutt_local_tz() was being passed to abs(). Technically the return type is time_t, but it represents a small value: the timezone offset in seconds. Add a safe explicit cast to int. Change the txt parameter of mutt_make_help() to type const char *. Typically all calls run the txt parameter through _(), which accepts const char * and returns a char *. However, if NLS is not enabled, _() is a noop, simply returning the parameter itself. In mutt_compile_help(), items[i].name is const char *, so it will generate a warning when passed as the txt parameter of mutt_make_help(). On some systems, e.g. OS X, snprintf is defined as a macro. One call in hcache.c was embedding directives inside the snprintf call. This is apparently undefined behavior, so duplicate the call instead. 2015-07-22 19:23 -0700 Kevin McCarthy (c60fed102d79) * imap/message.c, keymap.c, pop_lib.c: Fix a few small compiler warnings. (See #3638) In certain configurations, unused variables and labels were causing warnings. Add a missing "#include " to pop_lib.c. 2015-07-21 12:41 -0700 Kevin McCarthy (704e0622cc67) * imap/imap.c: merge stable 2015-07-21 12:34 -0700 Kevin McCarthy (e5fe2f80e797) * imap/imap.c: Imap: Fix flag caching after sync. The flags cached in IMAP_HEADER_DATA were not updated to match the HEADER flags after a sync. This means if a flag were toggled and synced twice, the second sync was not sending the flag update. Thanks to Noah Misch for the patch. 2015-07-19 15:55 -0700 Kevin McCarthy (100835c4a8ac) * init.h: Add note about gpg fixed-list-mode. (closes #3763). Thanks to Gregor Zattler for the original patch. 2015-07-11 14:36 -0700 Kevin McCarthy (2ca89bed6448) * main.c: Fix batch mode lockup. (closes #3761) (closes #3760) The new TS capability check was also running when curses wasn't initialized. Move check inside the !OPTNOCURSES block. 2015-07-09 14:50 -0700 Kevin McCarthy (7e91a8855dc3) * Makefile.am, doc/Makefile.am, imap/Makefile.am: Use $(VAR) instead of @VAR@ in Makefile.am files. (closes #3664) The @VAR@ form is not overridable, such as the case for #3664 where the reporter wanted to override DOTLOCK_GROUP. It's doubtful targets need to be overriden, but it makes sense to be consistent in the usage of automake substituted variables unless there is a particular reason/bug to work around. 2015-07-05 13:38 -0700 Kevin McCarthy (79cd2f34961d) * crypt-gpgme.c: Remove 'hit enter' prompt for GPGME initialization errors. Older GPGMEs are missing CMS (S/MIME) support. Don't force the poor users to hit enter every time they start mutt. 2015-07-02 11:21 -0700 Kevin McCarthy (39422ec14f60) * .hgignore, mkinstalldirs: Remove the automake mkinstalldirs script. Add to .hgignore so it doesn't accidentally get added again. 2015-07-02 11:21 -0700 Kevin McCarthy (97ef326274e7) * Makefile.am, configure.ac, contrib/Makefile.am, doc/Makefile.am, intl/Makefile.in, m4/gettext.m4, po/Makefile.in.in: Convert from using mkinstalldirs to $(MKDIR_P). The automake mkinstalldirs script is now deprecated. "install-sh -d" can be used in place. Configure.ac already includes AC_PROG_INSTALL, which will ensure install-sh is bundled. Add AC_PROG_MKDIR_P, which will set $(MKDIR_P) to either a thread-safe "mkdir -p" or will fall back to using install-sh. 2015-07-02 11:18 -0700 Kevin McCarthy (67d945e38074) * build-release: Fix build-release to always update automake tools. (closes #3671) 1.5.22 and 1.5.23 include a version of "missing" older than the version of automake/aclocal used to generate configure. Fix the build-release script to always copy and force update of the automake tools. 2015-06-29 14:35 -0700 Kevin McCarthy (9802a6172edf) * doc/manual.xml.head: Add note to manual clarifying push/exec and folder-hook order. Folder-hooks are executed in the order declared. However, push/exec commands will simply prepend to the keyboard buffer. If there are multiple push/exec commands, each will prepend to the earlier one. The result is that they will end up being "run" in reverse order once keyboard buffer processing starts. 2015-06-26 12:23 -0700 Kevin McCarthy (3bbb1f569eb1) * imap/auth_sasl.c, imap/imap.c: Fix IMAP segfault due to NULL capstr. After a failed login, the connection is left open but capstr is freed. If a second login attempt is made, imap_auth_sasl was trying to strstr using the NULL capstr. Add a NONULL around the capstr parameter to strstr. Change imap_conn_find() to keep the capstr around until a successful authentication occurs. 2015-06-26 11:38 -0700 Kevin McCarthy (b4be5796a458) * crypt-gpgme.c, pgp.c, smime.c: Add comment about "(f)orget it" choice in pgp/smime send menus. 2015-06-26 12:28 +0200 Vincent Lefevre (b640b23e64a8) * po/fr.po: Updated French translation. 2015-06-07 13:59 -0700 Kevin McCarthy (17a4f92e4a95) * smime.c, smime.h: Rewrite S/MIME key searching. Add purpose checking. Model the smime.c searching off of classic pgp searching. Create smime_get_key_by_hash()/addr()/str() functions that use a single smime_get_candidates() function to search the index. Use the new smime_keys generated purpose flag in the index to filter by KEYFLAG_CANENCRYPT and KEYFLAG_CANSIGN. Old style indices fall back to all-inclusive behavior. 2015-06-07 13:59 -0700 Kevin McCarthy (106914bc9406) * smime_keys.pl: smime_keys: Add refresh command. Refresh verifies the trust of each certificate and adds the purpose flag if it is missing. It pushes those values to the private keys' index file too. 2015-06-07 13:59 -0700 Kevin McCarthy (aabd030b25cb) * smime_keys.pl: smime_keys: Add purpose flag to index. A subsequent patch will change smime.c to use the purpose to filter certs and keys that can't be used for signing or encryption. Issuer, trust, and purpose flags were also added to the keys index file, to keep parsing simpler in smime_keys as well as smime.c. The trust and purpose are derived from the cert. Issuer is set to '?' as this should never be needed for keys. 2015-05-25 10:59 -0700 Kevin McCarthy (0255b37be491) * smime_keys.pl: smime_keys: Handle certificate chains in add_cert. (closes #3339) (closes #3559) Find all chains in the certificate provided. For each chain create a separate leaf and intermediate certificate file. Because Mutt controls the label prompt, use a single label for all chains. Also, loosen up cert file parsing to allow attributes even if they aren't delimited by a "Bag Attributes" header. Thanks to David J. Weller-Fahy for his testing and feedback! 2015-05-18 13:27 -0700 Kevin McCarthy (577987ca2d02) * smime_keys.pl: smime_keys: Convert openssl execution to use open("-|",...). (see #3575) (see #2456) This does a fork/exec, bypassing the shell, and so handles spaces, quotes, and other shell-characters problems better than the simple fix in changeset:c66a6bd5d0d5 This also fixes the "verify with crl" bug in #2456: the grep is now done in perl. Thank you Vincent Lefevre for your review and feedback! 2015-05-18 03:25 +0200 Vincent Lefevre (82d43abf2a37) * po/fr.po: Updated French translation (related to PGP & S/MIME, with corrections). 2015-05-15 14:09 -0700 Kevin McCarthy (c66a6bd5d0d5) * smime_keys.pl: smime_keys: quote filenames. (closes #3575) (see #2456) Wrap the various filename parameters in single quotes in case there are spaces in the filename. 2015-05-15 10:47 -0700 Kevin McCarthy (babc30377614) * smime_keys.pl: Start cleaning up and fixing smime_keys.pl (closes #3324) (see #2456) * Convert to using File::Temp (#3324). This was also suggested at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775199 * Use File::Temp for add_p12 temp file. (#2456) * Make the query_label() method a bit more robust with empty strings, ctrl-d, and leading spaces. * Clean up openssl_do_verify() logic. Mark cert as invalid rather that die'ing if an openssl verify command fails. * General cleanup: - Clearly separate op handler, certificate management, and helper functions by section and using prefixes. - Create openssl helper functions to reduce copy/paste invocations and make the code clearer. - Make indentation consistent at 2 spaces. - Change handle_add_pem() to re-use handle_add_chain() once the correct files are identified. - Change openssl_parse_pem() to return a single array of data structures representing the parsed certs/keys. 2015-05-03 16:25 -0700 Kevin McCarthy (c46dfbdb5eff) * globals.h, init.h, mutt_ssl.c, mutt_ssl_gnutls.c: Provide SSL cipher selection option. (closes #3167) Creates a $ssl_ciphers option that allows direct selection of the ciphers for OpenSSL (via SSL_CTX_set_cipher_list) and GnuTLS (via gnutls_priority_set_direct). Thank you Sergio Gelato for the patch. 2015-04-25 19:00 -0700 Seth Forshee (755a18da99bc) * handler.c: Fix performance regression for ~b/~B searching. (closes #3743) In mutt_is_autoview(), changeset b58cdfacfb89 introduced a call to rfc1524_mailcap_lookup() before checking if the MIME type should be autoviewed based on the user's preferences. This caused a major performance regression for ~b/~B searching. Rearrange mutt_is_autoview() to check the user preferences first, then search for a mailcap entry only if the MIME type should be autoviewed. In order to preserve correct mime_lookup behavior, re-add a call to mutt_check_lookup_list() before scanning the AutoViewList. 2015-04-19 13:15 -0700 Kevin McCarthy (067a3ac42c3b) * crypt-gpgme.c, doc/manual.xml.head, init.h, mutt.h, pgp.c: Add $crypt_confirmhook option. (see #3727) Allow the confirmation prompt for crypt-hooks to be disabled. This is useful for multiple crypt-hook users (e.g. encrypted mailing lists), or just for people who are certain of their crypt-hooks and don't want to be prompted every time. Thanks to Dale Woolridge for the original patch. 2015-04-19 13:15 -0700 Kevin McCarthy (b4c57d3fd7e8) * crypt-gpgme.c, doc/manual.xml.head, doc/muttrc.man.head, hook.c, pgp.c, protos.h: Allow multiple crypt-hooks with the same regexp. (closes #3727). Changes the crypt-hook to accumulate a LIST of hooks with the same regexp, as opposed to replacing the hook data. This is useful for the case of encrypted mailing lists. Update pgp classic and gpgme to process a LIST of crypt-hook values instead of just one. This version of the patch creates a new _mutt_list_hook() function that (in theory) other hooks could use if they were changed to return a list. It also changes the behavior when a crypt-hook is declined: previously it would immediately use the original recipient for key selection. Now it will only do that if all crypt-hooks for a recipient are declined. This allows all, a subset, or none of the hooks to be used. Thanks to Rejo Zenger, Remco Rijnders, and Dale Woolridge for their work on various versions of this patch. 2015-04-15 19:25 -0700 Kevin McCarthy (1e26a962ab7a) * doc/manual.xml.head: Fix a few more incorrect documentation lines for hooks. Hopefully this finishes up aac979f8b529 and ca5aff2a4b6e. 2015-04-15 18:57 -0700 Kevin McCarthy (d12cb775b779) * crypt-gpgme.c, doc/manual.xml.head, init.h, pgp.c, pgp.h, pgpkey.c: Use fingerprints instead of keyIDs internally. (see #3695) Add a helper function, pgp_fpr_or_lkeyid(), that returns the fingerprint if available, otherwise falls back to the long key id. Convert Mutt to use that value for pgp command invocation. Change gpgme to use an equivalent crypt_fpr_or_lkeyid() function in a couple places too (for keylist generation and sign-as key selection). Update documentation to mention fingerprints and the --with- fingerprint option for gpg invocation. Change pgp_long_ids to default: yes, but add a note mentioning it's only used for the display of key IDs in a few places. 2015-03-12 14:48 -0700 Kevin McCarthy (bd21cff208c4) * recvattach.c: Allow attachments from unencrypted emails to be deleted. Print a warning if the message is signed or partly signed. Thanks to David Haguenauer for the original patch! 2015-04-06 18:39 -0700 Kevin McCarthy (ca5aff2a4b6e) * doc/muttrc.man.head: Clarify hook pattern vs regexp in muttrc.man page. Updates to the muttrc.man page were inadvertently not included in changeset:aac979f8b529. Fix mbox-hook and crypt-hook to show they accept a regexp, not a pattern. 2015-04-05 13:52 -0700 Kevin McCarthy (e3e6febd8240) * contrib/smime.rc: Fix smime.rc typos and spacing issues. (closes #3745) Thanks to David J. Weller-Fahy for that patch. 2015-03-30 15:45 -0700 Kevin McCarthy (1bd26d871d76) * crypt-gpgme.c: Fix const errors caused by find_keys() changes. Part 4 of the oppenc series changed the keyID type to const as part of some cleanup changes. At the time, that only propagated to crypt_getkeybystr(), but with the fingerprint changes, this is starting to propagate too far. Create a separate non-const variable to deal with the crypt hook value and revert crypt_getkeybystr()'s parameter to non-const. 2015-03-30 15:45 -0700 Kevin McCarthy (b8ead28d8e84) * compose.c, crypt-gpgme.c, pgp.c, smime.c: Add ui elements for oppenc mode. Add a status message to the Security line when oppenc is enabled. For each send menu, add the ability to toggle it on or off. When enabled, the menus won't show the (e)ncrypt or (b)oth options, and the (c)lear function only clears the SIGN bit when it is active. Change the gpgme_send_menu() to directly use the ENCRYPT and SIGN flags instead of the PGPENCRYPT/SIGN and SMIMEENCRYPT/SMIME flags. Using the latter sometimes resulted in the APPLICATION bit unset, which made oppenc unhappy. The send_menus previously used a switch statement using choice numbers. Since the menus now vary based on the oppenc option and message bit being set, these were all changed to convert the numbers back to a choice letter. 2015-03-30 15:45 -0700 Kevin McCarthy (2ec6a8d91de4) * crypt.c, mutt.h, mutt_crypt.h, postpone.c, send.c, sendlib.c: Add a security bit to the message for oppenc mode. This allows oppenc to be enabled/disabled on a message level. If something initially enables encryption, such as crypt_autoencrypt or crypt_replyencrypt, oppenc is turned off for the message. Change the postpone/resume code to persist the oppenc bit. Also change resend message to enable and invoke oppenc if the option is set. 2015-03-30 15:45 -0700 Kevin McCarthy (b38c4838976f) * compose.c, crypt.c, init.h, mutt.h, send.c: Add the crypt_opportunistic_encrypt option and calls. This patch creates the OPTCRYPTOPPORTUNISTICENCRYPT option and documentation. It also adds calls to crypt_opportunistic_encrypt() during initial message composition, after updating to, cc, or bcc, and after editing the message (if edit_headers is enabled). 2015-03-30 15:45 -0700 Kevin McCarthy (b10d0a945623) * crypt.c, mutt_crypt.h, send.c: Implement crypt_opportunistic_encrypt(). This function will be called to flip encryption on and off based on message recipients. 2015-03-30 15:45 -0700 Kevin McCarthy (db2abe57adb5) * crypt-gpgme.c, pgp.c, pgp.h, pgpkey.c, smime.c: Implement oppenc_mode in the find_keys methods. oppenc_mode is used by crypt_opportunistic_encrypt to determine whether there are valid keys for all recipients of a message, without prompting the user. The patch wraps around prompts, and makes getkeybyaddr methods return a valid address-matching key without prompting. The patch also fixes a small problem with gpgme's getkeybyaddr. When determining if there were multiple strong matches, it was comparing the crypt_key_t instead of its kobj member (gpgme_key_t). The patch also enables a call to crypt_is_numerical_keyid() in find_keys(), so that crypt-hooks can actually be checked without prompting when gpgme is enabled. (The addition was patterned off of the pgp_findKeys() function). 2015-03-30 15:45 -0700 Kevin McCarthy (80b963ff82d3) * crypt.c, mutt_crypt.h, pgp.c: Pull is_numerical_keyid() into crypt.c. A subsequent patch (re?)-introduces a call to is_numerical_keyid inside find_keys(). Rather than duplicate the function, this patch pulls it into crypt.c, where find_keys() and pgp_findKeys() can both call it. 2015-03-30 15:45 -0700 Kevin McCarthy (04eb395d80a7) * crypt-gpgme.c, crypt-gpgme.h, crypt-mod-pgp-classic.c, crypt-mod- pgp-gpgme.c, crypt-mod-smime-classic.c, crypt-mod-smime-gpgme.c, crypt-mod.h, crypt.c, cryptglue.c, mutt_crypt.h, pgp.c, pgp.h, smime.c, smime.h: Introduce an oppenc_mode parameter It's added to the parameter lists through the call stack down to the find_keys calls. No functionality is implemented yet. This patch is separated just to keep other patches more readable. 2015-03-30 15:45 -0700 Kevin McCarthy (5b443e7da81b) * crypt-gpgme.c, crypt-gpgme.h, crypt-mod-pgp-classic.c, crypt-mod- pgp-gpgme.c, crypt-mod-smime-classic.c, crypt-mod-smime-gpgme.c, crypt-mod.h, crypt.c, cryptglue.c, mutt_crypt.h, pgp.c, pgp.h, smime.c, smime.h: Refactor the address list generation out of the find_keys routines. All four find_keys routines have a similar set up code for generating a single address list out of the to, cc, bcc lists. This patch pulls all the code into crypt_get_keys. This is done to simplify the functions before later patches make them more complicated (with the oppenc_mode parameter). 2015-03-17 16:28 -0700 Kevin McCarthy (59bd9030e898) * doc/manual.xml.head: Document limitation of color index and server- side searches. (see #3723) 2015-03-17 16:28 -0700 Kevin McCarthy (ab101844dc07) * doc/manual.xml.head: Add entries for =B and =h in pattern modifier table. Since these operate differently for IMAP, it's worth adding explicit entries to the table for these two. 2015-03-17 16:28 -0700 Kevin McCarthy (aac979f8b529) * doc/manual.xml.head: Clarify hook documentation to specify regexp instead of pattern. Account-hook, crypt-hook, and mbox-hook accept a regexp parameter, not a pattern. 2015-03-04 19:24 -0800 Kevin McCarthy (09be71b645a7) * pgp.c: Fix pgp_application_pgp_handler to remove all tempfiles. If multiple PGP blocks are present in an email, Mutt only cleans up the tempfiles for the last block. Thanks to Dennis Preiser for the patch and sample mbox file demonstrating the problem. This patch also fixes the argument to mutt_perror for the pgpout tempfile. 2015-02-19 11:00 -0800 Kevin McCarthy (71f12fef8c6f) * sendlib.c: merge stable 2015-02-10 18:29 +0100 Peter Wu (70b85d8b232b) * sendlib.c: Fix buffer underread for empty header values. (closes #3736) When a header has no value (*p == '\0' so l == 0), do not read outside the buffer but print the newline anyway when a tag is already printed (col != 0). Caught by ASAN while opening a draft with no Subject. 2015-02-11 21:38 +0100 Eike Rathke (f5b1b75c5958) * crypt-gpgme.c, crypt.c, mutt_crypt.h, pgpkey.c: Allow fingerprint user input for key selection. (see #3695) Accept and check input of a fingerprint and find the matching key. Note that for both to work, match against and display of fingerprint, the pgp_list_pubring_command and pgp_list_secring_command need to contain the --with-fingerprint option, or have with-fingerprint in ~/.gnupg/gpg.conf. 2015-02-15 10:09 -0800 Kevin McCarthy (af5951f5d81c) * contrib/gpg.rc, gnupgparse.c: Add fingerprint record parsing for pgp list keys. (see #3695) Modify parse_pub_line to parse fpr records and add the fingerprint to the pgp_key_t's fingerprint field. Add "--with-fingerprint --with-fingerprint" to the pgp_list_pubring_command and pgp_list_secring_command commands in contrib/gpg.rc. The second invocation generates fpr records for subkeys too. 2015-02-15 10:08 -0800 Kevin McCarthy (47b4e57b2f1c) * pgplib.c, pgplib.h, pgppubring.c: Convert pgp_key_t fingerprint to a char* (see #3695) Currently only pgppubring.c is using the fingerprint field, and is using it to store a binary version of the fingerprint. Convert the field to store a null-terminated string. Modify pgppubring.c to use to use the new field. 2015-02-10 12:14 -0800 Kevin McCarthy (385d7434c9d6) * pgpkey.c: Protect addr with NONULL in pgp_getkeybyaddr. This was introduced by bb3b01f41ed2, but wasn't included in the NONULL checks added in 9a75aa4bd69e. 2015-02-08 14:19 -0800 Kevin McCarthy (addd7cea01d4) * crypt-gpgme.c: Cache uid validity in crypt_key_t. In order to find the validity for a crypt_key_t, the code has to loop through the key->kobj->uids list up to the correct index. This is a bit silly since the uid is available when the crypt_key_t is created in get_candidates(). This patch adds a validity field, and changes the various places to use that instead of looping. Also fix a bug in _crypt_compare_trust(): it was using the validity of the first uid instead of the corresponding uid's validity. 2015-02-08 13:44 -0800 Kevin McCarthy (7162033d1fb8) * crypt-gpgme.c: Fix pgp-gpgme to set revoke/expired/disabled flags. The code wasn't settings those flags in get_candidates(). This patch adds it to the pgp path. I don't know if these flags apply to SMIME so am leaving them out for the smime branch. Fix up crypt_select_key() to follow the same logic as pgp_select_key(). 2015-02-03 15:39 -0800 Kevin McCarthy (2fd1b9f17b80) * contrib/smime.rc, init.h: Change the smime_encrypt_with default to aes256. Openssl supports -aes256 at least since 2004, and it's a stronger algorithm than des3. Also: - Remove the incorrect documentation comment about defaulting to 3des if unset. - Change the default set in contrib/smime.rc. 2015-02-04 11:04 -0800 Kevin McCarthy (d2f5832a9e68) * send.c: Protect SmimeDefaultKey for postpone/resume. PgpSignAs is saved and restored in ci_send_message(), but SmimeDefaultKey was not. Also, fix a bug where an empty PgpSignAs was not restored back to empty if the postponed email contained a SignAs value. 2015-02-02 13:25 -0800 Kevin McCarthy (3f4dc0ce66ae) * postpone.c: Fix mutt_parse_crypt_hdr() sign_as behavior. Currently, if a message is postponed with only the E encryption flag, when it is resumed, pgp_sign_as will be overwritten (with an empty string). This intention of the behavior was probably to restore the exact state of pgp_sign_as upon resuming. However, if the message wasn't marked for signing, the state of pgp_sign_as is not known. This patch changes the mutt_parse_crypt_hdr() to only set an empty pgp_sign_as if there is an S flag (and if set_empty_signas is true). mutt_edit_headers() also uses the function, but it doesn't want to overwrite pgp_sign_as with just an S flag. The set_signas parameter is renamed to (a hopefully clearer) "set_empty_signas". 2015-01-31 20:05 -0800 Kevin McCarthy (1235dd48ef3f) * contrib/smime.rc, init.h: Update smime_encrypt_with documentation to list all algorithms. Thanks to Michael Schwipps for the patch! 2015-01-15 14:18 -0800 Kevin McCarthy (688d66ae6014) * imap/message.c, mailbox.h, mx.c, sendlib.c: Send the IMAP \Draft flag when postponing a message. This patch adds a mx_open_new_message() flag, M_SET_DRAFT. It also adds a MESSAGE->flags.draft flag. mutt_write_fcc() passes the M_SET_DRAFT flag to mx_open_new_message(), which then sets MESSAGE->flags.draft. Then, imap_append_message() is able to see this flag and so adds the \Draft flag. The imap_append_message() function started to have a bit too many flags, so this version of the patch separates out the flag generating code into a simpler version. 2015-01-31 11:53 -0800 Brendan Cully (200185ed86bc) * crypt-mod-pgp-gpgme.c: gpgme: typo in previous commit 2015-01-31 11:21 -0800 Brendan Cully (20e46d7bc453) * configure.ac, crypt-gpgme.c, crypt-mod-pgp-gpgme.c: gpgme: guard mail-key on presence of gpgme_op_export_keys This function is too new to be assumed present. 2015-01-30 14:17 +0100 Vincent Lefevre (b804f2daca31) * po/fr.po: Updated French translation. 2015-01-29 15:40 -0800 Kevin McCarthy (282832c0329a) * mutt_sasl.c: Clean up sasl warnings. These were caused by assigning callback functions to the sasl_callback_t.proc member. The callback type doesn't list any parameters, because parameters vary by callback. The fix was simply assigning a cast. Cyrus-sasl2 has a sasl_callback_ft typedef that their sample code uses for this purpose, but it is in a different header, saslplug.h, and isn't in their 1.5 tree. Since this is probably not portable to other implementations, I just added an equivalent cast. 2015-01-27 16:15 -0800 Kevin McCarthy (73b97b986e0d) * configure.ac, mutt_ssl_gnutls.c: Clean up gnutls warnings. Most of the warning were caused by deprecated types: gnutls_certificate_credentials gnutls_certificate_status gnutls_datum gnutls_digest_algorithm gnutls_session gnutls_transport_ptr gnutls_x509_crt Even though I believe the replacements have been around for a while, the patch adds autoconf checks and fallback typedefs. One warning was caused by casting an int to a pointer for the second parameter to gnutls_transport_set_ptr(). Recent gnutls has a replacement gnutls_transport_set_int() macro, but this macro simply (eventually) casts the parameter using "(gnutls_transport_ptr_t)(long)". So this patch just does the same. 2015-01-25 18:09 -0800 Kevin McCarthy (df55f14f4585) * crypt-gpgme.c, init.h, pgp.c: Remove GPG_AGENT_INFO check for GnuPG 2.1 compatibility. (closes #3715) GnuPG version 2.1 stops exporting the GPG_AGENT_INFO environment variable, so mutt can't check for the presence of that to ensure the agent is running. For GPGME, we can check for the OpenPGP protocol being present. For classic pgp, we have to trust the user setting. This patch is based on the patches sent by CustaiCo and muffins. Thank you both for reporting the problem and creating a patch. 2015-01-27 00:52 +0100 Vincent Lefevre (a0a5e505463e) * po/fr.po: Updated French translation. 2015-01-26 13:07 +0100 Vincent Lefevre (aa67709a73ce) * INSTALL, README.SECURITY, README.SSL, TODO, configure.ac, curs_lib.c, help.c, imap/message.c, lib.c, mh.c: Corrected various spelling mistakes (most of them reported by codespell). 2015-01-23 10:33 -0800 Kevin McCarthy (ec93761e3e12) * crypt-gpgme.c, crypt-mod-pgp-gpgme.c: Implement mail-key, Esc-K, for gpgme. (closes #3488) This patch implements the make-key-attachment function for gpgme, modeled after the pgp version. It also adds an optional tempf parameter to data_object_to_tempfile() so the function can be reused for make- key-attachment. 2015-01-19 15:58 -0800 Kevin McCarthy (b39219ffe75b) * pgpkey.c: pgp_getkeybystr: Pull key matching out of the address match loop. Since the key is invariant inside the address loop, there is no need to match against it with each address. All the keys should have at least one address record (see bb3b01f41ed2), but in case a record was malformed, add a check for that to keep the same logic. 2015-01-21 10:14 +0100 Eike Rathke (5d7345b4c516) * doc/devel-notes.txt: HEAD is dead, remove wrong instruction from doc /devel-notes.txt Branch HEAD was closed over a year ago. If one was following the instruction to update -C HEAD you'd end up with an empty source tree and had to checkout the default branch again. 2015-01-18 17:50 +0100 Eike Rathke (6e5a62946141) * crypt-gpgme.c: Allow short and long key ID user input in crypt_getkeybystr() The following did not work, e.g. when leaving a key list, and at the "Sign as" or "Encrypt to" prompt attempting to enter a key ID: * set pgp_long_ids=no * enter a long key ID, with or without leading 0x * set pgp_long_ids=yes * enter a short key ID without leading 0x Specifically entering a long key ID should always be possible as evil32.com has shown. This also cleans up the logic used to determine the matching condition, which was quite convoluted.. it even slightly speeds up the loop as less string operations are involved in the inner condition. This only changes how the result obtained from the crypt_* gpgme interface is filtered. 2015-01-18 17:45 +0100 Eike Rathke (63ad7cf0d0de) * pgp.c, pgp.h, pgpkey.c: Allow short and long key ID user input in pgp_getkeybystr() The following did not work, e.g. when leaving a key list, and at the "Sign as" or "Encrypt to" prompt attempting to enter a key ID: * set pgp_long_ids=no * enter a long key ID, with or without leading 0x * set pgp_long_ids=yes * enter a short key ID without leading 0x Specifically entering a long key ID should always be possible as evil32.com has shown. This also cleans up the logic used to determine the matching condition, which was quite convoluted.. it even slightly speeds up the loop as less string operations are involved in the inner condition. This only changes how the result obtained from the pgp_* command line interface is filtered. 2015-01-17 14:34 -0800 Kevin McCarthy (58a9dbfd0d25) * crypt-gpgme.c: Fix some context, data, and key memory leaks in gpgme. The context and data cleanup just involved adding missing gpgme_release() and gpgme_data_release() calls in a few places. The key usage was a little more involved: * Fix crypt_free_key(). It wasn't freeing the key passed in, and didn't work properly if multiple keys were passed in. It also was missing a call to gpgme_key_unref(). * Add free_recipient_set() to properly unref all the keys before freeing the array. * Fix get_candidates() to ref keys added to the crypt_key_t list, and unref the keys returned by gpgme_op_keylist_next(). * Change usages of gpgme_key_release() to gpgme_key_unref(). The former was deprecated in gpgme version 0.4.1 (2003-06-06). 2015-01-17 14:42 -0800 Kevin McCarthy (cc7903944687) * hcache.c: Fix the hcache type punning warning. This patch fixes the type punning warning by switching from (safe but perhaps not elegant) casting to using a union. Thanks to Vincent Lefevre for his input and suggestion to use the union as a better solution to the problem! 2015-01-15 13:19 +0100 Vincent Lefevre (d732298789f2) * curs_lib.c: Also colorize the initial mutt_enter_fname prompt. Note: the new prompt obtained after a key is typed was already colorized. 2014-08-12 14:04 -0700 Kevin McCarthy (4ba366bc7c45) * doc/manual.xml.head, enter.c, history.c, history.h: Add a scratch buffer to the history ring. (closes #3082) This patch creates an extra slot in the history ring for a scratch buffer (at h->last). If you are editing inside that buffer, it is preserved when you scroll up/down through the history. Editing while in other places in history are *not* preserved with this patch. Another behavior change worth noting with this patch: the position in history is now reset to the scratch buffer after each input entry. Before, the position would be stay wherever it was - you didn't restart at the "bottom" each time. 2013-11-06 13:07 -0800 Kevin McCarthy (8a2d9d352e2c) * globals.h, init.h, mutt.h, send.c: Add option to encrypt postponed messages. (closes #3665) This patch is based on Christian Brabandt's patch sent to mutt- users. Add two new configuration variables: $postpone_encrypt and $postpone_encrypt_as. When $postpone_encrypt is set and a message is marked for encryption, the message will be encrypted using the key specified in $postpone_encrypt_as before saving the message. In this patch, $postpone_encrypt_as must be specified. I experimented with passing safe_strdup( NONULL (PostponeEncryptAs)) when unspecified, but although gpg.conf has a default-key setting, I could not get it to work properly. (pgpclassic gave an error message and gpgme sefaulted.) Although not necessary, this patch turns off signing during encryption of the postponed message (and turns it back on before saving), since there is no need to sign the message yet. 2015-01-09 14:22 -0800 Kevin McCarthy (25430a489665) * color.c, contrib/colors.default, contrib/colors.linux, curs_lib.c, doc/manual.xml.head, doc/muttrc.man.head, mutt_curses.h: Add color type for prompts. This adds a new color type, MT_COLOR_PROMPT, that can be used to colorize prompts (fields, yes/no, multi_choice). Thanks to Ben Boeckel for the patch! 2013-10-29 18:25 -0700 Kevin McCarthy (789501922727) * crypt-gpgme.c, pgp.c: Add gpg signature name. (closes #3478) Some mail clients display "noname" for the gpg signature attachment. This patch sets the mime name to "signature.asc". The patch is based on http://dev.mutt.org/trac/attachment/ticket/347 8/gpg_signature_name.patch with the changes: - removes the configuration options - removes mime description 2015-01-06 14:38 -0800 Kevin McCarthy (cd57f8893b43) * configure.ac, globals.h: merge stable 2014-12-31 20:35 -0800 Kevin McCarthy (31ce789af3df) * crypt-gpgme.c: Fix segfault of extract-keys (^K) under gpgme. (closes #3698) This patch is based on the patch by Ben Price, which relocated the safe_fclose (&in) after its use by keydata in pgp_gpgme_extract_keys. Thank you for the patch! In addition, this patch: * removes spurious (debug?) output when the extract keys is finished. * adds a gpgme_data_release() call to free the keydata. 2014-10-10 14:17 +0800 Kevin McCarthy (e7a77a6bfb84) * query.c: Fix a memory leak in mutt_query_complete. When a single result was returned, it was written to the buffer and returned, but the query result was never freed. This patch creates a free_query function and changes the code to use that everywhere. 2014-08-14 20:12 -0700 Kevin McCarthy (c7f116b6dc20) * configure.ac: Fix variable name in configure.ac. $ac_cv_search_STRINGPREP_CHECK_VERSION should be $ac_cv_search_stringprep_check_version, to match the first parameter of the AC_SEARCH_LIBS([stringprep_check_version] above. Running configure was giving a "test: =: unary operator expected" error. 2014-12-28 09:41 -0800 Kevin McCarthy (8a981dce369e) * globals.h: Remove duplicate SmimeCryptAlg declaration in globals.h Thank you Elias Diem for the patch. 2015-01-06 14:31 -0800 Kevin McCarthy (59c2c4be08a7) * pgpkey.c: merge stable 2014-12-01 14:19 -0800 Kevin McCarthy (0aebf1df4359) * sendlib.c: Revert write_one_header() to skip space and tab. (closes #3716) This patch fixes CVE-2014-9116 in the stable branch. It reverts write_one_header() to the pre [f251d523ca5a] code for skipping whitespace. Thanks to Antonio Radici and Tomas Hoger for their analysis and patches to mutt, which this patch is based off of. 2015-01-05 18:28 -0800 Kevin McCarthy (5a86319adad0) * pgpkey.c: Fix segv in pgp_getkeybystr(). (closes #3725) When searching for keys, and the user supplies "" to match against, pgp_getkeybystr will have values: p = ""; l = 0; After returning from pgp_select_key(), it will try to assign to p[l-1]. (As a note, the function is chopping off and restoring the trailing "!" character because of ticket #1928.) 2015-01-03 11:33 -0800 Kevin McCarthy (79ea10b2d81c) * commands.c: Change bounce to use mutt_parse_adrlist() for address parsing. When prompting for recipients, forwarding, replying, and mailing all use mutt_parse_adrlist() to parse the addresses. This allows for addresses to be separated by spaces. Bounce message currently uses rfc822_parse_adrlist(), which doesn't allow the spaces. This one-line patch simply changes bounce to behave the same as mail, reply, and forwarding for the address prompt. Thanks to Roger Cornelius for the patch! 2014-12-31 20:35 -0800 Kevin McCarthy (5530e9fb17d9) * crypt-gpgme.c: Fix segfault of extract-keys (^K) under gpgme. (closes #3698) This patch is based on the patch by Ben Price, which relocated the safe_fclose (&in) after its use by keydata in pgp_gpgme_extract_keys. Thank you for the patch! In addition, this patch: * removes spurious (debug?) output when the extract keys is finished. * adds a gpgme_data_release() call to free the keydata. 2014-08-12 14:33 -0700 Kevin McCarthy (9a75aa4bd69e) * gnupgparse.c, pgpkey.c: Wrap pgp_uid_t->addr in NONULL(). (closes #3564) The previous patch introduced the possibility for addr to be null. Mutt is surprisingly robust against null strings, but there are a few places that should be wrapped in NONULL(). 2014-08-12 14:33 -0700 Kevin McCarthy (bb3b01f41ed2) * gnupgparse.c: Fix parse_pub_line to allow an empty User-ID field for a pub record. (see #3564) A key whose primary uid record has an empty User-ID will result in the user being unable to use the key to encrypt an email in mutt. This is because the mutt functions for key selection iterate through the address fields of a key for matching against and for displaying to the user. This change allows a pgp_uid_t record to be created for a pub record whose User-ID field is blank. So the key will have one address record, albeit with a null addr field. 2013-11-02 20:12 -0700 Kevin McCarthy (4909bd9c9149) * main.c: Override draft headers with arguments. (closes #3580) Currently, if the -H option is used, it is not possible to redefine the recipient addresses with positional argument. This patch fixes it as well as CC, Bcc, and Subject headers. This patch is based on the patch by Petr Písař at http://dev.mutt.or g/trac/attachment/ticket/3580/override_draft_headers_with_arguments. patch This version of the patch merges the To, Cc, and Bcc commandline arguments into the template, and fixes a few small problems with the previous patch. This patch also moves the fin close outside the "if (tempfile)" block, since it is opened outside that block. 2014-06-21 13:51 -0700 Kevin McCarthy (daf61444d454) * pgpinvoke.c: Enable %a format string for all pgp command configs. (closes #3699) Currently, the documentation states that, with the exception of pgp_getkeys_command, all the PGP format commands should be available to the pgp_*_command configuration variables. However, the %a format is actually only enabled for pgp_clearsign_command, pgp_encrypt_sign_command, and pgp_sign_command. Philip Rinn discovered this problem when he was trying to add a "--encrypt-to %a" to pgp_encrypt_only_command. Rather than just fix the one configuration he was having the problem with, this patch enables %a usage for all of them. (With the exception of the documented pgp_getkeys_command.) 2013-12-18 19:19 -0800 Kevin McCarthy (630bbc147022) * doc/manual.xml.head: Note correct usage of $edit_headers. (closes #3673) Ticket 3673 shows that it isn't necessarily obvious a blank line is needed between the headers and body of a message when using $edit_headers. This patch adds a small note to the documentation, indicating the blank line should be preserved between the headers and body. Thank you Sinan Kaan Yerli for the patch. 2014-08-13 13:46 -0700 Kevin McCarthy (89b17d3cd510) * doc/mutt.man, doc/pgpring.man: Clarify PGPPATH usage in manpages. Make more clear that, when used with the original PGP program, mutt and pgpring rely on this being set. 2014-10-10 14:17 +0800 Kevin McCarthy (45fbc40193aa) * query.c: Fix a memory leak in mutt_query_complete. When a single result was returned, it was written to the buffer and returned, but the query result was never freed. This patch creates a free_query function and changes the code to use that everywhere. 2014-08-21 18:41 -0700 Kevin McCarthy (b1ef16f25425) * init.c: Remove unused variable t in start_debug(). t was set but never used. This was generating a compiler warning. 2014-08-14 20:12 -0700 Kevin McCarthy (80186ee6eb57) * configure.ac: Fix variable name in configure.ac. $ac_cv_search_STRINGPREP_CHECK_VERSION should be $ac_cv_search_stringprep_check_version, to match the first parameter of the AC_SEARCH_LIBS([stringprep_check_version] above. Running configure was giving a "test: =: unary operator expected" error. 2014-12-28 09:41 -0800 Kevin McCarthy (1630cee66057) * globals.h: Remove duplicate SmimeCryptAlg declaration in globals.h Thank you Elias Diem for the patch. 2014-11-04 23:40 -0600 David Champion (39d3ddb56d34) * init.h: Disable SSLv3 by default. Since Oct. 14 2014 SSLv3 is no longer considered safe. See POODLE: https://en.wikipedia.org/wiki/Transport_Layer_Security#POODLE_attack 2014-10-11 13:20 -0700 Brendan Cully (3a46874d5845) * hcache.c: hcache tcdb debug logging 2014-10-11 11:05 -0700 Brendan Cully (85393e522337) * Makefile.am, doc/Makefile.am, flymake.am, imap/Makefile.am: add check-syntax target for flymake 2014-10-11 10:59 -0700 Brendan Cully (bb7f59864d47) * .hgignore: ignore generated pgpewrap/pgpring man pages 2014-10-11 10:58 -0700 Brendan Cully (0dc2dafab53a) * .hgignore: ignore gnu global tags 2014-09-07 12:00 -0700 Brendan Cully (4a814b05874f) * merge stable 2014-09-07 11:04 -0700 Brendan Cully (1b583341d5ad) * mutt_sasl.c: mutt_sasl: fix double negative in iptostring result check (fixes #3705) 2014-09-07 10:52 -0700 Brendan Cully (769905e66205) * mutt_sasl.c: mutt_sasl: whitespace only 2014-09-07 10:36 -0700 Brendan Cully (c81c93e64af8) * UPDATING, po/nl.po: merge stable 2014-07-25 20:43 +0200 Vincent Lefevre (b8bebc2f9a55) * po/fr.po: Updated French translation. 2014-03-13 23:37 +0000 Ivan Vilata i Balaguer (375ba5ce358c) * po/ca.po: Updated Catalan translation. 2014-03-13 17:41 +0000 Vsevolod Volkov (99dda89b7685) * po/uk.po: Updated Ukrainian translation. 2014-03-13 17:41 +0000 Vsevolod Volkov (061217dd31ef) * po/ru.po: Updated Russian translation. 2014-03-13 17:36 +0000 Jonathan Wakely (fd531fc9188c) * doc/mutt.man: fix typo in man page. 2014-03-13 03:56 +0000 Petr Pisar (67673770fb96) * po/cs.po: Updated Czech translation 2014-03-12 09:44 -0700 Brendan Cully (d9f45fa9458c) * .hgsigs: mutt-1.5.23 signed 2014-03-12 09:28 -0700 Brendan Cully (4790aa52f0f2) * .hgtags: Added tag mutt-1-5-23-rel for changeset b8a63730c848 2014-03-12 09:28 -0700 Brendan Cully (b8a63730c848) * ChangeLog, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.5.23 2014-03-12 09:25 -0700 Brendan Cully (07556816c588) * build-release: build-release: make sure version is picked up by autoconf * mkchangelog.sh: mkchangelog: only show log entries on current branch * build-release: No more devel 2014-03-11 10:04 -0700 Michael Elkins (3c13c4188912) * UPDATING: add user visible changes since 1.5.22 release. * copy.c: Fix buffer overrun caused by not updating a string length after address expansion. 2013-10-24 09:55 -0700 Michael Elkins (3d5e23a66a1a) * init.h: remove trailing period from documentation for $pgp_list_secring_command * init.h: remove trailing period from documentation for $pgp_list_pubring_command 2013-04-26 12:10 -0700 Kevin McCarthy (914e13a3694d) * postpone.c: Fix postpone/resume to not remove a Mail-Followup-To header (closes #3070) This solution changes mutt_prepare_template() to check whether the message_id field is NULL to decide whether to wipe the message-id and mail-followup-to headers when instantiating the message. If we are resending a message, we don't want the previous message-id and mail-followup-to headers. If we are resuming a postponed message, however, we want to keep the mail-followup-to header if any was set before the postpone. (grafted from d7d83298011a6e7aa31bde49e0b6b21209a85fd2) 2013-10-22 15:12 -0500 Aaron Schrab (4a24e6233a5f) * version.sh: version.sh: step back from $() to ``. closes #3661 (grafted from 01cf5814dfe5e79b65b1d950aab1276d19a9f031) 2013-07-14 19:48 -0700 Kevin McCarthy (b5c894182719) * muttlib.c: Allow filename prompt when saving multiple attachments to a directory. (closes #3083) Currently, if you specify a directory when saving multiple attachments and choose (a)ll, the first attachment is saved without confirming the filename. Subsequent attachments prompt for the filename. 2013-10-04 18:22 +0000 Michael Elkins (95a2230ef889) * mutt.h, postpone.c, send.c: When recalling a postponed message that does not have a x-mutt-fcc header field, generate a default FCC just as we do for new messages. If x-mutt-fcc is present but empty, we assume that means the user does not want a copy. closes #3653 2013-10-23 11:11 -0700 Michael Elkins (331d48da153b) * crypt-gpgme.c: Ensure that at least one signature was generated to catch the case where $pgp_sign_as is unset and no default key is specified in ~/.gnupg/gpg.conf closes #3658 2013-10-06 09:15 -0700 Michael Elkins (99d913f46eb9) * handler.c, smime.c: use LOFF_T as the type for variables used in fseeko() closes #3487 2013-10-04 18:04 +0000 Michael Elkins (dd67e8649ea4) * crypt-gpgme.c: Display the KeyID when the pubkey is not found in the user's keyring during signature verification. closes #3654 2013-10-23 11:11 -0700 Michael Elkins (db3028e34ce0) * mutt_ssl_gnutls.c: return 0 if import of cert failed to match other error conditions. 2013-10-23 11:11 -0700 Michael Elkins (4dde4bcda519) * mutt_ssl_gnutls.c: only terminate the write-half of the TLS connection to avoid hanging if the remote doesn't respond. RFC5246 section 7.2.4 states that the initiator of the closure need not wait for the remote to response before closing the read-half. closes #3633 2013-10-22 21:11 -0700 Brendan Cully (2ab618f4f6b0) * create stable branch 2013-10-21 11:58 -0700 Michael Elkins (0d9d7c486331) * doc/manual.xml.head: add note about use of ! ~Q in send-hook when paired with reply-hook. 2013-10-19 11:23 -0700 Michael Elkins (84acf5f0ce92) * crypt-gpgme.c: remove and use "1" instead of "true". closes #3657 see #3642 for the change that caused this bug. 2013-10-18 14:12 -0700 Michael Elkins (b9693e10f431) * UPDATING: update UPDATING with 1.5.22 release date 2013-10-17 22:55 -0700 Brendan Cully (6f5fe49fdf64) * .hgsigs: mutt-1.5.22 signed 2013-10-17 22:43 -0700 Brendan Cully (941ba77040a8) * .hgtags: Added tag mutt-1-5-22-rel for changeset 8c5ea668e7e0 2013-10-17 22:43 -0700 Brendan Cully (8c5ea668e7e0) * ChangeLog, VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.5.22 2013-10-16 16:04 +0000 Michael Elkins (5648f4b2ed44) * rfc822.c: Rework logic to avoid advancing list pointer inside the for loop. closes #3531 2013-10-15 15:41 +0000 Ivan Vilata i Balaguer (20954d6af1b1) * po/ca.po: updated Catalan translation 2013-10-11 15:51 +0000 Vsevolod Volkov (d60465c5ee6a) * po/uk.po: updated Ukranian translation 2013-10-11 15:49 +0000 Tamotsu TAKAHASHI (b9ba481ed72a) * po/ja.po: updated Japanese translation 2013-10-07 17:32 +0000 Michael Elkins (804e46bc366e) * doc/pgpewrap.man, doc/pgpring.man: add missing files that were supposed to be included with [76f8df0ac80396559aa80e7f145be6f235a6db51] 2013-10-07 17:21 +0000 hhorak (76f8df0ac803) * doc/Makefile.am, doc/PGP-Notes.txt: adds some missing options in doc and adds man pages for binaries pgpewrap and pgpring. closes #3643 2013-10-07 17:09 +0000 esr (8d888e4d4f0b) * doc/makedoc.c, doc/muttrc.man.head: Problems with muttrc.5: Ambiguous or invalid backslash. This doesn't cause groff a problem. but it confuses doclifter and may confuse older troff implementations. Unknown or invalid macro. That is, one that does not fit in the macro set that the man page seems to be using. This is a serious error; it often means part of your text is being lost or rendered incorrectly. Use local definitions of .EX/.EE or .DS/.DE to avoid low-level troff requests in the page body. There are plans to add these to groff man; in the interim, this patch adds a compatible definition to your page. 2013-10-07 16:10 +0000 esr (02234de89d2a) * doc/mutt.man: Problems with mutt.1: Ambiguous or invalid backslash. This doesn't cause groff a problem. but it confuses doclifter and may confuse older troff implementations. Spelling error or typo. 2013-10-06 09:31 -0700 nihilhill (24bb691dcde7) * crypt-gpgme.c: include for definition 'true' closes #3642 2013-10-05 15:57 +0800 Kevin McCarthy (035306822940) * attach.c: Fix segfault when viewing text attachments in compose menu. (closes #3644) The segfault was introduced in changeset b9f9e3147eb4. Since decoding and charset conversion aren't needed for attachments when composing a message, this patch reverts to just using mutt_save_attachment() to view "raw data" for text attachments in the compose/send case. This patch is based on Michael Elkins' patch at http://dev.mutt.org/ trac/attachment/ticket/3644/view_attach_compose_segfault with just a missing return value check added. 2013-10-06 14:32 +0000 Aaron Schrab (6bcde5f1c7a7) * commands.c, hook.c, imap/command.c, imap/imap.c: Ensure that BUFFER variables are initialized to prevent later attempts to traverse an uninitialized pointer. 2013-10-05 19:25 +0000 Aaron Schrab (132861c8b4e9) * commands.c, hook.c, imap/command.c, imap/imap.c, imap/message.c, init.c, keymap.c, pattern.c, score.c: Consistently use mutt_buffer_init function Despite the existence of the mutt_buffer_init function, most initializations were instead done with memset. Use the specific function instead to make it easier if later changes are made to how the initialization should be done. 2013-10-04 16:47 +0000 Michael Elkins (0beba37c336b) * crypt-gpgme.c, handler.c, init.c, pop_auth.c: fix more comment typos 2013-07-23 14:07 +0200 Ondřej Bílka (bc7e7cf0fed3) * compose.c, crypt-gpgme.c, crypt-mod.h, curs_lib.c, date.c, doc/makedoc.c, editmsg.c, handler.c, imap/util.c, init.c, intl/gettextP.h, intl/plural.c, keymap.c, lib.c, mbox.c, mkdtemp.c, mutt.h, mutt_menu.h, mutt_ssl.c, mutt_ssl_gnutls.c, muttlib.c, mx.c, parse.c, pattern.c, pop.c, pop_auth.c, pop_lib.c, recvcmd.c, regex.c, send.c, signal.c, smime.c, snprintf.c, sort.h, thread.c: fix typos in comments 2013-04-16 20:12 -0700 Kevin McCarthy (d3096e8796e7) * pager.c: Don't exit pager if quit=ask is answered "no". This patch addresses ticket 2788. Currently if you quit ('Q') from inside the pager, with quit=ask-yes or quit=ask-no, and you respond "no", mutt leaves you back in the index menu. This patch changes it so that mutt does not exit the pager. 2013-04-11 02:17 +0000 Michael Elkins (4c5163272b9c) * browser.c, enter.c, imap/message.c, init.c, mbox.c, muttlib.c, mx.c, pop.c, query.c, smime.c, system.c: backout c1371176ea45 2013-04-11 01:59 +0000 Michael Elkins (f99e91980f0f) * getdomain.c, init.c: Backed out changeset 1142ed8974fa 2013-04-10 23:40 +0000 Michael Elkins (1142ed8974fa) * getdomain.c, init.c: use gethostname() to determine the system host name use getaddrinfo() to look up canonical DNS name, and fall back to hinting from /etc/resolv.conf see #3298 2013-04-10 22:38 +0000 Michael Elkins (c1371176ea45) * browser.c, enter.c, imap/message.c, init.c, mbox.c, muttlib.c, mx.c, pop.c, query.c, smime.c, system.c: fix various compiler warnings; most were due to unchecked return values from system calls. 2013-03-04 04:14 +0000 is (d498f0e91914) * lib.c: use mkdtemp() to create temporary directory rather than mktemp() followed by mkdir() closes #3637 2013-02-23 03:12 +0000 Michael Elkins (4c16c0d1ba9e) * pop.c, pop_lib.c: use of sscanf() had undefined behavior, replace with simple parsing instead see #3636 2013-02-22 18:31 +0000 Michael Elkins (c7eff98bb299) * smime.c: increase string size by one byte to accomodate the terminating null character in fscanf() since the maximum field width does not include it closes #3636 hat tip: Will Fiveash 2013-02-22 16:30 +0000 john beck (14596ac2b323) * rfc1524.c, sendlib.c: fix potential buffer overflow in off-by-one bounds checking error closes #3635 2013-02-08 17:06 +0000 Michael Elkins (302044b4ed3f) * curs_lib.c: explicitly call mutt_refresh() prior to endwin() to force a screen redraw. [4903e80356d3] removed the call, but some environments (screen+xterm under SuSE11/12) don't properly flush without it prior to the endwin() call 2013-01-31 05:06 +0000 Michael Elkins (2a1c5d3dd72e) * curs_lib.c: do not use mutt_message() to display prompt in mutt_yesorno(). properly calculate screen width of prompt string by using mutt_strwidth() rather than strlen() use safe_asprintf() return the formatted yes/no string since specifying COLS+1 is wrong when dealing with multibyte characters closes #3412 closes #3352 2013-01-23 21:52 +0000 Michael Elkins (b86b154f3988) * buffy.c, buffy.h, mh.c, mx.h: add support for $mail_check_recent to mh mailbox driver closes #3629 2013-01-23 19:52 +0000 Michael Elkins (4903e80356d3) * curs_lib.c: do not explicitly reset the terminal attributes and move the cursor in mutt_endwin(). endwin() itself should handle this. closes #3627 2013-01-22 02:02 +0000 Michael Elkins (acc8b2afdf29) * configure.ac: remove PKG_CHECK_MODULE() check and always use AC_CHECK_HEADERS() only check for when isn't found closes #3626 2013-01-20 21:45 +0000 Michael Elkins (98e031cd81d4) * configure.ac, main.c, mutt_idna.h: use pkg-config to look for libidn if available. checking rather than including -I/usr/include/idn for Solaris 11. closes #3624 2013-01-17 23:04 +0000 Michael Elkins (7fcc0049f250) * attach.c: backout [392e945dfba7] closes #3293 see #3234 2013-01-17 23:03 +0000 Michael Elkins (b9f9e3147eb4) * attach.c: when falling back to viewing an attachment as text in the internal pager, perform charset conversion this change is meant to replace [392e945dfba7] see #3234 see #3293 2013-01-17 02:43 +0000 Michael Elkins (571e945d6544) * hcache.c, hcache.h, imap/util.c, mh.c, pop.c: use a separate flag for mutt_hcache_store() to signal that the gettimeofday() value should be substituted, so that a 0 uidvalidity can be used by the imap driver. closes #3501 2013-01-17 02:10 +0000 Michael Elkins (b58cdfacfb89) * attach.c, handler.c, protos.h: change semantics of mutt_is_autoview() to return 1 if there is a matching mailcap entry and either $implicit_autoview is set or the MIME type matches the user's auto_view list. closes #3496 closes #3426 2013-01-14 20:39 -0800 Michael Elkins (1a75c9e477b4) * from.c: detect pipermail-style obscured return path in mbox From lines see #1200 2013-01-14 19:23 -0800 Michael Elkins (8c75478735a3) * curs_main.c: allow use of sync-mailbox when the current limit has no visible messages closes #3538 2013-01-14 08:50 -0800 Michael Elkins (05cd8d0d1450) * handler.c: avoid debug warning about trailing whitespace in a base64 encoded attachment closes #3558 2013-01-04 04:05 +0000 Michael Elkins (90f7869decec) * Makefile.am: When "make install" fails to chgrp or chmod the mutt_dotlock binary, add the reason why we are doing this so the user knows what to look for. 2013-01-03 16:12 -0800 Michael Elkins (d7d26c40e1e5) * pager.c: Fix regression introduced by [10cc06eff52b] where the CLEARLINE() removal was not replaced by a move() to position the cursor at the correct location to draw the status bar. closes #3619 2013-01-03 19:04 +0000 Michael Elkins (7fe92ce1cfc1) * parse.c: Remove unused variable `matched'. 2013-01-03 19:04 +0000 Michael Elkins (6f4ce8ce80a7) * parse.c: Fix memory leak when multiple x-label or supersedes header fields exist in the header. In order to keep the current behavior where the value of the last header field present is the one used, free any previous value. 2013-01-03 08:03 -0800 Michael Elkins (21457574a9b6) * main.c: Backed out changeset bf84f24e512d 2013-01-02 23:43 +0000 Michael Elkins (bf84f24e512d) * main.c: display +/-NCURSES_WIDECHAR when displaying ncurses version to show whether we are linked against -lncurses or -lncursesw 2013-01-01 21:39 +0100 Matthias Andree (ea52317444ef) * hcache.c: Drop unneeded variable HEADER_CACHE that causes clang warnings. The variable was unused and clang warned that it was not emitted to the .o file. 2012-12-31 23:29 +0000 Michael Elkins (32ec63debe52) * init.h: fix xml validation error in manual.xml in auto-generated content due to missing paragraph mark in the $editor docstring 2012-12-31 15:03 -0800 guns (474e9e809054) * rfc822.c: Fix accidental var redeclation with --enable-exact-address closes #3615 2012-12-31 14:54 -0800 Michael Elkins (bf6bf2a80c35) * merge 2012-12-31 14:52 -0800 Michael Elkins (5196c3d6c5d0) * curs_lib.c: reset to color normal before clearing to end of line when printing a message/error string closes #3617 2012-12-31 19:06 +0000 Michael Elkins (ca67a3dad949) * doc/gen-map-doc: update regexp to include const keyword. The auto generated documentation of functions was failing due to a change in the source code format. 2012-12-30 19:48 -0800 Antonio Radici (b1b49019fec0) * headers.c: Ensure that the in-reply-to header field was actually present before deciding it was removed. closes #3378 2012-12-30 19:17 -0800 Michael Elkins (a90f57e0adbd) * ChangeLog: update ChangeLog 2012-12-30 19:14 -0800 Michael Elkins (c03ba94d8750) * imap/message.c: add __FREE_CHECKED__ 2012-12-30 19:12 -0800 Michael Elkins (f7247ad288e7) * UPDATING: document the TLS changes since 1.5.21 2012-12-30 18:49 -0800 Michael Elkins (10cc06eff52b) * color.c, compose.c, curs_lib.c, curs_main.c, menu.c, mutt_curses.h, pager.c, remailer.c: make the SETCOLOR() macro use bkgdset() on systems which have it, and attrset() when we don't. closes #3005 2012-12-30 09:26 -0800 Michael Elkins (8c0b9ddee11f) * configure.ac: remove m4_translit because it generates a warning with newer versions of autoconf when used in AC_INIT. Instead, use tr -d to output the version string without a trailing newline. 2012-12-27 21:04 -0800 Michael Elkins (b0265d385207) * version.sh: restore ability for version.sh to cope with a repository directory with a space in it. 2012-12-27 20:33 -0800 Aaron Schrab (13c9a5d820f2) * configure.ac, version.sh: Use the directory where the version.sh script is located as the directory where it is run. Since this will be run in a separate shell anyway, there's no need to worry about changing current directory. This eliminates the need for the caller to specify where the source directory is located, and doesn't require that the code take special care to use the appropriate directory. The fallback method of using `cat VERSION` was broken in this respect, it would not work when run from a different directory. --- configure.ac | 2 +- version.sh | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) 2012-12-27 17:37 -0800 Michael Elkins (0f281c548d69) * configure.ac: use [] around body of AC_CHECK_HEADER to avoid problems with older versions of autoconf 2012-12-27 18:56 -0800 Michael Elkins (8728418605fd) * configure.ac: avoid using m4_esyscmd_s() since it is not available in older versions of autoconf. use m4_esyscmd() and m4_translit() to whack the newline instead. see #3613 2012-12-22 18:00 -0800 Michael Elkins (de974f67eba3) * configure.ac, init.h, mutt_ssl.c: Uses SSLv23_client_method() in mutt_ssl_starttls() because TLSv1_2_client_method() does not honor the SSL_OP_NO_TLS* flags. closes #3612 2012-12-22 15:04 -0800 Michael Elkins (d07c9ee9a92b) * configure.ac: If neither --with-idn nor --without-idn are given, use -I/usr/include/idn when checking for the libidn header files, if present (needed for Solaris 11). Don't bother checking for the idna_* functions if we didn't find -lidn 2012-12-21 11:17 +0100 Matthias Andree (7d55bad3b11f) * patchlist.sh: Fix VPATH-based generation of non-hg-mq based patchlists. Note: Makefile.am runs patchlist.sh with $(srcdir)/PATCHES provided on stdin. 2012-12-21 11:07 +0100 Matthias Andree (759dd53302a0) * version.sh: Fix VPATH build outside Mercurial repositories. 2012-12-21 12:37 -0800 Michael Elkins (494af2a964cb) * Makefile.am: add version.sh and check_sec.sh to EXTRA_DIST so they are including in the "make dist" output. 2012-12-20 21:13 -0800 Michael Elkins (5554d811eb99) * imap/util.c: fix forgotten RETSIGTYPE change id [18a724e9eba0] 2012-12-20 20:49 -0800 Michael Elkins (18a724e9eba0) * configure.ac, sendlib.c, signal.c: remove deprecated check for signal() return type 2012-12-20 20:45 -0800 Michael Elkins (6de2578088ab) * configure.ac: update configure.ac with autoupdate 2012-12-20 20:34 -0800 Michael Elkins (fe28a8bdd598) * configure.ac: change AM_CONFIG_HEADER to AC_CONFIG_HEADERS and move it after the AM_INIT_AUTOMAKE. config.h was not being generated from the dist package. 2012-12-20 17:09 -0800 Michael Elkins (21c085ae6e8f) * configure.ac: modernize intialization of configure.ac 2012-12-21 00:38 +0100 Matthias Andree (0703095bf52d) * Makefile.am: Fix 'make distcheck': missing txt2c* and po/mutt.pot cleanup 2012-12-20 14:44 -0800 Michael Elkins (f8774119c433) * menu.c: remove redundant #include statements 2012-12-20 14:40 -0800 Michael Elkins (489031af8fdd) * menu.c: remove extern decl for Charset_is_utf8 since menu.c includes mbyte.h which has the same decl. 2012-12-20 11:20 -0800 Michael Elkins (6674c087fd4f) * configure.ac: backout out changeset 36b0cc717ecc 2012-12-19 15:26 -0800 Michael Elkins (879c9516154c) * crypt-gpgme.c: allow for CRLF line endings when comparing for the OpenPGP block identifiers adapted from http://svnweb.freebsd.org/ports/head/mail/mutt/files /patch-pgp?revision=301308&view=markup 2012-12-19 14:52 -0800 Michael Elkins (41089c2982e3) * pager.c: support nbsp in the pager. imported from http://svnweb.freebsd.org/ports/head/mail/mutt/files /patch-nbsp?revision=301308&view=markup 2012-12-19 14:40 -0800 Michael Elkins (fd2d94a0eb20) * configure.ac: detect newer BDB versions up to 5.2 imported from http://svnweb.freebsd.org/ports/head/mail/mutt/files /patch-bdb?revision=301308&view=markup 2010-07-22 20:06 +0200 Fabian Groffen (bc39bac75ea8) * regex.c: http://thread.gmane.org/gmane.mail.mutt.devel/15710 Interix doesn't have btowc, but it does have mbtowc. Linux manpage also discourages the use of btowc. 2012-12-19 13:29 -0800 Petr Pisar (f7bd9642217f) * po/cs.po: updated cs.po 2012-12-19 11:56 -0800 Michael Elkins (73900ca5db9a) * menu.c: use WACS_* macros for printing wide versions of the line drawing characters when linking against ncursesw. This patch is based on http://prefix.gentooexperimental.org:8000 /mutt-patches/file/fea851a2808f/solaris-ncurses-chars.patch 2012-12-19 11:08 -0800 Michael Elkins (36b0cc717ecc) * configure.ac: make configure define _POSIX_C_SOURCE, _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED to comply with POSIX.1-2008 and XSI conforming applications. 2012-12-19 06:57 -0800 Vsevolod Volkov (52219fecdac8) * po/ru.po: update ru.po 2012-12-19 06:55 -0800 Vincent Lefevre (caf64f14142d) * charset.c: remove duplicate const keyword 2012-12-18 20:46 -0800 Michael Elkins (940e528ef852) * mutt_ssl.c: disable tls v1.1/1.2 in mutt_ssl_starttls() based on $ssl_use_tlsv1_* see #3571 2012-12-18 20:38 -0800 Michael Elkins (6bdd35fb3378) * mutt_ssl_gnutls.c: add support for TLSv1.1/1.2 when using GNUTLS. see #3571 2012-12-18 19:44 -0800 hncaldwell (fab920f01ca7) * init.h, mutt.h, mutt_ssl.c: add variables for disabling TLSv1.1/1.2 when compiled against OpenSSL 1.0.1 see #3571 2012-12-18 13:50 -0800 Michael Elkins (f251d523ca5a) * headers.c, lib.h, mutt_crypt.h, parse.c, pop_lib.c, postpone.c, rfc1524.c, rfc822.c, send.c, sendlib.c, url.c: rename iswsp() to is_email_wsp() add new inline funtion skip_email_wsp() to be used in lieu of SKIPWS() when parsing ASCII protocols rather than user input. change use of SKIPWS() to skip_email_wsp() in places where it is likely to be a problem. 2012-12-18 02:21 -0800 Michael Elkins (897dcc62e4aa) * sendlib.c: fix problem where mutt_substrdup() was called with the start pointer > end pointer, as a result of using SKIPWS(). This occurred because the header field had an empty body, so the trailing newline was skipped over. The fix is to just skip over ascii space and htab. closes #3609 2012-12-18 01:53 -0800 Honza Horak (d7f4b2e2b09a) * mutt_ssl_gnutls.c: if the peer's x.509 cert is not valid, we need to allow the user to inspect it even if the digital signatures are valid closes #3506 2012-12-17 20:42 -0800 Vincent Lefevre (722c47f6ede9) * po/fr.po: updated fr.po 2012-12-17 17:09 -0800 Honza Horak (ca4747442189) * pop.c: fix segfault in pop driver. when rereading the message header, the ENVELOPE* struct is freed, but ctx->subj_hash retains a pointer to env->real_subj, so the hash table entry must be deleted prior to calling mutt_free_envelope() http://pkgs.fedoraproject.org/cgit/mutt.git/tree/mutt-1.5.21-pophash .patch?h=f18 2012-12-17 16:47 -0800 Petr Pisar (9f8e41dd4e1d) * crypt-gpgme.c: Fix NULL pointer dereference in notation name closes #3574 2012-12-17 10:39 -0800 Michael Elkins (e6b271ed1d7f) * configure.ac, mutt_ssl.c: use TLSv1.2 if available in the system OpenSSL when using starttls 2012-12-17 10:09 -0800 Michael Elkins (d77d81a69999) * mutt_ssl.c: use SSL_get_version() to display the actual SSL protocol used rather than the fixed string SSL. 2012-12-16 20:23 -0800 Andrew Gaul (ed06326ae8a8) * doc/dotlock.man, doc/makedoc.c, doc/smime_keys.man, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, rfc1524.c: Correct typos 2012-12-16 19:33 -0800 Michael Elkins (5e745e37fe6e) * init.h: update documentation for $pgp_getkeys_command to note that %r is replaced with the email address, not the public key ID closes #1208 2012-12-16 13:28 -0800 Michael Elkins (1cc05de753c2) * rfc822.c, rfc822.h: use new function iswsp() in place of isspace() when testing for whitespace. closes #3608 closes #2956 2012-12-15 07:48 -0800 Michael Elkins (8aee8497cc2b) * imap/command.c, imap/imap.c, imap/imap_private.h, imap/message.c, imap/util.c: make imap_private.h include message.h for IMAP_HEADER_DATA definition cast &ctx->data to IMAP_HEADER_DATA** to fix compiler warning imap_free_header_data should check for *data being NULL, rather than "data" 2012-09-09 19:54 -0700 Andrew Gaul (d39813193f27) * imap/imap_private.h, imap/message.c: Make imap_free_header_data type-safe Also push conditional into function for safety and consistency with other free functions. 2012-12-08 12:31 +0100 Matthias Andree (c4c65eadeb71) * Makefile.am: Fix VPATH build by running txt2c.sh from ${srcdir} rather than ".". 2012-12-07 09:51 -0800 Michael Elkins (d626fb87c489) * crypt-gpgme.c: invoke gpgme_check_version() as required to initialize the library. move locale code to initialization function. closes #3300 2012-12-06 07:56 -0800 Michael Elkins (ed5ad234aeed) * init.h: additional documentation for $editor. closes #3602 2012-12-01 14:48 -0800 Michael Elkins (dace74dd904a) * doc/manual.xml.head: list-reply documentation should mention its behavior wrt the List-Post header field. closes #3599 2012-12-01 14:32 -0800 Michael Elkins (109ebf6d4e53) * send.c: don't perform rfc3676 space stuffing when recalling a postponed message where it has already been done. closes #3600 2012-12-01 14:31 -0800 Michael Elkins (2bf065dd23d6) * ascii.c: make ascii_strcasecmp properly handle unequal length strings with the same prefix closes #3601 2012-10-16 18:13 -0500 David Champion (d414971f0c48) * .hgignore, Makefile.am, main.c, muttbug.sh.in, txt2c.c, txt2c.sh: Add compiler and configure info to mutt -v output (closes #3537) Makefile(.am) updated to produce conststrings.c, which contains C strings representing: * the compiler's own version information; * the CFLAGS value from the Make environment * the ./configure options main.c is updated to print them when running 'mutt -v'. txt2c.sh is added to produce conststrings.c. txt2c.sh uses a compiled txt2c binary if possible, for complete fidelity to the source strings in whatever encoding they may use. If txt2c is not available (could not be compiled, or was not compiled natively) it falls back on a shell function to approximate the output using sed and tr. 2012-07-22 11:15 -0700 Brendan Cully (70810a88ce9f) * muttlib.c: mutt_buffer_init: just memset the buffer (closes #3588) This was meant to be part of the previous commit. 2012-07-21 19:51 -0700 Brendan Cully (99dbd23ce78f) * imap/imap.c, imap/util.c, mbyte.c, muttlib.c, parse.c, protos.h: Split mutt_buffer_new out of mutt_buffer_init. Currently, no callers were providing a non-NULL buffer to mutt_buffer_init, and splitting it will allow more sane semantics for buffer allocation, initialization, and destruction in a later patch. 2012-07-20 12:32 -0700 Brendan Cully (6d6df167185c) * commands.c, hook.c, init.c, pattern.c: Do not use stack-allocated space for BUFFERs It will cause mutt_buffer_* to segfault if it needs to grow the space. Thanks to Steve Losh for discovering the issue. I have done some simple grepping to find other cases, but some may remain. 2012-07-08 22:40 -0700 Dan Fandrich (2f2ebc24920d) * send.c: Set text_flowed after send-hook has been applied (closes #3550) 2012-07-08 22:27 -0700 Brendan Cully (5bf02605d988) * mutt_ssl_gnutls.c: silence some style warnings 2012-07-08 17:34 -0700 Antonio Radici (33415ca7d976) * copy.c, crypt.c, edit.c, enter.c, init.c: Fix some spelling errors (closes #3493) 2012-07-08 17:25 -0700 Brendan Cully (243710db60e0) * mutt_ssl_gnutls.c: gnutls:tls_compare_certificates: check strstr for failure (closes #3547) A malformed certificate file could cause strstr to return an unhandled NULL. Thanks to hhorak for the proposed patch. This one is similar but avoids using memmem for the first time (I am not sure about its portability). 2012-07-07 21:57 -0700 Antonio Radici (8fabaffc2c00) * init.c: check_charset: check for NULL before calling strtok_r (closes #3326) Otherwise, if strtok_r cannot handle NULL an empty *charset setting will segfault 2012-07-07 15:50 -0700 Brendan Cully (c6a44f4f6a99) * imap/auth_sasl.c: Do not use SASL for login unless AUTH=LOGIN is advertised (closes #3556) 2012-05-25 22:30 +0200 Marco Paolone (e452440f92a4) * po/it.po: Update Italian translation 2012-05-24 22:02 -0700 Brendan Cully (0488deb39a35) * configure.ac: Remove AM_C_PROTOTYPES from configure.ac (closes #3579) I doubt we have any users of that macro nowadays. It will be interesting to hear about it if we do. 2012-05-23 23:29 -0400 Brendan Cully (0fb6d7579fd1) * account.h: Support passwords of up to 127 characters. I received a report on IRC of a failure due to a 64-byte password. 2012-04-29 22:15 -0700 Brendan Cully (41a8d7dceb6c) * mutt_ssl_gnutls.c: gnutls: catch gnutls_init failures I haven't actually experienced these, but it seems like a good idea. 2012-04-29 22:14 -0700 Brendan Cully (aadaeb69cbd0) * mutt_sasl.c: give user time to read SASL init error message 2011-12-20 22:24 -0800 TAKAHASHI Tamotsu (c26dbc7021f4) * po/ja.po: Updated Japanese translation 2011-12-03 11:13 -0800 Dan Fandrich (9e756d1adb76) * addrbook.c, browser.c, charset.c, color.c, compose.c, crypt-gpgme.c, curs_lib.c, curs_main.c, date.c, enter.c, functions.h, globals.h, handler.c, help.c, imap/auth.c, imap/command.c, imap/message.c, imap/utf7.c, imap/util.c, init.c, init.h, keymap.c, keymap.h, lib.c, mapping.h, mime.h, mutt_ssl.c, pager.c, parse.c, pattern.c, pgpkey.c, pgpmicalg.c, pop_auth.c, postpone.c, protos.h, query.c, recvattach.c, remailer.c, rfc2047.c, rfc822.c, rfc822.h, sendlib.c, url.c: Declare many structures const (closes #3552) Many structs used in mutt are actually constant but are defined without the 'const' keyword. This can slow initialization (slightly) in some environments due to extra copying and increases the amount of writable RAM required at run-time, which can be significant on non-MMU systems. Using const can also increase the opportunities for compiler optimization. The attached patch marks many such structures as const. On my test x86 build, this reduces the size of .data by over 50%. 2011-12-03 11:07 -0800 Dan Fandrich (1ed2657f6e24) * ascii.c: Inline some small, often-used functions (closes #3551) When I first sent this patch to the mailing list in 2008, my benchmarking found a reduction in startup time of 15%. 2011-11-26 20:41 -0800 Vincent Lefevre (d7b14ea9f708) * po/fr.po: Updated French translation 2011-11-28 09:46 -0800 Michael Elkins (6f65f6d7d4c9) * enter.c: make kill-eow and kill-word consistent in considering words to consist only of alphanumeric characters. closes #3549. 2011-11-25 12:52 -0800 Michael Elkins (ab1b84289213) * sendlib.c: Check that $sendmail is set to avoid potential segfault. Closes #3548. 2011-07-13 11:05 -0500 David Champion (b01d63af6fea) * hcache.c: Invalidate header caches when spam rules change. closes #3473 User 'exg' on #mutt reported a problem when using header cache with IMAP and spam rules. Spam tags are retrieved from cache and not updated when spam rules change. 1. Enable header caching in muttrc 2. Set spam rules in muttrc 3. Use IMAP (or POP or Maildir). Your spam rules store spam tags into your message headers, and these get cached. 4. Quit mutt 5. Change your spam rules in muttrc 6. Relaunch mutt 7. Because of header caching, the rfc822 headers are not reparsed, and spam rules are not reapplied. User has outdated spam tags. Spam rules are applied during rfc822 header parsing because it's the only time we get a full and unadulterated view of all headers. Once header parse is done we have only processed headers and 'user headers' (X-headers). We might do spam rule matching against the struct HEADER copy of headers, except that: a. the header might not be in HEADER if it's non-standard and not an X-header; b. spam rules are regular expressions matching any arbitrary header line, and we would need to map these regexps to the header used to create the HEADER fields. This would change the syntax and behavior of spam rules dramatically. One solution, perhaps stopgap, is to invalidate the header cache when spam rules change. That's what this patch does. It alters the hcache versioning algorithm so that in addition to using the compiled-in checksum of mutt's structures definitions, we also mix in the user's runtime spam rules. Any time spam rules change the hcachever hash value changes, causing the hcache to be rewritten. 2011-07-01 18:21 -0700 Brendan Cully (54a454492bd0) * ChangeLog: Update ChangeLog 2011-07-01 17:23 -0700 Brendan Cully (94eee9410f7a) * version.sh: version.sh: fix(?) failure due to bizarre sh quoting rules I have not checked POSIX, and sh quoting always makes my head hurt, but this seems to suffice for my sh (actually bash in sh mode) when HGROOT contains a space. 2011-05-23 13:22 +0200 Olaf Hering (81a7c41040bf) * browser.c, browser.h: folder_file: change type of new from short to int As requested by Rocco Rutte in bug #2421 increase the type to int. Signed-off-by: Olaf Hering * pgppubring.c: fix gcc 4.6 warning -Wunused-but-set-variable in pgppubring.c pgppubring.c: In function 'pgp_parse_pgp3_sig': pgppubring.c:424:17: warning: variable 'hashalg' set but not used [-Wunused-but-set- variable] pgppubring.c:423:17: warning: variable 'pkalg' set but not used [-Wunused-but-set-variable] Signed-off-by: Olaf Hering 2011-06-29 12:01 -0500 David Champion (8b5e41c6a517) * version.sh: version.sh: 1003.1 "-k" instead of obsolete "+" syntax (closes: #3528) * configure.ac, version.sh: version.sh: support building outside of source directory Reported by Emanuele Giaquinta . Thanks also to Michael Elkins . 2011-06-25 20:07 -0700 Brendan Cully (b477d7c5733e) * imap/command.c: Parentheses suggested * imap/command.c: Do not subscribe to \noselect mailboxes. Closes #3445 2011-06-25 15:42 -0700 Honza Horak (0e4f1782ea2e) * imap/message.c: Avoid creating sparse ctx array when fetch responses are ignored. Closes #3288. 2011-06-25 15:23 -0700 Brendan Cully (53dcb3a21da4) * compose.c, muttlib.c: Silence some eclipse warnings 2011-06-20 16:39 -0700 Michael Elkins (b574d6f9f532) * sendlib.c: rfc2047 encode recipient list in resent-to header field. closes #3512 * rfc822.c: copy idn status when duplicating address object 2011-06-20 16:07 -0700 antonio (1bb9002567c4) * doc/manual.xml.head: fix regexp example in documentation 2011-06-18 21:29 -0700 antonio (b9856206eee4) * mutt_ssl_gnutls.c: Remove the deprecated gnutls_certificate_verify_peers() in favour of the new gnutls_certificate_veirfy_peers2() Reported on http://bugs.debian.org/624085 closes #3516 2011-06-18 21:07 -0700 Michael Elkins (beebe6a4d25d) * imap/auth_login.c: clear logging in message when login succeeded. closes #3524 2011-05-23 12:59 +0200 Olaf Hering (8570f8a10572) * smime.c: fix gcc 4.6 warning -Wunused-but-set-variable in smime.c smime.c: In function 'smime_handle_entity': smime.c:1663:8: warning: variable 'last_pos' set but not used [-Wunused-but-set-variable] Signed-off-by: Olaf Hering * pgp.c: fix gcc 4.6 warning -Wunused-but-set-variable in pgp.c pgp.c: In function 'pgp_application_pgp_handler': pgp.c:254:8: warning: variable 'start_pos' set but not used [-Wunused-but-set- variable] Signed-off-by: Olaf Hering * crypt-gpgme.c: fix gcc 4.6 warning -Wunused-but-set-variable in crypt-gpgme.c crypt-gpgme.c: In function 'show_one_sig_status': crypt- gpgme.c:1311:21: warning: variable 'uid' set but not used [-Wunused- but-set-variable] crypt-gpgme.c: In function 'pgp_gpgme_application_handler': crypt-gpgme.c:2285:27: warning: variable 'anywarn' set but not used [-Wunused-but-set-variable] crypt-gpgme.c:2159:8: warning: variable 'start_pos' set but not used [-Wunused-but-set-variable] crypt-gpgme.c: In function 'crypt_getkeybystr': crypt-gpgme.c:4094:7: warning: variable 'match' set but not used [-Wunused-but-set-variable] Signed-off-by: Olaf Hering * rfc1524.c: fix gcc 4.6 warning -Wunused-but-set-variable in rfc1524.c rfc1524.c: In function 'rfc1524_expand_filename': rfc1524.c:453:20: warning: variable 'r' set but not used [-Wunused-but-set-variable] Signed-off-by: Olaf Hering * compose.c: fix gcc 4.6 warning -Wunused-but-set-variable in compose.c compose.c: In function 'redraw_crypt_lines': compose.c:113:7: warning: variable 'off' set but not used [-Wunused-but-set-variable] Signed-off-by: Olaf Hering * imap/imap.c: fix gcc 4.6 warning -Wunused-but-set-variable in imap.c imap.c: In function 'imap_open_mailbox': imap.c:558:15: warning: variable 'conn' set but not used [-Wunused-but-set-variable] imap.c: In function 'imap_open_mailbox_append': imap.c:777:15: warning: variable 'conn' set but not used [-Wunused-but-set-variable] imap.c: In function 'imap_subscribe': imap.c:1816:15: warning: variable 'conn' set but not used [-Wunused-but-set-variable] imap.c: In function 'imap_complete': imap.c:1944:15: warning: variable 'conn' set but not used [-Wunused-but-set-variable] Signed-off-by: Olaf Hering 2011-05-22 22:13 -0700 Brendan Cully (1fc2afbf9e3a) * keymap.c, mbox.c: Fix some minor warnings 2011-03-30 07:52 -0700 Michael Elkins (f7160c94ff70) * keymap.c: fix bug where SIGWICH is ignored when $imap_keepalive < $timeout closes #3507 2011-03-07 10:17 -0600 David Champion (8d0281f79b21) * configure.ac, dotlock.c, mutt.h, version.sh: Extra information in mutt version string, redux. Restores [f1b4d1d17200] functionality with a slight change to keep 'make dist' working (see backout in [6b38124a5b81]). Automake is too much voodoo for me at this time, so I let it keep VERSION. mutt.h defined MUTT_VERSION as VERSION and the code used that, so I removed MUTT_VERSION from mutt.h and put it into config.h via configure.ac. A couple of tweaks were needed elsewhere. This restores the fancy-versioning feature within mutt and keeps 'make dist' happy. 2011-03-06 07:31 -0800 Brendan Cully (6b38124a5b81) * configure.ac, version.sh: Back out f1b4d1d17200. It is nice, but it breaks make dist. 2011-01-03 13:19 -0600 David Champion (b107737c415c) * patchlist.sh: Include mq-based patches in the mutt patch list. This augments the contents of the PATCHES file, so that mq-based builds do not need to maintain that file. * configure.ac, version.sh: Include extra information in mutt version string for developer builds. When a build is based on an hg clone, include extra information about the changeset node, distance from a tagged release, and mq applied patch count. For example, after this patch is applied my mutt build identifies itself (in mutt -v and in ) as: Mutt 1.5.21+26,mq+22 (7edc2073390d) (2010-09-15) I have applied 26 changesets applied since 1.5.21 was tagged, 22 of which are in my mq patch series. A 1.5.21 release build that is not mercurial-based would still appear simply as "1.5.21". 2011-02-21 23:12 -0800 Brendan Cully (047bd501d6db) * UPDATING, init.h: Lower $imap_keepalive default to 300 seconds 2010-12-30 10:09 -0800 Brendan Cully (f01b306ebe0e) * sendlib.c: Handle missing : in write_one_header debug statement. Closes #3483 2010-10-13 07:38 -0700 Ralf Wildenhues (57568da7d9aa) * thread.c: fix a minor logic error in thread.c, and a dead code line 2010-10-11 07:56 -0700 Michael Elkins (033acdc0a947) * pager.c: Backed out changeset 11399121296a 2010-10-07 14:43 -0700 Michael Elkins (11399121296a) * pager.c: support non-breakable space character in the pager 2010-10-01 07:14 -0700 Michael Elkins (1a4c43138685) * muttlib.c: fix segfault when $message_cachedir is set and opening a POP3 mailbox. fixes #3457 2010-09-30 18:11 -0700 Roman Kagan (c10f8863e979) * crypt-gpgme.c: use gpgme_strerror() in lieu of gpg_strerror() 2010-09-29 14:17 -0700 Michael Elkins (a23835db228d) * globals.h, handler.c, init.h, mutt.h, rfc3676.c: Add $reflow_text boolean, and $reflow_wrap variables to control display of format=flowed text parts. * rfc3676.c: fix typoh in comment * rfc3676.c: fix handling of format=flowed when $wrap is 0. 2010-09-23 11:06 -0700 Michael Elkins (f2452f1f1fef) * rfc2047.c: RFC2047 encode/decode the group name in an address list. closes #3317 2010-09-23 06:56 -0700 Ivan Vilata i Balaguer (51ee8e8a56bb) * po/ca.po: updated Catalan translation 2010-09-20 14:04 +0100 Emanuele Giaquinta (d2f10c550d90) * mbox.c: Fix typo 2010-09-16 07:19 -0700 Vsevolod Volkov (0ca7ed91fe7f) * po/ru.po: update ru.po for 1.5.21 2010-09-15 11:47 -0700 me (59aad6c21703) * regex.c: fix compile error with --with-regex and --without-wc-funcs 2010-09-15 10:53 -0700 Brendan Cully (bd0afbb35c65) * UPDATING: Belatedly update UPDATING 2010-09-15 10:21 -0700 Brendan Cully (b42be44bb41a) * .hgsigs: mutt-1.5.21 signed 2010-09-15 10:10 -0700 Brendan Cully (9c7bd63635de) * .hgtags: Added tag mutt-1-5-21-rel for changeset 25a7f8f7d50d 2010-09-15 10:10 -0700 Brendan Cully (25a7f8f7d50d) * VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.5.21 2010-09-15 10:05 -0700 Michael Elkins (54e3139a0362) * safe_asprintf.c: suppress check_sec errors 2010-09-13 17:25 -0700 Michael Elkins (20b2d496349f) * init.h: make $mail_check_recent set by default 2010-09-13 19:00 +0100 Emanuele Giaquinta (fea3860ff672) * imap/command.c: Restore the previous behaviour of checking for new messages in imap folders when mail_check_recent is set. 2010-09-12 19:54 -0700 Michael Elkins (a51df78218e8) * buffy.c, buffy.h, imap/command.c, init.h, mbox.c, mutt.h: add $mail_check_recent boolean to control whether Mutt will notify about all new mail, or just new mail received since the last visit to a mailbox closes #3271 partly addresses #3310 * smime.c: fix crash when index contains 0 keys 2010-09-11 07:34 -0700 Michael Elkins (0f962f1a6bbb) * send.c: Allow setting message security in send2-hook This patch delays checking the message security options until after the user has an initial chance to edit the message. This allows the security options to be set in a send2-hook when using $edit_headers. Without this patch, the user has no way of automatically setting security based on recipients since the to/cc prompts are bypassed. The other change in behavior is if the user happened to use a send2-hook to see if the message had security applied *prior* to editing the message, that no longer works. * keymap.c, keymap.h, main.c: support for ncurses extension allowing binding to function keys with modifiers * keymap.c: allow octal codes with more than three digits * crypt-gpgme.c, mime.h, pgp.c, recvattach.c, sendlib.c: add DISPNONE to mean no preferred Content-Disposition; make pgp-signature parts DISPNONE for multipart/signed * recvcmd.c: fix problem with reply-hook not working when a message/rfc822 attachment is selected * rfc2047.c: more lenient RFC2047 decoding: accept illegal spaces and bare question marks in encoded words * curs_main.c, mx.c: fix crash when new mail is received during IMAP IDLE closes #3335 2010-08-25 00:30 +0100 Emanuele Giaquinta (5302767aa6aa) * rfc2047.c: Use mutt_substrdup in rfc2047_decode_word 2010-08-24 16:40 -0700 Michael Elkins (92b02f77e780) * rfc2047.c: detect failure to decode word and copy raw string instead; avoids calling strlen() on uninitialized memory closes #2923 2010-08-24 18:39 +0100 Emanuele Giaquinta (ebd4beafe5eb) * mutt_ssl.c: Fix typo. * browser.c, hook.c, init.c, menu.c, mutt_ssl_gnutls.c, pager.c: Do not call regfree if regcomp fails. The content of the regex_t structure is undefined in this case. * curs_lib.c, mutt_ssl_gnutls.c: use REGCOMP() macro 2010-08-24 10:03 -0700 Michael Elkins (5d59c8b737ba) * init.c: add REG_ICASE accidentally removed in changeset 1a35f096c8cb * muttlib.c: do not print debug message on ENOENT 2010-08-14 09:18 -0700 Michael Elkins (04fd8ddea579) * url.c: avoid c99 syntax for backwards compat 2010-08-06 21:52 +0200 Matthias Andree (24a7b1aa2e55) * buffy.c: Fix comparison signedness warnings. 2010-08-12 16:04 -0700 Michael Elkins (ced5d3dca974) * imap/util.c: Fix bug in imap_keepalive() which erroneously free Context when the IMAP connection is shut down by the server. Closes #3410 * url.c: url_parse_mailto should return 0 on success fix memory leak errors when unable to parse mailto: URL closes #3441 * mh.c: always update message body size when parsing a maildir message * safe_asprintf.c: call va_end() even when vasprintf returns <0 2010-08-09 20:48 -0700 Michael Elkins (6572e8bcd723) * Makefile.am, imap/message.c, lib.c, lib.h, safe_asprintf.c: rename mutt_sprintf() to safe_asprintf() to match the GNU extension that performs a similar task 2010-08-09 10:27 -0700 Vincent Lefevre (e86ee9991dc3) * postpone.c: In postpone.c, function mutt_num_postponed, the old {{{OldPostponed}}} is never freed. closes #3442 2010-08-09 09:38 -0700 Michael Elkins (8051fc8b631c) * send.c: clear the real name when $reverse_realname is unset and a match is hit so that $realname can be set in a reply- or send-hook closes #3427 * doc/manual.xml.head: fix example of mailto: use on the command line * pager.c: fix buffer underrun when processing ANSI escape sequences closes #3371 2010-08-08 12:29 -0700 Michael Elkins (4dcf19c58139) * doc/manual.xml.head, doc/mutt.man: document support for mailto: URLs on the command line closes #3400 * imap/message.c: avoid error when the user has requested many extra headers via IMAP closes #3435 * lib.c, lib.h: add a malloc+sprintf combo function 2010-08-08 10:21 -0700 Fabian Groffen (d4d703e21cdd) * pattern.c: fix crash in limit when user enters invalid regexp closes #3417 2010-08-07 06:44 -0700 Michael Elkins (cc881d855f05) * mutt_ssl.c: Fix comparison signedness warnings * pop_lib.c: add comment about safety of cast 2010-08-06 21:58 +0200 Matthias Andree (55f50b2db1f8) * pop_lib.c: Fix comparison signedness warning. * status.c: Fix signedness warning. * .hgignore: Ignore backup files ending in a tilde character. * url.c: Fix comparison signedness warnings. * gnupgparse.c, pop_auth.c: Fix comparison signedness warnings. * lib.h: Resolve if/else empty body ambiguity/warnings when compiling without DEBUG. 2010-08-06 17:08 -0700 Michael Elkins (5b15d4d96277) * configure.ac, init.c, protos.h: detect availablity of 'long long' cast time_t to 'long long' prior to bitshifting since it can be a float value according to POSIX.1-2008 closes #3439 2010-08-06 21:22 +0200 Matthias Andree (bf13863e682e) * md5.c: Drop declaration for unused argv/argc parameters. Fixes GCC warning with -Wextra. 2010-08-06 13:11 -0700 Michael Elkins (998ca956b41b) * init.c, muttlib.c: use a 64-bit random value in temporary filenames. closes #3158 * browser.c: avoid using C99 bool * browser.c, init.h: add %D format string to $folder_format to expand the time based on $date_format. properly set the locale for LC_TIME prior to calling strftime() closes #1734 closes #3406 * mutt_ssl.c: fix compiler warning about wrong type for SslSessionCerts 2010-08-06 09:58 +0200 Matthias Andree (473fbe29f626) * mutt_ssl.c: Unbreak X.509 SubjAltName checks, regression in 6016:dc09812e63a3 that calls strlen on an SSL sk rather than its string payload. closes #3426 2010-08-06 07:12 -0700 Michael Elkins (4ae33a8a1391) * configure.ac: properly set _XOPEN_SOURCE to 600 (POSIX.1-2004) when detecting th wc*() functions closes #3341 2010-08-05 21:57 -0700 Michael Elkins (bc5fb152e2ba) * mbox.c: when parsing From_ lines in mmdf/mbox, the TZ should be computed based on the time in the string rather than the current time, otherwise DST issues cause the computed time to be wrong. closes #2177 * thread.c: explanatory comments 2010-08-05 17:03 -0700 andreas (0666d9588eac) * curs_main.c, functions.h: do not leave pager when changing sort order. closes #2143 2010-08-05 16:47 -0700 Michael Elkins (57d4b3839172) * curs_main.c: do not leave pager when using read-thread and read- subthread closes #2137 2010-08-04 17:04 -0700 Petr Písař (59ca5d7b1656) * ChangeLog, po/cs.po: Updated Czech translation 2010-08-04 06:37 -0700 Vincent Lefevre (a7f05f29d9bc) * po/fr.po: updated French translation 2010-08-03 10:10 -0700 Michael Elkins (2c42f4760c8f) * browser.c: add locale.h for compililng with -std=c99 * main.c: adjust help for -a to make it clearer that -- is required terminator 2010-07-31 08:21 -0700 Michael Elkins (7cd85c18bfaf) * muttlib.c: Fix buffer underflow in expansion of format pipes. Add better error detection. Closes #3432. 2010-07-18 14:24 -0700 Michael Elkins (1a35f096c8cb) * init.c: use REGCOMP() macro 2010-07-18 22:09 +0100 Emanuele Giaquinta (d0e0d174d620) * init.c: Skip 'attachments' directive if minor type is not a valid regexp 2010-07-09 11:07 -0700 Joel Dahl (6b13e8319c1f) * po/sv.po: fix misspelling in Swedish translation 2010-05-18 08:39 -0700 Michael Elkins (29e37994a536) * send.c: Consider any negative return value from send_message() to be an error and allow the user to resend. Closes #3411. 2010-04-24 16:10 -0700 Brendan Cully (4cd2daafd03b) * mutt_ssl.c: openssl: only call SSL_shutdown during clean shutdown (closes #3407) 2010-04-22 09:14 -0700 Vincent Lefevre (6ebdfd09abc1) * po/fr.po: updated French translation 2010-04-14 15:47 -0700 Michael Elkins (15b9d6f3284f) * pgp.c: remove toggle and replace with format in pgp-menu 2010-04-12 15:13 -0500 David Champion (41a46373ddd9) * compose.c: Improve clarity/uniformity in compose menu's crypto display Incorporates feedback on "Security: None" key hints. 2010-04-13 06:49 -0700 Michael Elkins (4d798ee2898e) * muttlib.c: fix bug handling wide pad char in soft-fill mode 2010-04-11 20:00 -0700 Michael Elkins (2cd62f40d840) * compose.c: increase size of buffer used for displaying addresses in the compose menu to avoid truncating on widescreen displays * curs_lib.c: clear prompt when user cancels with ^G from a yes/no prompt * muttlib.c: Fix bug in soft-fill (%*) in $index_format not accounting for 'set arrow_cursor' * pgp.c: Remove the (i) option from the PGP-menu when encryption or signing is not yet selected. The toggle between PGP/MIME and Traditional doesn't make sense unless some type of security has been requested. Closes #3402. 2010-04-06 09:47 -0700 Michael Elkins (889aa698cc49) * configure.ac, muttlib.c: fix for compiling Mutt with clang: check for wchar_h prior to wctype_h in check for wc funcs 2010-04-05 11:12 -0700 Michael Elkins (844174efa648) * doc/manual.xml.head: [doc] Remove bogus -group parameter from unlists and unsubscribe commands; add links to address group section for context. 2010-04-03 20:34 -0700 Michael Elkins (cf97505addf8) * init.c: prevent user from setting $charset to an empty string since other code requires it to be set to a valid string closes #3326 * pager.c: allow regexps to match on continuation header lines in 'color header' commands. closes #3373 * pattern.c: Fix crash on invalid regexp in search string due to uninitialized BUFFER variable. Closes #3401 2010-04-01 10:10 -0700 Simon Ruderich (b9baa0234846) * attach.c, commands.c, filter.c, muttlib.c, send.c: fix comment typos 2010-04-01 09:59 -0700 Michael Elkins (96ed7cdacdc6) * init.h: Improve documentation for $query_command to note that Mutt automatically adds quotes according to shell quoting rules (thx: Simon Ruderich). * doc/manual.xml.head: Clarify the documentation on what the line- editor is (thx: Simon Ruderich) 2010-03-31 08:50 -0700 Michael Elkins (7e9e31b1bd7b) * muttlib.c: avoid buffer overflow when expanding the format string associated with a 'spam' command. closes #3397 2010-03-23 16:03 -0700 Michael Elkins (fe29d691deff) * doc/muttrc.man.head: remove errant commands in secton on setting alternates 2010-03-22 22:16 -0700 Brendan Cully (69e9a1a0ba2f) * sendlib.c: Fix a format string warning 2010-03-22 20:02 -0700 Marcel Telka (f544730656c1) * compose.c: redraw entire screen when exiting editor after re-editing the message body in the send menu. closes #3393. 2010-03-21 09:52 -0700 Michael Elkins (0a29e3f4f4b9) * sendlib.c: Do not assume whitespace follows the colon in a header field. Closes #3385. 2010-03-08 15:13 -0800 Brendan Cully (ad6d799951cb) * configure.ac: Comment about search libsasl for sasl2 functions 2010-03-08 14:04 -0600 Will Fiveash (b92b9c6a1c85) * configure.ac: OpenSolaris sasl fix for configure.ac 2010-03-08 15:00 -0800 Brendan Cully (05cec973f0d9) * pattern.c: When regexp compilation fails, report actual pattern along with error. * muttlib.c: mutt_buffer_printf: NULL dptr means use data * pattern.c: If regcomp fails, assume rx has not been allocated. Fixes a core dump for save-hook '~f foo\.bar@(something|other)\.com' =foo. 2010-03-02 11:31 -0800 TAKAHASHI Tamotsu (fec2720ff6ef) * rfc822.c: Fix #2014. Thanks to Vincent Lefevre for help with this one. 2010-03-02 11:16 -0800 Brendan Cully (41cf44ddbb4c) * copy.c: Fix thinko in [cc02f079b1b9] 2010-03-01 22:40 -0800 Brendan Cully (cc02f079b1b9) * copy.c: Guard dequote with NULL check on personal field * copy.c, rfc822.c, rfc822.h: Another attempt to dequote RFC2047-encoded address comments (see #2014) * rfc822.c: Backed out changeset 2a4ca6917fd0. It is incompatible with $assumed_charset (see #2014). 2010-02-28 23:03 -0800 Brendan Cully (2a4ca6917fd0) * rfc822.c: RFC-2047 decode address text before dequoting it (see #2014) * doc/manual.xml.head: Fix next-unread-mailbox name in documentation. Closes #3319. 2010-02-28 17:23 -0800 Antonio Radici (25459cbb132a) * po/de.po: Fix German translation of "No undeleted messages." (closes #3372) * pop_lib.c: pop: allow user-specified port to override default in URL. Closes #3322. 2010-02-28 17:00 -0800 ludwig (2c78b28027cc) * crypt-gpgme.c: GPGME: Sender verification should be canse- insensitive for domain names. Closes #2180 2010-02-26 18:18 -0800 Brendan Cully (40eca68c394a) * UPDATING, init.h: Make $thorough_search default to yes (closes #3386) 2010-02-23 12:42 -0800 Brendan Cully (57124ea5592e) * commands.c: Don't use freed ctx.path when updating utime of target mailbox in save-message. Thanks to Sean Boudreau for the bug report. 2010-02-22 23:01 -0800 Vincent Lefevre (f17302c10229) * po/fr.po: Updated French translation. 2010-02-21 13:16 -0800 Brendan Cully (a6fddecdc5f5) * curs_lib.c: Make mutt_yesorno use mutt_message to print query. Closes #3352. 2010-02-20 21:56 -0800 Gregory Shapiro (f723e07c8e6d) * OPS, UPDATING, curs_main.c, functions.h: Add imap-logout- all to log out of all IMAP connections. Closes #2880. 2010-02-17 00:47 -0800 Simon Ruderich (260d39279161) * doc/manual.xml.head: Document 'n' and 'o' flags in index * doc/devel-notes.txt, doc/muttrc.man.head, init.h, rfc1524.c: Spelling fixes 2010-02-10 23:29 -0800 Brendan Cully (b7ec848af36b) * doc/manual.xml.head: Fix a typo (closes #3379) 2010-02-01 23:40 -0800 Antonio Radici (e9965b78e92d) * po/sv.po: The Swedish translation has a suboptimal translation of the word "Bad" in several places. The proposed patch substitutes Dålig (which implies bad "as in quality", and not bad "as in error") for Felaktig (erroneous). Closes #3370. * init.h: Small fix to the muttrc manpage. Closes #3374 2010-01-13 19:12 +0100 Matthias Andree (e2c60de29015) * configure.ac: Fix hcache build on systems with $(EXEEXT), include it in mutt_md5. 2009-12-29 00:33 -0500 Brendan Cully (31881f38ca1e) * curs_lib.c: Hack mutt_wstr_trunc to treat M_TREE characters as 1 cell. Closes #3364. 2009-12-28 22:13 -0500 Brendan Cully (359de549b2d1) * doc/manual.xml.head: Remove spurious quotes from query_command example. Closes #3365. 2009-12-14 10:24 -0800 Brendan Cully (736b6af3c5f1) * rfc1524.c: Fix off-by-one errors in mailcap parser. Closes #3362 2009-12-10 22:52 -0800 Daniel Jacobowitz (b7d2cb7c7ce1) * hcache.c: Do not store header color in hcache. If the color directive is removed from muttrc, the cached value from the last directive would otherwise still be in effect. 2009-12-07 23:08 -0800 Patrick Welche (1cf34ea1f128) * mutt_ssl.c: STACK* is not defined with newer SSL, use STACK_OF instead. Closes #3356. 2009-12-07 22:46 -0800 Peter Rosin (fc9563de3dcb) * snprintf.c: Output %p as unsigned in the bundled snprintf 2009-11-14 14:31 -0800 Brendan Cully (6928f522ac48) * curs_main.c: Back out e67f4c347bb4. I could not reproduce the problem, and the change makes it impossible to change to a real folder when no folder is currently open. 2009-10-28 23:03 -0700 Brendan Cully (89fb586edda2) * sendlib.c: Unfold headers to wrap length in pager, when weed is set. From Rocco's patch queue. 2009-09-22 23:29 -0700 Antonio Radici (5037c59a589e) * po/it.po: Correct Italian translation of y/n/a prompt. Closes #3336 2009-08-27 22:10 -0700 Petr Písař (605559e4f88f) * po/cs.po: Updated Czech translation. 2009-08-20 11:34 +0200 René Clerc (6b48ff4e69a3) * doc/manual.xml.head: No-brain documentation typo fix 2009-08-20 11:33 +0200 Rocco Rutte (e196cfc00105) * doc/manual.xml.head: Backed out changeset c9dd93b09ce7 2009-08-20 11:25 +0200 René Clerc (c9dd93b09ce7) * doc/manual.xml.head: No-brain documentation typo fix Hi Rocco, Attached a patch for the documentation that fixes a small typo I stumbled upon. If you'd rather have me opening a trac ticket, please say so; since this is such a no-brainer I figured I'd e-mail you directly. 2009-08-17 17:07 +0200 Rocco Rutte (d0fce0eec0b3) * doc/manual.xml.head, doc/muttrc.man.head, init.h: Doc: fix more typos * doc/Makefile.am, doc/mutt.pwl: Doc: fix aspell calls, add custom mutt-only wordlist * curs_main.c: Require already opened folder when using templates for change-folder. For example, start with -y and type a wrong IMAP password so that no mailbox is open. Trying to change folders resulted in a crash. 2009-08-14 21:29 +0200 Rocco Rutte (6a08a5244d60) * pattern.c: Clear last search pattern if it's invalid. Closes #3315. We keep both, the string version and compiled version around for search-next; however, in case of parsing errors we dropped only the compiled version and not the string one making the code attempting to perform a search using a NULL pattern. * pattern.c: Bail on missing pattern modifiers at end of pattern. Closes #3314. 2009-08-13 23:49 +0200 Rocco Rutte (f8d50e968853) * doc/Muttrc.head, doc/manual.xml.head, init.h: Docs: fix typos/style 2009-08-11 12:22 -0700 Tomas Hoger (dc09812e63a3) * mutt_ssl.c: Catch SSL null prefix attach (openssl) 2009-08-09 14:45 -0700 Brendan Cully (002b4676d502) * buffy.c: Add buffy_new and buffy_free abstractions. 2009-08-09 14:53 +0200 Christian Ebert (0153dbc12dc4) * doc/manual.xml.head: manual: fix wrong spell checker assumptions 2009-08-09 14:35 +0200 Rocco Rutte (59b4c73e7254) * doc/manual.xml.head: Manual: Fix typos, consequently use en_US spelling 2009-08-08 22:50 -0700 Brendan Cully (d4ea7f571f10) * buffy.c: Split out mailbox-specific code in mutt_buffy_check * buffy.c, muttlib.c, mx.c, mx.h, status.c: Unconditionally define M_IMAP, M_POP. These aren't bloat, and not having them creates a lot of #ifdef clutter. * curs_lib.c: Abort prompt on ^C, as was the case prior to 12a6de725483 2009-08-04 10:47 -0700 Vincent Lefevre (15a695678b7b) * po/fr.po: Updated French translation. 2009-08-04 12:34 +0200 Rocco Rutte (25c2d70f2f00) * doc/manual.xml.head: Manual: Add some words of warning to really remove IRT header when intended * doc/manual.xml.head: Manual: Put mailbox shortcuts into table for readability * doc/manual.xml.head: Manual: Fix docs for push/exec 2009-08-04 12:08 +0200 Johan D (14bb498c6a1c) * mh.c: Fix MH parsing, fixes [0698e8195545]. Closes #3312 2009-08-01 15:16 +0200 Rocco Rutte (29727d19634a) * doc/manual.xml.head: Manual: use full names for é and è entities. Closes #3286. This is necessary because we want to install a us-ascii manual.txt that would contain only "e" instead of accented characters. 2009-07-30 17:56 +0200 Rocco Rutte (4a572310c3b5) * main.c: Fix mutt -h output for -a/-- options 2009-07-29 13:26 -0700 Brendan Cully (a2a4286491b4) * hcache.c, hcache.h, imap/util.c: Harmonize hcache uidvalidity size to unsigned int (per IMAP RFC). Closes #3296. 2009-07-28 23:16 +0200 Rocco Rutte (153eac9e03e7) * Makefile.am: Add group.h to distribution * group.c, group.h, init.c, rfc822.c: Fix some issues with ungroup [...] * 2009-07-27 21:14 -0700 Kees Cook (2fc9348684fe) * mh.c: Properly propagate mh_read_sequences result. Closes #3308. 2009-07-27 20:49 -0700 Brendan Cully (5c076ed18883) * configure.ac: Do not overwrite docdir unless --with- docdir was explicitly given. This allows --docdir from autoconf 2.60+ to work, though if given --with-docdir will silently override --docdir. Closes #3282. 2009-07-24 14:30 +0200 Rocco Rutte (86e066a206ac) * po/de.po: Update German translation * init.c: Fix check_sec.sh warning 2009-07-23 23:36 -0400 Aron Griffis (0ee27568ad09) * init.c: fix :reset to work with empty strings Signed-off-by: Aron Griffis 2009-07-23 23:32 -0700 Vincent Lefevre (223020f50cb7) * po/fr.po: Updated French translation. 2009-07-23 23:51 +0200 Matthias Andree (1e77b368ef55) * charset.h, rfc2047.c: Use proper prototype for mutt_get_default_charset(), fix fallout. * bcache.c, charset.c: Fix two warnings "the address of 'foo' will always evaluate as 'true'". 2009-07-23 17:28 +0200 Rocco Rutte (1597c2074a52) * doc/manual.xml.head: Manual: better document what address groups are (for) * group.c, group.h, init.c, init.h, pattern.c, protos.h, rfc822.c, rfc822.h: Implement ungroup command. Closes #3304. * init.c, mutt.h, muttlib.c: Move remove_from_rx_list() to muttlib.c, name it mutt_remove_from_rx_list() 2009-07-22 15:25 +0200 Fabian Groffen (d41e043fa775) * keymap.c: Use CRYPT_BACKEND_GPGME instead of non-existent HAVE_GPGME 2009-07-22 14:43 +0200 kees (848f08512bf3) * hcache.c, rfc822.h: Properly restore addresses from hcache using rfc822_new_address(). Closes #3302. * mh.c: Don't leak mhs flags in mh_buffy(). Closes #3303. 2009-07-17 17:57 -0400 Aron Griffis (a3c4b605cfad) * UPDATING: add batch mode send-hooks note to UPDATING 2009-07-14 20:25 -0700 Aron Griffis (084fb086a0e7) * send.c: Make send-hooks work for batch mode. Closes #3219. Handle SENDBATCH inline with the normal sending code, instead of handling it separately. This allows send-hooks to run, along with removing a number of unnecessarily lines of code. 2009-07-11 14:52 +0200 Rocco Rutte (6f942afe60b5) * charset.c, mbyte.c: Recognize charset extensions, see #3150. With utf-8//TRANSLIT, we internally didn't recognize it as utf-8. This leads to badly broken behaviour if --without-wc-funcs is used for some reason. In that case, if we have utf-8 as charset, we implement our own wide char functions; for all other charsets, we use the system single-byte locale functions. And using these with utf-8 is broken. * curs_lib.c: Render blanks to spaces in index, fixes [298194c414f0] wcwidth() returns -1 so 'foobar' was rendered to 'foobar', and now to 'foo bar'. Closes #3270 again. 2009-07-08 13:37 +0200 Rocco Rutte (f22b71d8005a) * mbyte.c: Fix compiler warning 2009-07-07 15:03 +0200 Rocco Rutte (d5e03a46518c) * TODO: Update TODO 2009-07-07 10:49 +0200 Matthias Andree (cc4d6044b31e) * INSTALL: GNU-make based VPATH builds work. 2009-07-07 13:16 +0200 Rocco Rutte (f161c2f00d84) * UPDATING, bcache.c, doc/manual.xml.head, hcache.c, muttlib.c, protos.h: Make hcache+bcache paths always UTF-8. Closes #3284. * UPDATING, globals.h, init.h, sendlib.c: Add $wrap_headers. Closes #3135 * doc/manual.xml.head: Manual: mention terminal setup for charsets, more unicode pros. Closes #3292. 2009-07-06 15:28 +0200 Rocco Rutte (ccab6c56b557) * doc/manual.xml.head: Manual: Add a note about when/why to use utf-8 2009-07-05 18:36 -0700 Brendan Cully (118b8fef8aae) * buffy.c, buffy.h, mx.c: Suppress new mail notification from mailbox just left. Closes #3290. 2009-07-02 20:42 +0200 Rocco Rutte (042f2ce0b870) * doc/manual.xml.head: Manual: minor fixes * doc/manual.xml.head, doc/mutt.css: Manual: Render comments in examples a lighter for readability * doc/manual.xml.head, doc/manual.xml.tail: Manual: Reformat paragraphs, fix ˜ -> ~ breakage * doc/manual.xml.head: Manual: rework MIME chapter a bit * doc/gen-map-doc, doc/manual.xml.tail, functions.h: Manual: Generate more pretty titles/ids for key binding tables * doc/manual.xml.head: Manual: fix supported version numbers for mixmaster 2009-07-02 00:06 -0700 Brendan Cully (029ba140fb48) * curs_main.c: Handle keepalive failure when changing folders. There are probably many other places where this kind of thing could happen though. See #3028. 2009-07-01 18:13 -0700 Rocco Rutte (f6c6066a5925) * account.c, mutt_sasl.c, smtp.c: Make getuser/pass abort if input is required in batch mode. Replaces [0a3de4d9a009]. See #3289. * doc/manual.xml.head: Manual: Add detailed section on charset handling * smtp.c: SMTP: use $smtp_pass in batch mode. Closes #3289. mutt_account_getpass() copying the password from $smtp_pass into the account structure is only called from the SASL callback we only use if we're sure we don't need curses (i.e. have the pass already). 2009-06-30 17:32 +0200 Rocco Rutte (f4baa2f1251a) * pgpewrap.c: Add missing config.h include to pgpewrap.c It technically doesn't need it, but pgpewrap should be rebuilt after configure ran, too. * doc/Makefile.am: Manual: Run lynx with --display_charset =us-ascii, see #3286. 2009-06-29 18:20 +0000 Rocco Rutte (03c65df651e0) * UPDATING, doc/manual.xml.head: Manual: Move new mail detection into its own section This also updates some parts of docs and adds missing ones. It also adds a note about the recent changes, also to UPDATING. 2009-06-29 18:03 +0200 Rocco Rutte (d3a7e0334e5d) * url.c, url.h: Revert URL path encoding for now It breaks gmail url display and makes bcache use different paths. Still we need to think about whether we want to allow any character in bcache paths (possibly multibyte, possibly depending on $charset). 2009-06-28 20:49 -0700 Brendan Cully (298194c414f0) * configure.ac, curs_lib.c: Allow tabs in index subject. Closes #3270. * imap/util.c: Allow ImapDelimChars to be unset * mutt.h: Rename struct thread to struct mutt_thread. Closes #3279. * imap/command.c: Not being able to start an IMAP command is a fatal error. Closes #3155. * imap/auth_login.c: IMAP LOGIN does not support separate user and login accounts. Use the user account for both. Closes #3240. 2009-06-28 22:40 +0200 Rocco Rutte (71a84cf22c42) * url.c, url.h: Fix URL parser to encode paths 2009-06-28 15:42 +0200 Deng Xiyue (fe688db8099a) * po/zh_CN.po: Update Simplified Chinese translation. Closes #3281. 2009-06-27 17:07 +0200 Rocco Rutte (7ca8d09f7d2c) * hg-commit: hg-commit: drop changelog entries from hg log * doc/makedoc.c, doc/manual.xml.head: Manual: stop using DocBook entities mapping to ascii chars There's no real benefit, it only makes reading/writing the manual harder. All entities that potentially map to non-ascii characters (&mdash, ä, etc.) are left so that manual.xml remains pure ascii. 2009-06-26 21:47 -0700 Brendan Cully (b2b97c7a2ae6) * imap/imap_private.h, imap/message.c, imap/util.c: Set internaldate of messages appended to IMAP mailboxes 2009-06-26 20:27 +0200 Rocco Rutte (156e6d6e34fc) * doc/manual.xml.head: Manual: try to explain that and why copiousoutput should come last * po/de.po: Update German translation 2009-06-25 21:46 +0200 Rocco Rutte (c5d0252e8f72) * rfc3676.c: Fix f=f corner case with DelSp=yes abuse * sendlib.c: header folding: treat From_ specially, never wrap on sending side * sendlib.c: Add Date: header to postponed messages * sendlib.c: Only add Status: header (fcc/postpone) when saving to mbox/mmdf * compose.c: Treat messages written with as fcc, not postponed. 2009-06-23 10:13 -0700 Vincent Lefevre (bc2463863c15) * po/fr.po: Updated French translation. 2009-06-23 16:56 +0200 Rocco Rutte (d152033cf967) * doc/manual.xml.head: Manual: Simply type conversion section wording. * Makefile.am, configure.ac: Don't build hcversion.h and mutt_md5 without hcache * handler.c, mutt.h, muttlib.c: Implement state_putws() and state_putwc(), see #3148. This is needed to unbreak text/enriched rendering on Linux. * commands.c: Only use keypad() when curses is running 2009-06-23 00:28 -0700 Vincent Lefevre (642987450d83) * curs_lib.c: Only beep when displaying error messages (unbreaks [54bc1ef602e7]) 2009-06-23 00:20 -0700 Brendan Cully (f5849c72a274) * crypt-gpgme.c: Update crypt-gpgme for mutt_mktemp change in [ed7eb5de7536] 2009-06-22 17:36 +0200 Rocco Rutte (54bc1ef602e7) * curs_lib.c: Make mutt_curses_(error|message) format message to COLS chars. Closes #3278. While I'm at it, fold both functions into one. 2009-06-22 17:21 +0200 Alexey Tourbin (e378bbdc3f0f) * smime_keys.pl: smime_keys: use Time::Local module. Closes #3277. 2009-06-22 17:17 +0200 Rocco Rutte (4899f140ec25) * mbyte.c: Fix included iswupper(). Closes #3276. * lib.c: Catch range errors when converting to long. 2009-06-21 21:57 +0200 Rocco Rutte (ed7eb5de7536) * attach.c, commands.c, crypt.c, editmsg.c, handler.c, headers.c, help.c, history.c, imap/message.c, main.c, mbox.c, muttlib.c, mx.c, pattern.c, pgp.c, pgpkey.c, pgpmicalg.c, pop.c, protos.h, recvattach.c, recvcmd.c, rfc3676.c, send.c, sendlib.c, smime.c: Pass buffer size to mutt_mktemp() * handler.c, rfc3676.c: Port f=f and text/plain handlers to mutt_read_line() * lib.c: mutt_read_line(): make line counting ptr optional * sendlib.c: Silently drop headers not in "key: value" format. Fixes out-of-memory exits. 2009-06-20 23:09 +0200 Rocco Rutte (6447ebe80797) * handler.c: f=f: Don't kill signature separator when stripping trailing spaces. Closes #3275. * curs_main.c: Disallow breaking threads for messages not part of a thread 2009-06-20 15:22 +0200 Rocco Rutte (580ab0256c49) * doc/manual.xml.head: Manual: Clarify and extend variable type conversion section 2009-06-19 19:56 -0400 Aron Griffis (ee3d174297bb) * rfc822.c: remove bogus FREE It's impossible for cur->personal to be non-NULL at this point, since cur was calloc'd just a couple lines prior. Signed-off-by: Aron Griffis 2009-06-19 22:49 +0200 Rocco Rutte (9ae13dedb5ed) * mbox.c, mx.c, mx.h: Fixup atime for mbox/mmdf also when mailbox is unchanged but has new mail. See #1362. * mbox.c: Don't mangle atime/mtime for mbox folders without new mail upon sync. Closes #1362, #3271. * doc/manual.xml.head: Manual: Add note and example for type conversions with my_vars * sendlib.c: Enforce 998 char length limit on header lines when sending. 2009-06-18 15:06 +0200 Antonio Radici (c6fe0bb8cf11) * doc/Makefile.am, doc/smime_keys.man: Provide smime_keys(1). Closes #3272. 2009-06-18 14:56 +0200 Rocco Rutte (508bfe4a2e23) * mbox.c: Backout experimental patch * UPDATING, mbox.c: UPDATING: add note about -a and -- 2009-06-17 16:19 -0700 Antonio Radici (25e46aad362b) * buffy.c: Do not free statically-allocated buffy buffer. Unbreaks unmailboxes, closes #3273. 2009-06-17 15:23 -0700 Petr Písař (fe94f01b369a) * ChangeLog, po/cs.po: Updated Czech translation. 2009-06-17 13:58 -0700 Ivan Vilata i Balaguer (ef9b67c7ebc4) * po/ca.po: Updated Catalan translation. 2009-06-17 13:57 -0700 Vincent Lefevre (62471a5d3186) * po/fr.po: Updated French translation. 2009-06-17 20:42 +0200 Rocco Rutte (33376ae23d8f) * doc/devel-notes.txt: Mention check_sec.sh in doc/devel-notes.txt 2009-06-17 11:09 -0700 Brendan Cully (7f37d0a57d83) * crypt-gpgme.c, pgp.c: Display unsigned part of traditional PGP messages. Unbreaks [e2780a423d96], closes #3269 2009-06-17 19:29 +0200 Antonio Radici (a2a868fc40ea) * mx.c: Leave error handling of mx_get_magic() up to the caller. Closes #3268. 2009-06-17 18:02 +0200 Rocco Rutte (4b5326d8d2ee) * UPDATING, muttlib.c: Always display text/* parts inline, overrideable by auto_view. Closes #3246. 2009-06-15 22:05 +0200 Rocco Rutte (f40de578e8ed) * handler.c: Unbreak header weeding for message/rfc822 parts. Closes #3265. * init.c, lib.c, lib.h: Print timestamps in debug files. Closes #3263. * doc/manual.xml.head, doc/muttrc.man.head: bind: Clarify function argument usage * doc/manual.xml.head, init.h, url.c: Fixup URL parser The fixes are: 1) allow / in usernames for IMAP (by %-encoding /, : and % when pretty-printing urls), 2) for POP/SMTP the trailing / is no longer mandatory, 3) more strict %-decoding to avoid unexpected results 2009-06-15 17:49 +0200 Bertrand Janin (abc8fa0abeee) * UPDATING: Fix UPDATING 2009-06-15 17:06 +0200 Rocco Rutte (d6f88fbf8387) * url.c: Don't parse URL port as signed short, but to int and cast to unsigned short. Closes #3264. * doc/manual.xml.head: Manual: Add a short note about new header folding ...so we don't get bug reports for tab folding. * init.h: Clarify what $wrap=0 does * doc/mutt.css: CSS update for newer docbook xslt versions * pager.c: pager: intermediate fix for wrapping long header lines with $smart_wrap set The header folding algorithm outputs a word without spaces and longer than $wrap as-is. The pager however tries to break it. With $smart_wrap unset, it simply breaks at $wrap regardless if there's a space or not. With $smart_wrap set it tried to find a space and break if the next word is too long. This logic doesn't work for folded header lines which always start with space. Thus, the output would always contain the folding whitespace on a line by itself detaching the header value from the header name. As an intermediate fix we don't try to be smart if the line begins with space or tab. * pager.c, sendlib.c: pager: Ignore $wrap for attachment markers 2009-06-14 20:57 -0700 Brendan Cully (d2e0b495b148) * build-release: Remove duplicate update-changelog call. 2009-06-14 20:51 -0700 Antonio Radici (fef17099376d) * doc/mutt.man: Escape hyphens in man page. Closes #1937 again. 2009-06-14 12:29 -0700 Brendan Cully (7f8a2ba64516) * UPDATING: Update UPDATING * VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.5.20 * imap/imap.c: Save a dereference, and close #3226 with voodoo. * sendlib.c: Initialize pointer before use under -d4 2009-06-13 19:52 -0700 Brendan Cully (83ffb5593bc6) * curs_main.c: Adjust menu position after sync more carefully. Closes #3092. * init.h: Force status to redraw when $postponed changes. * postpone.c: Fix check for changed $postponed. The pointer-based check fails when the new $postponed string is stored in the same location. 2009-06-13 01:08 +0200 Rocco Rutte (536771b4e085) * commands.c, copy.c, copy.h, handler.c, protos.h, send.c, sendlib.c: Rewrite header folding We now distinct between sending and display case. For display, we always use tabs for folding for readability; for sending we now correctly fold using whitespace found in the header. Closes #2995. Closes #3080. 2009-06-12 23:10 +0200 Rocco Rutte (23de0e3c81f8) * UPDATING, init.h, mutt.h, send.c: Turn $fcc_attach into a quadoption. Closes #2528. * handler.c: Don't insert Content-Description/form name into reply. Closes #3164. * pgpkey.c: Allow ! suffix for pgp keys via $pgp_sign_as and prompt. Closes #1928. * commands.c, recvcmd.c: Warn before bouncing messages without From: header. Closes #3180. * smtp.c: SMTP: don't block but print CRLF for last line if it's not terminated 2009-06-11 18:34 +0200 Rocco Rutte (f60eb41ef63c) * UPDATING: Mention maildir mtime use in browser * send.c: Don't allow setting Return-Path: header via my_hdr Mutt has use_envelope_from/envelope_from_address for that purpose. Closes #1840. * browser.c: Use only latest mtime of new/cur for browser, not whole stat() info * copy.c: Don't reformat Return-Path (angle brackets are not optional). Closes #1702. 2009-06-10 17:44 +0200 Rocco Rutte (0721c3f6320d) * mbox.c, mx.c: Only print messages about CONTEXT when quiet flag not set 2009-06-09 22:09 -0700 Brendan Cully (dc9ec900c657) * mutt_ssl.c: Improve host checking for SSL with intermediate certificates. * mutt_ssl.c: Whitespace. * imap/imap.c: Skip comparison against current mailbox for idle connections. Closes #3216. * imap/util.c: Revert accidental change * imap/util.c: Remove trailing whitespace. 2009-06-08 23:55 -0700 Brendan Cully (15c662a95b91) * configure.ac, m4/libgnutls.m4: Test for libgnutls by hand rather than relying on deprecated libgnutls-config script. Closes #3239. 2009-06-07 10:55 -0700 Brendan Cully (9831d4c2c3f9) * imap/message.c: Do not display error message when user declines to create target mailbox. * imap/message.c: Minor cleanup in imap_copy_messages. 2009-06-07 08:14 +0200 Miroslav Lichvar (16592f0dfdaf) * configure.ac, mutt_ssl_gnutls.c: Disable checking certificate activation/expiration times in gnutls as we do the checks ourselves. 2009-06-06 22:31 -0700 Brendan Cully (e5c2befbf0f5) * imap/message.c: Do not treat already-seen headers as if they are new. See #2935. 2009-06-07 02:09 +0200 Rocco Rutte (a786b0e8627c) * doc/dotlock.man, doc/makedoc.c, doc/mbox.man, doc/mmdf.man, doc/mutt.man, init.h: Fix hyphens in manpages. Closes #1937 2009-06-04 17:07 +0200 Rocco Rutte (4f1ceaae93dc) * rfc3676.c: Fix pretty quoting for f=f by resetting space count when flushing paragraph 2009-06-03 22:35 +0200 Rocco Rutte (386f2ce6b872) * rfc3676.c: Fix several f=f bugs It fixes problems with space-handling in general (trailing spaces for display, un-space-stuffing), fixes quote prefix for replies and lowers FLOWED_MAX so we don't run into line length trouble too early. * UPDATING, globals.h, init.h, pager.c: Don't abuse $pager_context for searches, add $search_context. See #976. * pattern.c: Fix compiler warning 2009-06-02 20:25 +0200 Miroslav Lichvar (d1d0481d1ca1) * mutt_ssl_gnutls.c: Add support for GNUTLS_CERT_INSECURE_ALGORITHM error code * mutt_ssl_gnutls.c: Don't ignore certificate verification errors on saved signer certs 2009-06-02 10:18 -0700 René Clerc (761bc678b23e) * po/nl.po: Updated Dutch translation. 2009-06-02 17:24 +0200 Rocco Rutte (8b2af5b64981) * buffy.c: Fix duplicate mailbox detection for remote folders * smtp.c: Fix array size * buffy.c: Thoroughly check for duplicates when parsing 'mailboxes' command. Closes #1428. 2009-06-01 14:50 +0200 Rocco Rutte (7a277ba306c9) * gnupgparse.c: Use mutt_atoi() when parsing GnuPG output. Closes #3145 * hcache.c, mh.c: More atoi() fixes * smtp.c: SMTP: Use mutt_atoi() to parse server responses * curs_main.c, edit.c, init.c, main.c, menu.c, mh.c, parse.c, resize.c, score.c, url.c: Use strtol() wrappers for most atoi() calls * lib.c, lib.h: Add mutt_atos(), mutt_atoi() and mutt_atol() (strtol() wrappers) * send.c: Treat address groups as no recipients When sending with Sendmail or SMTP we exclude address groups anyway, so treat these addresses as not present when checking for valid recipients before sending in the compose menu. * smtp.c: Weed out address groups for SMTP the same way we do for sendmail 2009-05-31 19:19 -0700 Brendan Cully (0024860ab03e) * doc/Makefile.am: Allow chunked and unchunked manuals to build in parallel. * mutt_ssl_gnutls.c: Remove trailing whitespace 2009-05-31 14:46 +0200 Rocco Rutte (8e591e80cd48) * smtp.c: SMTP: Don't send "undisclosed-recipients" in RCPT TO This happened for Bcc only messages. "undisclosed-recipients" is added in To: as guard against MTAs that leak BCCs if no To:/Cc: header is given. See Debian #529090. * init.h: Document that $pager_context affects searching, too * UPDATING: Update UPDATING * handler.c: Turn trailing \r\n to \n for qp-encoded messages. RFC2045 (sect. 6.7, (1) general 8bit representation) states that neither CR nor LF of the trailing CRLF may be qp-encoded. So we ignore trailing qp-encoded CRs. See #2898 though this is a partial fix only. * pager.c: Give $pager_context lines of context when searching page-based menus. Closes #976. * handler.c, init.h, rfc3676.c: f=f: Strip trailing spaces for interoperability. Closes #3001. If we make a fixed reply to a flowed message we remove trailing spaces and can now safely allow $indent_string to be used which is what users expect. Second, if we make a flowed reply to a fixed message we also strip trailing spaces since from format=fixed we assume all lines are fixed (i.e. we don't want to errorneously make fixed lines flowed). * handler.c, init.h, mutt.h: Add $honor_disposition to not display attachments inline. Closes #3170. Previously all MIME parts were displayed inline regardless of the Content-Disposition header (if present). With $honor_disposition set, only inline parts are displayed inline, attachments can only be viewed from the attachments menu. 2009-04-25 01:56 -0400 Dan Loewenherz (c1b947f60ea6) * init.h: Disables the insecure SSLv2 protocol. Closes #3192. 2009-05-30 19:37 +0200 Rocco Rutte (b080ae086a62) * ChangeLog, mbox.c: Keep new mail flag for mbox/mmdf folders after closing. Closes #1362. 2009-05-30 10:23 -0700 Vincent Lefevre (be7b3d349725) * po/fr.po: Updated French translation. 2009-05-30 00:24 +0200 Rocco Rutte (f65a1eb8abce) * smtp.c: Fix logic in f260f5836284 2009-05-29 21:33 +0200 Rocco Rutte (c4d86d4ea260) * pager.c: Drop modified version of and use mutt_read_line() in pager, too * history.c, init.c, lib.c, lib.h, mh.c, mutt_ssl_gnutls.c, pgp.c, query.c, rfc1524.c, smime.c: Add flags to mutt_read_line() for EOL-stripping and continuation support We use these to stop supporting EOL-escaping with \ which was wrong in most cases (e.g. $history_file), support is kept for reading config and mailcap files. Leaving CRLF in will be used for the pager. * menu.c, pager.c, pattern.c: Fall back to search if no query exists for search-(next|opposite) The pager had the fall-through to search, so for consistency do that in other menues as well. * pager.c: Fix pager search prompt for reverse search When doing a reverse search for the first time after switching to the pager, SearchBack is always 0 and thus gave the wrong prompt, change to using op directly. While I'm at it, unify search prompts. * doc/manual.xml.head: Manual: Fix markup of environment variables 2009-05-28 16:37 +0200 Rocco Rutte (f260f5836284) * smtp.c: SMTP: don't interactively authenticate without a password in batch/mailx mode Otherwise, if we don't have a password and curses is not running, the SASL authentication callback will crash mutt. We now abort if the password wasn't given in $smtp_url. * doc/mutt.css: Manual: vertical-align table cells at the top * doc/manual.xml.head, doc/mutt.css: Manual: Wrap muttrc commands in 2009-05-27 23:14 -0700 Brendan Cully (5502fb790bab) * mutt_ssl_gnutls.c: gnutls: do not ignore certificate problems. Specifically, do not allow revoked certificates or those signed by non-CAs unless they have been explicitly stored in the trusted certificate file. Thanks to Miroslav Lichvar. 2009-05-27 22:55 -0700 Miroslav Lichvar (85f41efec6bf) * ChangeLog, mutt_ssl_gnutls.c: Don't prompt to save certificates that are already saved but invalid. 2009-05-27 22:52 -0700 Brendan Cully (90ef283c103e) * mutt_ssl_gnutls.c: Don't leak gnutls certs on preauth validation failure. Thanks to Miroslav Lichvar. * mutt_ssl.c: Fix TLS certificate chain validation for openssl. 2009-05-25 17:31 -0700 Brendan Cully (8f11dd00c770) * mutt_ssl_gnutls.c: Fix a serious oversight validating TLS certificates. If any certificate in a chain presented by a server was accepted, the connection was allowed without verifying that the presented certificate was actually signed by the certificate in the chain. 2009-05-27 22:13 -0700 Petr Písař (05bc65d6ae70) * po/cs.po: Updated Czech translation. 2009-05-27 10:13 +0200 Rocco Rutte (97305eeb91ce) * doc/manual.xml.head, doc/mutt.man: Document that -- is always mandatory after -a. Closes #3235. * init.h: Mention account-hook in the docs for $tunnel. Closes #3237. 2009-05-26 17:57 +0200 Rocco Rutte (392e945dfba7) * attach.c: Use charset parameter to view text attachments using . Closes #3234. 2009-05-25 15:57 +0200 Rocco Rutte (3f0963dd9257) * pager.c: pager: print progress percentage for attachments, too * attach.c: Mark strings for translation 2009-05-18 20:48 -0700 Vincent Lefevre (6d810c5cf4fc) * po/fr.po: Updated French translation. 2009-05-15 15:03 +0200 Takahashi Tamotsu (c665bdf5ff5f) * pop.c: POP: Notify user when messages are lost. Closes #2226. * pop.c: POP: Ignore already-deleted messages while syncing. Closes #2225. 2009-05-13 18:03 +0200 Rocco Rutte (0563c88ad6f0) * attach.c, recvattach.c: Don't loose error message when attachment saving fails. Closes #3156. 2009-05-15 12:46 +0200 Seth Arnold (1cea1ecf9f79) * UPDATING, color.c, doc/manual.xml.head: Make "uncolor" also work header and body objects. Closes #1046. 2009-05-13 14:20 +0200 Rocco Rutte (f96a176bb14c) * send.c: Don't set 'replied' flag if user changes References/IRT. Closes #2044. * mutt.h, muttlib.c: Add mutt_find_list() to lookup data in lists * alias.c, crypt-gpgme.c, group.c, mbox.c, pgp.c, query.c, rfc822.c, rfc822.h, send.c, smime.c: Prune empty address groups when preparing replies. Closes #2875. * mbox.c: Actually reopen mbox/mmdf files in case we find modifications. Closes #2725. Since the file is changed while we have it open in ctx->fp, we likely get wrong information when parsing the mailbox. Now we explicitely close and (re)open it. 2009-05-12 16:26 +0200 Rocco Rutte (06e318bfe8f2) * mbox.c: Backout errorneously commited mbox atime fix * OPS, mbox.c: Fix description for 2009-04-29 14:49 +0200 Rocco Rutte (335e6f782862) * browser.c: Fix maildir times in mailboxes browser. Closes #626. Instead of using the (pointless) mtime of the top-level maildir folder, use the latest mtime of the "new" and "cur" subdirectories. Maildir folders in the mailboxes list can now be properly sorted by date. This does not affect the directory browser. Also see #2421. * mailbox.h, mh.c, mx.c: Move Maildir/MH folder detection from mx.c to mh.c 2009-04-28 15:12 +0200 Rocco Rutte (4d9685be5987) * sendlib.c: Fold References: header so we never run into line length problems * headers.c: Fix comment typo 2009-04-28 14:18 +0200 Bertram Felgenhauer (6b20a3545f03) * doc/manual.xml.head, headers.c: Drop References header if In-Reply- To is modified by user. Closes #3221. 2009-04-28 13:05 +0200 Rocco Rutte (a13d8fd40094) * send.c: Don't generate References: for reply to multiple messages All parent Message-Ids are present in In-Reply-To already. Also, RfC2822, section 3.6.4 discourages its generation. * sendlib.c: Don't trim In-Reply-To with $edit_headers set In case of a tagged reply to several messages, we want In-Reply-To to contain all parent Message-Ids. * imap/imap.c: Only sync changed messages back to hcache on mailbox sync * doc/manual.xml.head: For spam detection, mention $imap_headers. Closes #3223. * doc/manual.xml.head: Manual: Fix typo and reword paragraph 2009-04-26 21:09 +0200 Rocco Rutte (9fa4a3e74355) * UPDATING, doc/manual.xml.head, pop.c: POP: Support hcache updating, too. This also allows us to use hcache to manage "flagged" and "replied" message flags. * imap/imap.c, mh.c: Sync header to hcache when synching MH/Maildir/IMAP folders. Closes #2942. * pager.c: Use dynamic buffer for displaying pager lines. Closes #3162. With too small fixed-size buffers we can't color/find certain words that span buffers. This needs to duplicate mutt_read_line with the adjustment to leave line termination in and not support breaking long lines using \ at EOL. Other callers may want to use this one instead, too as we support \-escaping in too many places. * init.h: Document suffixes for %f in $folder_format 2009-04-22 23:29 +0200 Bertram Felgenhauer (0aa313a3bf20) * headers.c: Fix memory leak in mutt_edit_headers(). Closes #3220. 2009-04-25 10:51 +0200 Thomas Wiegner (8da22400a48d) * configure.ac, mkdtemp.c, protos.h: Add mkdtemp() from xfce to unbreak gpgme build on Solaris. Closes #3217. 2009-04-25 10:35 +0200 Rocco Rutte (c6de4f51b8c7) * ChangeLog, configure.ac, protos.h, strcasestr.c: Add strcasestr() from uclibc to unbreak (Open)Solaris build. Closes #3222. 2009-04-21 15:10 -0400 Aron Griffis (3d89eddb2d9a) * buffy.c: Equivalent mutt_buffy, but readable code * buffy.c, buffy.h: Call mutt_expand_path() from mutt_buffy to fix imap separator. Closes #3208 and #3218 * buffy.c: Use slen instead of assuming _POSIX_PATH_MAX 2009-04-23 12:51 -0700 Vincent Lefevre (b5b4e652e4b1) * ChangeLog, po/fr.po: Updated French translation. 2009-04-20 18:36 +0200 Christoph Berg (39fee3a9d034) * doc/manual.xml.head, init.h: Better document that some send-hooks can't work with $autoedit. Closes #1834. 2009-04-20 18:26 +0200 Rocco Rutte (6cc887ccd229) * init.h: Fix typo for $imap_pass 2009-04-17 18:05 +0200 Rocco Rutte (7d44a83efcc6) * pgp.c: Support the Charset: armor header for inline PGP. Closes #3039. The header is defined as optional by RfC4880. This is based on patch-1.5.9.tamo.pgp_charsetchack.1. We only support reading this header and, if present, recode the PGP output from the given charset to $charset if we find it valid; otherwise fall back to UTF-8. Certain clients make use of the header when sending mail, so mutt should respect it because some messages are otherwise unreadable. The sending side is not touched, we unconditionally send UTF-8. 2009-04-17 15:45 +0200 Michael Elkins (61a0c67ed727) * sendlib.c: Make sure Recent-From: consults $realname. Closes #1721. 2009-04-17 15:37 +0200 Rocco Rutte (3a7ecc3f8aeb) * UPDATING, functions.h, pager.c: Make and work in the pager, too. Closes #3212. * pager.c: Don't consider \n part of a line for body coloring. Closes #2363. * attach.c: Enlarge buffer size for parsing mailcap files We really need code for dynamic buffers which would solve a few other bugs, too. Closes #2205. 2009-04-16 19:23 +0200 Rocco Rutte (a4f66ae72dc5) * ChangeLog, pop_lib.c: POP: Default to using getservbyname() as we do for IMAP and SMTP * doc/manual.xml.head: Manual: Improve docs on URL syntax, add examples * doc/manual.xml.head: Manual: Add user-defined variables to variable types 2009-04-11 10:35 +0200 Rocco Rutte (7d7976cd4fc4) * ChangeLog, buffy.c, buffy.h, commands.c, sendlib.c: Don't raise new mail flag on mbox/mmdf Fcc mailboxes. Closes #1896. 2009-04-08 16:25 +0200 Rocco Rutte (5b631ee33281) * hdrline.c: For %F, display Bcc recipient if no other recipients found. Closes #3157. * UPDATING, doc/manual.xml.head, doc/muttrc.man.head, pattern.c: Make ~x match In-Reply-To, too. Closes #771. 2009-04-07 19:57 +0200 Rocco Rutte (667b0006b586) * sendlib.c: Fix b5cbd0dab863, closes #3215. Still valgrind reports 'fromcode' as leaking. 2009-04-07 11:32 +0200 Erik Hovland (d344c6429a48) * sendlib.c: Try to correct usage of tempfile and *tempfile Since tempfile is a double pointer checking for tempfile and then dereferencing with *tempfile is not correct. 2009-04-06 22:05 +0200 Rocco Rutte (d639baaf57fb) * doc/manual.xml.head: Manual: Fix typo 2009-04-06 19:10 +0200 Erik Hovland (4fe35e9984ba) * sendlib.c: mutt_message_to_7bit(): Only close file pointer if we opened it The pointer is to be managed outside the function and provided. Only close it we opened it ourself using fopen(). 2009-04-06 19:07 +0200 Erik Hovland (b5cbd0dab863) * sendlib.c: Plug memory leaks in sendlib.c 2009-04-05 13:41 +0200 Rocco Rutte (5d393e716c51) * init.h, sendlib.c: Backed out changeset 23c7b469ff20 This requires more thought: if the user has -- in $sendmail, we need to add our arguments for 8BITMIME/DSN/etc. before it and not after. See #3168. * doc/manual.xml.head: Manual: Make sure every rc command has a synopsis in its describing section * doc/manual.xml.head: Manual: Fold consecutive into just one This make it visually easier to spot what belongs together. * doc/manual.xml.head: Manual: More entities and as appropriate 2009-04-04 16:23 +0200 Rocco Rutte (a4b635e96b30) * doc/Makefile.am: Manual: Improve 'sortcheck' target Don't call up diff+pager if all is sorted and remove the temp files for diffing we created. * doc/gen-map-doc, doc/manual.xml.head, doc/manual.xml.tail: Manual: Capitalize headlines * doc/manual.xml.head: Manual: Move section on mixmaster support to Optional Features * doc/manual.xml.head: Manual: Remove duplicate section on mailcap use from security chapter We already have a more detailed section on secure mailcap usage, so link to it. * doc/manual.xml.head: Manual: Minor improvements and fixes * doc/Makefile.am, doc/manual.xml.head: Manual: Add a short chapter summarizing security considerations * doc/manual.xml.head: Manual: Use — in text rather than -- * doc/manual.xml.head: Manual: Add section on padding for format strings * doc/manual.xml.head: Manual: Mention reply types in "Sending Mail" section * doc/manual.xml.head: Manual: Add table with navigation keys for page-based menus * doc/mutt.css: mutt.css: Add left+right margins to screen, note and examples * doc/manual.xml.head: Manual: Add section on screens and menus with short descriptions. Mostly stolen from old mutt-ng docs with adjustments. 2009-04-02 13:11 +0200 Steve Kemp (23c7b469ff20) * init.h, sendlib.c: Only append -- to $sendmail if not present. Closes #3168. This allows users to add custom recipients via $sendmail. 2009-04-02 12:57 +0200 Rocco Rutte (bfb12cf02417) * init.h: Clarify what $attach_charset does, closes #3165. * doc/Makefile.am: Add 'sortcheck' target to doc/Makefile.am This should be used from time to time to check if vars are sorted. Closes #3191. * init.h: Sort $pgp_* and $crypt_* vars, see #3191. * init.h: Sort $smime_* vars, see #3191. 2009-04-01 14:33 +0200 Miroslav Lichvar (8205a12329d3) * hcache.c, muttlib.c: Use PATH_MAX for buffers passed to realpath(3) as we're supposed to 2009-04-01 13:16 +0200 Rocco Rutte (47c64fd9ac70) * doc/gen-map-doc, doc/manual.xml.head: Manual: Fix openjade warnings * doc/makedoc.c, doc/mutt.css: makedoc: Render description lists as This looks better and is more compact (except missing column headers.) 2009-03-31 16:03 +0200 Rocco Rutte (22f21b558f57) * doc/manual.xml.head: Manual: Add an example of how to manage multiple accounts using folder-hook * UPDATING, doc/manual.xml.head, mutt.h, pattern.c: Perform case insensitive string search if pattern is lower case ...since we do that for regex patterns already. It doesn't work for IMAP server-side searches. * doc/manual.xml.head: Manual: Fix markup of ".muttrc" * doc/manual.xml.head: Manual: Always spell mutt as "Mutt" * doc/manual.xml.head: Manual: Replace netscape with firefox * doc/manual.xml.head: Manual: use instead of " quotes * doc/manual.xml.head: Manual: Lots of minor improvements (markup consistency, wording) 2009-03-30 14:58 +0200 Rocco Rutte (318748f3962b) * doc/manual.xml.head: For mailbox formats, add some more verbose pros and cons * doc/manual.xml.head: Manual: Add section about zeroprinting format strings to format string section 2009-03-28 22:37 +0100 Thomas Roessler (be9fb07730c6) * mutt_idna.c: Make IDNA code more readable 2009-03-28 16:11 +0100 Rocco Rutte (77cfe8016930) * doc/manual.xml.head: Manual: Add section roughly explaining config option types * doc/makedoc.c: makedoc: make output slightly more readable Add using HTML which save lots of vertical space. Also, drop the newline before to save some space. 2009-03-27 18:02 +0100 Rocco Rutte (a06a2a4c5ebc) * rfc3676.c: f=f: Fix debug messages 2009-03-19 17:19 +0100 Rocco Rutte (754ea0f091fc) * doc/manual.xml.head: Improve section on patterns * curs_lib.c: Fix progress update debug message * doc/manual.xml.head, doc/muttrc.man.head: Document kilo and mega suffixes for range patterns Document it only for ~z (message size) as they don't make much sense for other patterns like message score or number of attachments. 2009-03-18 17:40 +0100 Rocco Rutte (8528b8e715da) * init.h: Properly initialize more structs 2009-03-19 13:38 +0100 Erik Hovland (a802b5127f09) * pgp.c: Remove unused variable 2009-03-19 10:36 +0100 Roman Kraevskiy (6fac57b97bf1) * mutt_sasl.c: Restore connection polling callback when closing SASL connection. Closes #3206. 2009-03-18 14:48 +0100 Erik Hovland (17d770ae41e4) * smime.c: S/MIME: Don't leak intermediate cert key * buffy.c: Properly initialize struct stats in buffy check 2009-03-17 20:04 +0100 Rocco Rutte (903b3cee5485) * addrbook.c, browser.c, compose.c, curs_main.c, imap/auth.c, mx.c, pattern.c, pop_auth.c, postpone.c, query.c, recvattach.c, remailer.c: Fix some warnings with -W about missing initializers in structs 2009-03-17 16:44 +0100 Todd Zullinger (bb9b845800f6) * pgp.c: Ensure display is redrawn for application/pgp When using gpg-agent, a hard redraw is needed after the pinentry program is called. Otherwise, the screen is garbled and key bindings are screwed up. Closes #3196. 2009-03-15 16:44 +0100 Rocco Rutte (bc7c64ff3e48) * configure.ac, protos.h, wcscasecmp.c: Add wcscasecmp() compatibility function (for OS X) * doc/mutt.man: mutt.1: Mention that -a should be last in option list. Closes #3202 * alias.c: Only define min() if not present. Closes #3199 2009-03-15 14:25 +0100 Erik Hovland (3c154fcdad4c) * rfc822.c: The assigned value of dom is never used. Remove assignment * alias.c: The file handle will leak if fread fails 2009-03-12 15:16 -0700 Erik Hovland (53bea026a2a2) * curs_main.c: resort_index will use menu->current as a index into an array. If menu->current is negative, bad things can happen. So check it before calling resort_index * recvcmd.c: 'last' is assigned but never used. Remove assignment. 2009-03-15 13:46 +0100 Rocco Rutte (1238dff54a15) * alias.c, attach.c, buffy.c, check_sec.sh, commands.c, compose.c, copy.c, crypt-gpgme.c, crypt.c, edit.c, editmsg.c, gnupgparse.c, handler.c, headers.c, help.c, history.c, imap/message.c, init.c, lib.c, main.c, mbox.c, mh.c, mutt_ssl.c, mutt_ssl_gnutls.c, muttlib.c, pager.c, pattern.c, pgp.c, pgpkey.c, pgppubring.c, pop.c, postpone.c, query.c, recvattach.c, recvcmd.c, rfc1524.c, rfc3676.c, send.c, sendlib.c, smime.c, smtp.c: Use safe_fclose() instead of fclose(), add fclose() to check_sec.sh 2009-03-10 18:39 +0100 NONAKA Kimihiro (cc6fede605d4) * mh.c: Fix crashes with 64bit time_t. Closes #3184. 2009-03-09 12:04 +0100 Vincent Lefevre (4ce562b7f5d7) * mbyte.h: Unbreak compilation on OS X with --with-regex/--without-wc- funcs. Closes #3149. 2009-03-09 11:58 +0100 Rocco Rutte (f3a33b77dc90) * mutt.h, regex.c: Unbreak compilation with --without-wc- funcs on OS X 10.5.*, see #3149. * init.h: Fix 11cd72da743a * init.h: Sort SSL-related variables, see #3191. * hash.c, hash.h, init.c, mh.c, thread.c: Restore $reverse_alias feature by using case-insensitive hash keys The fix is implemented as callbacks in the hash table so we can avoid working with copies of the mailbox keys but work on the originals instead and don't pollute the code with lower-case conversions all over the place. While I'm at it, turn int hashes into unsigned values since the hash function returns unsigned values now, too. Closes #3185. 2009-03-07 13:49 +0100 Rocco Rutte (ff1906f70b1b) * init.h: Sort most variables (except crypto), see #3191. * doc/manual.xml.head: Fix typo, see #2430. 2009-02-20 22:14 +0100 Rocco Rutte (35fbea209c6e) * doc/manual.xml.head: Manual: verbosely document how the initial folder is determined, see #3189. * doc/manual.xml.head: Document address normalization. Closes #2430. * headers.c: Simplify and fix Attach: header parsing With ee5e696a9d08 we would skip beyond the filename to look for a description. This changeset fixes it. * main.c: Set magic from -m before processing queries (-Q) or dumping variables (-D) * doc/mutt.man, init.h: Better document how the initial folder is determined. Closes #3189. 2009-02-15 16:09 +0100 Rocco Rutte (ee5e696a9d08) * doc/manual.xml.head, headers.c: Support spaces in Attach: pseudoheader. Closes #3179. 2009-02-10 13:05 +0100 Rocco Rutte (a21f8bf84149) * init.h: Fix documentation typos. Closes #3178. 2009-01-27 12:58 -0800 Brendan Cully (7ddf1d1cc490) * imap/imap.c: Move socket close into imap_logout from imap_logout_all * imap/imap.c: IMAP: only close socket when not already disconnected. 2009-01-27 18:48 +0100 Rocco Rutte (d7e44862a08a) * help.c, main.c, mh.c: Update copyright years * help.c: Fix help alignment for escape sequences at screen boundary. Closes #3146. * mh.c: Unconditionally inode-sort Maildir and MH folders. Closes #3166. 2009-01-26 12:32 -0800 Brendan Cully (da94a92c3ba0) * bcache.c: Remove old bcache tmpfile before trying to create new one. Closes #3163. 2009-01-20 12:34 -0800 René Clerc (2006526d1d26) * po/nl.po: Updated Dutch translation 2009-01-19 20:39 -0800 Ivan Vilata i Balaguer (038f1e5cdaea) * po/ca.po: Updated Catalan translation 2009-01-14 20:04 +0000 Emanuele Giaquinta (ddf48761aacf) * imap/browse.c: Use imap_utf7_encode instead of imap_munge_mbox_name+imap_unquote_string. 2009-01-14 11:45 -0800 Brendan Cully (cd0b17c80372) * doc/manual.xml.head: Add missing hooks to manual section 4 2009-01-13 06:51 -0800 Brendan Cully (10e224e86f0b) * hook.c: Do not allow a command in an account-hook to trigger another account-hook. Recent changes in the IMAP path canonifier mean that account-hooks that set variables to URLs (eg folder, spoolfile) can trigger a recursive account-hook. Now we just bail out of account- hook early if we are called recursively, but perhaps we should warn the user to use a folder-hook instead. Thanks to Kyle Wheeler for finding this one. 2009-01-12 10:27 -0800 Brendan Cully (6976aca75d04) * init.h: Correct defaults for new ssl options (fixes manual generation) 2009-01-11 21:47 -0800 Brendan Cully (ff74e612f790) * mutt_ssl_gnutls.c: GNUTLS: check all available certs noninteractively before presenting any menus * UPDATING, init.h, mutt.h, mutt_ssl.c, mutt_ssl_gnutls.c: Add $ssl_verify_dates option to relax certificate date validation * UPDATING, init.h, mutt.h, mutt_ssl.c, mutt_ssl_gnutls.c: Add $ssl_verify_host to allow skipping host name validation 2009-01-10 22:09 -0800 Brendan Cully (db3a61fcde35) * imap/util.c: Assume INBOX for ""/NULL in imap_mxcmp * imap/util.c: Use known connection delimiter in imap_expand_path * imap/util.c: Guard against NULL pointers in imap_mxcmp * imap/imap_private.h, imap/util.c: Canonicalize IMAP mailboxes before comparing them. * imap/util.c: Fix last commit * imap/util.c: Prioritize the entered IMAP folder delimiter. First priority is the connection delimiter. Second priority is the user's delimiter if it is in imap_delim_chars. We no longer use the first character in imap_delim_chars. 2009-01-06 18:34 -0800 Vsevolod Volkov (4032dfd52118) * po/ru.po: Updated Russian translation 2009-01-05 16:43 -0800 Brendan Cully (0d81ef9d40fd) * build-release: Sign tagged revision, not the one after * .hgsigs: mutt-1.5.19 signed * .hgtags: Added tag mutt-1-5-19-rel for changeset a4b47ac32d32 * VERSION, po/bg.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/eu.po, po/fr.po, po/ga.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lt.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: automatic post-release commit for mutt-1.5.19 * build-release: Fall back to vi if VISUAL is unset in build-release * UPDATING: Update UPDATING * imap/command.c, imap/imap.c, imap/imap_private.h: Report CREATE failures * browser.c: Style fixes * browser.c: Leave error message on screen if imap_mailbox_create fails * doc/mutt.man: Add pointer to the full manual to the front of mutt.1 2009-01-05 09:16 -0800 Petr Písař (990f1e841dd4) * po/cs.po: Updated Czech translation 2009-01-04 22:36 -0800 Vincent Lefevre (9af288ee9e91) * po/fr.po: Updated French translation 2009-01-04 18:32 -0800 Emanuele Giaquinta (e47d05dc2633) * imap/util.c: Indentation fix 2009-01-04 18:12 -0800 Brendan Cully (1947c370fcd9) * Makefile.am: Remove obsolete make target * doc/manual.xml.head: Update copyright in manual 2009-01-04 17:07 -0800 Vincent Lefevre (bbe8694acc33) * po/fr.po: Updated French translation 2009-01-04 17:04 -0800 Brendan Cully (d98ab9a591e5) * pgpkey.c: Remove dead code. Thanks to Ingo Schwarze. * COPYRIGHT: Update copyrights * addrbook.c, ascii.h, attach.c, bcache.c, bcache.h, browser.c, browser.h, charset.c, charset.h, commands.c, complete.c, compose.c, crypt-gpgme.c, crypt.c, curs_main.c, dotlock.c, editmsg.c, enter.c, functions.h, gnupgparse.c, handler.c, hdrline.c, hook.c, init.h, lib.c, lib.h, menu.c, mh.c, mutt_idna.c, mutt_idna.h, mutt_sasl.h, mutt_socket.c, muttlib.c, mx.c, pager.c, pattern.c, pgp.c, pgp.h, pgpinvoke.c, pgpkey.c, pgplib.c, pgplib.h, pgppacket.c, pgppubring.c, pop.c, postpone.c, protos.h, query.c, recvattach.c, recvcmd.c, remailer.c, rfc1524.c, rfc2047.c, rfc2231.c, rfc3676.h, send.c, setenv.c, status.c, url.c: Update copyrights. Closes #3016. I went through the logs of each file with a copyright header and updated the years for the authors in the headers for any non-comment changes they introduced. What a pain! * imap/auth_anon.c, imap/auth_cram.c, imap/auth_login.c, imap/auth_sasl.c, imap/browse.c, imap/imap.h, imap/message.h, imap/utf7.c: IMAP copyright header updates * imap/auth_gss.c, imap/command.c, imap/imap.c, imap/message.c: Updated copyrights * smtp.c: SMTP: complain when authentication fails. Closes #2117. Now each failed attempt emits an error before mutt tries the next method. Possibly we should just fail immediately? * parse.c, snprintf.c: Use ! instead of testing pointers against 0. Closes #3125. 2009-01-04 20:12 +0100 Rocco Rutte (33fa1ca4b6af) * doc/gen-map-doc, init.h: Documentation: Minor fixes and improvements 2009-01-03 21:02 -0800 Brendan Cully (5a80ee54a05f) * imap/command.c, imap/imap.c, init.c, muttlib.c, postpone.c: Raise debug level for several messages * imap/auth_gss.c: Guard against unused variable warning. Thanks to Ingo Schwarze. * doc/Makefile.am: Remove obsolete reference to ChangeLog.old. Thanks to Ingo Schwarze. * imap/message.c: Ignore unexpected FETCH responses during imap_read_headers. Thanks to Chris Li for the excellent bug report in #3041. See #2902, #2935, #2985, #3028, #3041, #3143. With luck, this may close them. In truth, imap_read_headers is still a horrible kludge of duct tape and chicken wire. * hash.c, hash.h: Make hash_string work in unsigned domain * main.c: Another copyright update * main.c, smtp.c: Update some copyrights 2009-01-02 23:13 -0800 Brendan Cully (87ef3e3550e4) * smtp.c: SMTP: Use Hostname if Fqdn is bogus. Closes #3142. * init.h: More tyops * doc/manual.xml.head: Tyops * mutt_ssl_gnutls.c: Add SSL intermediate certificate support for gnutls * mutt_ssl.c: Simplify intermediate certificate handling. Return immediately if a certificate is interactively accepted. Display index of current certificate in chain in menu title. 2009-01-02 12:46 -0800 TAKAHASHI Tamotsu (5db868a874b6) * globals.h, mutt_ssl.c: Add support for intermediate certificates to openssl code. Gnutls support is not included in this patch. 2009-01-01 17:02 -0800 Marcel Telka (532f695b4352) * smtp.c: SMTP: Require SP after AUTH response (strict RFC conformance). Closes #3141. 2009-01-01 16:55 -0800 Brendan Cully (859009a507d8) * smtp.c: SMTP: guard against short server responses 2008-12-30 00:58 +0100 Rocco Rutte (ac870203179d) * doc/manual.xml.head: Manual: Add missing maps to bind command docs * doc/TODO: Documentation: Update TODO 2008-12-26 14:36 +0100 Rocco Rutte (4917897ac9b1) * init.c: Ignore NULL/empty lines in rc parser, fixes mutt -e '' crashing 2008-12-20 15:33 -0800 TAKAHASHI Tamotsu (349986b1af09) * po/ja.po: Updated Japanese translation. 2008-12-20 15:31 -0800 Brendan Cully (a715dca3610c) * main.c: Cosmetics for mutt -v 2008-11-26 01:15 +0000 Peter Collingbourne (2fefd56f440c) * sendlib.c: Disable line wrapping for Message-ID header 2008-12-16 20:19 -0800 Erik Hovland (f6ae8dc70850) * imap/util.c: Remove unused #include directives * crypt.c, curs_main.c, flags.c, group.c, hcache.c, mh.c, pager.c, pgpmicalg.c, pgppacket.c, postpone.c, query.c, recvattach.c, recvcmd.c, send.c: Remove unused #include directives * sendlib.c: mutt_gen_msgid() allocates the msgid off of the heap. Since mutt_gen_msgid() allocates the msgid string with strdup, it is getting it off of the heap. When the fprintf writes the msgid, the string is no longer tracked and that string is leaked. * parse.c: Match variable type to getch return type * alias.c: Fix fread rc check * hash.c: Remove redundant int clamping * smime.c: Remove check that always succeeds * pattern.c: fclose correct fp * rfc822.c: buflen cannot be 0 here 2008-12-16 12:36 -0800 Brendan Cully (bbf4dfc2aa41) * ChangeLog.old, Makefile.am: Remove ChangeLog.old * imap/Makefile.am: Remove imap/BUGS from Makefile.am 2008-12-15 23:45 -0800 Erik Hovland (adaf24e4117d) * mh.c: Fix bad parentheses in stat rc * bcache.c: snprintf returns int, not size_t * muttlib.c: Always va_end(ap_retry) in mutt_buffer_printf 2008-12-15 23:11 -0800 Brendan Cully (101a8bcba613) * imap/BUGS: imap/BUGS is superseded by the BTS 2008-12-10 20:00 +0100 Rocco Rutte (817e5987633b) * doc/manual.xml.head: Manual: Fix typos found by by Vincent Lefevre, see #3109. * doc/manual.xml.head: Manual: trim into chapter, add notes about contributing * doc/mutt.css: Make mutt.css apply for all media types * doc/manual.xml.head, doc/mutt.css: Manual: Wrap important notes in * doc/Makefile.am, doc/chunk.xsl, doc/html.xsl, doc/mutt.xsl: Move common XSLT params to mutt.xsl imported into (chunk|html).xsl * doc/gen-map-doc, doc/makedoc.c, doc/manual.xml.head, doc/manual.xml.tail, init.h: Manual: Only wrap real text paragraphs in Elements such as lists, tables, synopsis don't need it and produce hundreds of warnings in tidy because of empty paragraphs. With this change, the manual should be fully XHTML 1.0 Transitional and validate without warnings and errors. * hg-commit: hg-commit: Work even in subdirectories * doc/chunk.xsl, doc/html.xsl: Manual: Use right XSLT-way to embed CSS to avoid invalid xmlns="" attributes on