]> granicus.if.org Git - mutt/log
mutt
7 years agoautomatic post-release commit for mutt-1.9.1 mutt-1-9-1-rel
Kevin McCarthy [Sat, 23 Sep 2017 18:39:45 +0000 (11:39 -0700)]
automatic post-release commit for mutt-1.9.1

7 years agoAdd missing IMAP_CMD_POLL flag in imap buffy check.
Kevin McCarthy [Fri, 22 Sep 2017 18:14:27 +0000 (11:14 -0700)]
Add missing IMAP_CMD_POLL flag in imap buffy check.

I missed adding the flag to one of the imap_exec() calls inside the
loop, when a different server is encountered in the mailboxes list.

7 years agoClose the imap socket for the selected mailbox on error.
Kevin McCarthy [Fri, 22 Sep 2017 18:12:25 +0000 (11:12 -0700)]
Close the imap socket for the selected mailbox on error.

The new $imap_poll_timeout calls the cmd_handle_fatal() error handler
on timeout, which is supposed to close and cleanup.

However, for the currently selected mailbox, the error handler was not
closing the socket after closing up the mailbox.  This left extra
SSL/GnuTLS data around and was causing errors on an attempt to
reconnect.

Thanks to Fabian Groffen for reporting the issue.

7 years agoFix imap sync segfault due to inactive headers during an expunge. (closes #3971)
Kevin McCarthy [Fri, 22 Sep 2017 18:07:27 +0000 (11:07 -0700)]
Fix imap sync segfault due to inactive headers during an expunge.  (closes #3971)

Mutt has several places where it turns off h->active as a hack.  For
example to avoid FLAG updates, or to exclude from imap_exec_msgset.

Unfortunately, when a reopen is allowed and the IMAP_EXPUNGE_PENDING
flag becomes set (e.g. a flag update to a modified header),
imap_expunge_mailbox() will be called by imap_cmd_finish().

The mx_update_tables() would free and remove these "inactive" headers,
despite that an EXPUNGE was not received for them.  This would result
in memory leaks and segfaults due to dangling pointers in the
msn_index and uid_hash.

There should probably be a more elegant solution, removing the initial
hacks.  However, this is causing a segfault, and the best solution
right now is to turn active back on for non-expunged messages in
imap_expunge_mailbox().

Extra thanks to chdiza, who bravely runs tip and found this issue
quickly.

7 years agoImprove imap fetch handler to accept an initial UID. (closes #3969)
Kevin McCarthy [Thu, 14 Sep 2017 19:43:32 +0000 (12:43 -0700)]
Improve imap fetch handler to accept an initial UID. (closes #3969)

Gmail sends flag updates with a UID before the FLAGS.  The handler was
very simple, and so ignored the flag update in that case.

Pull the code from msg_parse_fetch(), paring down to just UID and
FLAGS.  This will handle arbitrary order data items.

7 years agoChange imap copy/save and trash to sync flags, excluding deleted. (closes #3966)...
Kevin McCarthy [Wed, 13 Sep 2017 22:48:16 +0000 (15:48 -0700)]
Change imap copy/save and trash to sync flags, excluding deleted. (closes #3966) (closes #3860)

imap_copy_messages() uses a helper to sync the flags before performing
a server-side copy.  However, it had a bug that the "deleted" flag on
a local message, if set, will be propagated to the copy too.

Change the copy sync helper to ignore the deleted flag.  Then, change
the imap trash function to use the same helper.

Thanks to Anton Lindqvist for his excellent bug report, suggested
fixes, and help testing.

7 years agoRemove \Seen flag setting for imap trash. (see #3966) (see #3860)
Kevin McCarthy [Wed, 13 Sep 2017 22:48:13 +0000 (15:48 -0700)]
Remove \Seen flag setting for imap trash.  (see #3966) (see #3860)

Commit 323e3d6e5e4c has a side effect where spurious FETCH flag
updates after setting the \Seen flag can cause a sync to abort.

Remove manually setting \Seen for all trashed message before copying.

The next commit will change the imap trash function to use the same
code as the imap copy/save function for syncing the message before
server-side copying.

7 years agoFix rv assignment in mutt_window_mvprintw(). (closes #3964)
Kevin McCarthy [Mon, 4 Sep 2017 16:40:44 +0000 (09:40 -0700)]
Fix rv assignment in mutt_window_mvprintw(). (closes #3964)

Mutt doesn't check the return value, so this wasn't causing a bug, but
was incorrect.

Thanks to dcb314 for reporting the issue.

7 years agoFix fp resource leak. (closes #3965)
Kevin McCarthy [Mon, 4 Sep 2017 16:20:53 +0000 (09:20 -0700)]
Fix fp resource leak. (closes #3965)

Thanks to dcb314 for reporting the issue.

7 years agomerge default into stable
Kevin McCarthy [Sat, 2 Sep 2017 19:20:16 +0000 (12:20 -0700)]
merge default into stable

7 years agomutt-1.9.0 signed
Kevin McCarthy [Sat, 2 Sep 2017 19:12:40 +0000 (12:12 -0700)]
mutt-1.9.0 signed

7 years agoAdded tag mutt-1-9-rel for changeset 549821ba69e5
Kevin McCarthy [Sat, 2 Sep 2017 19:11:42 +0000 (12:11 -0700)]
Added tag mutt-1-9-rel for changeset 549821ba69e5

7 years agoautomatic post-release commit for mutt-1.9.0 mutt-1-9-rel
Kevin McCarthy [Sat, 2 Sep 2017 18:32:50 +0000 (11:32 -0700)]
automatic post-release commit for mutt-1.9.0

7 years agoFix the new certificate prompt translations.
Kevin McCarthy [Sat, 2 Sep 2017 16:36:52 +0000 (09:36 -0700)]
Fix the new certificate prompt translations.

The Esperanto, Dutch, and Czech po files weren't updated in time for
1.9.  Fix the certificate prompt translations by adding a "(s)kip"
choice.  Otherwise the prompts would not be functional.

7 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Tue, 29 Aug 2017 16:19:44 +0000 (09:19 -0700)]
Updated Japanese translation.

7 years agoUpdated Catalan translation.
Ivan Vilata i Balaguer [Sun, 27 Aug 2017 16:28:44 +0000 (09:28 -0700)]
Updated Catalan translation.

7 years agoAdd 1.9.0 entries to the UPDATING file.
Kevin McCarthy [Wed, 23 Aug 2017 02:22:52 +0000 (19:22 -0700)]
Add 1.9.0 entries to the UPDATING file.

7 years agoUpdated Danish translation.
Morten Bo Johansen [Tue, 22 Aug 2017 20:51:18 +0000 (13:51 -0700)]
Updated Danish translation.

7 years agoUpdated Danish translation.
Morten Bo Johansen [Tue, 22 Aug 2017 17:59:51 +0000 (10:59 -0700)]
Updated Danish translation.

7 years agoUpdated German translation.
Olaf Hering [Tue, 22 Aug 2017 17:28:13 +0000 (10:28 -0700)]
Updated German translation.

7 years agoUpdated Russian translation.
Vsevolod Volkov [Sun, 20 Aug 2017 16:39:04 +0000 (09:39 -0700)]
Updated Russian translation.

7 years agoUpdated Ukrainian translation.
Vsevolod Volkov [Sun, 20 Aug 2017 16:31:25 +0000 (09:31 -0700)]
Updated Ukrainian translation.

7 years agoAdd option to run command to query attachment mime type. (closes #2933) (closes ...
Kevin McCarthy [Sat, 19 Aug 2017 15:33:57 +0000 (08:33 -0700)]
Add option to run command to query attachment mime type. (closes #2933) (closes #3959)

Add $mime_type_query_command to specify a command to run if the
attachment extension is not in the mime.types file.

Add $mime_type_query_first to allow the query command to be run before
the mime.types lookup.

7 years agoUpdated French translation.
Vincent Lefevre [Sat, 12 Aug 2017 20:17:16 +0000 (22:17 +0200)]
Updated French translation.

7 years agoFix parent_hdr usage in mutt_attach_reply(). (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 16:04:48 +0000 (09:04 -0700)]
Fix parent_hdr usage in mutt_attach_reply(). (see #3728)

If the selected attachments are not messages and no (common) parent is
found, parent_hdr is set to the passed in hdr.  In that case, parent
will still be NULL, but parent_hdr and parent_fp will be set.

Change the test to parent_hdr being NULL, not parent, to check for
this case.

7 years agoAdd edit-content-type helper and warning for decrypted attachments. (closes #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:28 +0000 (18:18 -0700)]
Add edit-content-type helper and warning for decrypted attachments. (closes #3728)

Regenerating the actx index will overwrite any changes made to a
decrypted attachment.  Change the mutt_edit_content_type() function to
return 1 when a structural change is made.  Add a warning message when
that is the case and a decrypted message was edited, so the user is
not surprised.

Note: mutt_edit_content_type() appeared to regenerate multipart
subparts every time, leading to a memory leak.  I believe this was an
oversite, and it should have regenerated only when there were no
subparts, so have "fixed" this.

7 years agoFix attachment check_traditional and extract_keys operations. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:26 +0000 (18:18 -0700)]
Fix attachment check_traditional and extract_keys operations. (see #3728)

Add helpers and iterate over the actx->idx instead of the BODY structure.

7 years agoFix shared attachment functions. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:25 +0000 (18:18 -0700)]
Fix shared attachment functions. (see #3728)

With nested decryption, the correct FP is associated with the
ATTACHPTR entry.  Also, the BODY entries are not continguous, so the
functions need to iterate over the actx index, not the BODY structure.

7 years agoFix the expand/collapse code to use the virtual index. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:24 +0000 (18:18 -0700)]
Fix the expand/collapse code to use the virtual index. (see #3728)

Fix the init code to respect OPTDIGESTCOLLAPSE.

7 years agoAdd virtual index to actx. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:22 +0000 (18:18 -0700)]
Add virtual index to actx. (see #3728)

The virtual index is modeled after the CONTEXT.  Add a CURATTACH
helper to reduce code verbosity.  Store the actx as menu->data.

Simplify and consolidate the recvattach and compose menu update code
inside a function.

Because compose and recvattach share so much code, change compose to
use the virtual index even though it has no collapse/expand
functionality.

7 years agoChange recvattach to allow nested encryption. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:21 +0000 (18:18 -0700)]
Change recvattach to allow nested encryption. (see #3728)

* Add a FP and BODY array to the actx.  These are used to allow proper
  cleanup.

* Add HEADER and root_fp entries, to allow for index regeneration.

* Separate out the compose and recvattach index generation functions.

* Change the recvattach index generator to decrypt as encrypted parts
  are found.

7 years agoAdd helpers to add and remove actx entries. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:20 +0000 (18:18 -0700)]
Add helpers to add and remove actx entries. (see #3728)

Use the helper in compose update_idx(), to consolidate the resize
logic and simplify the code.

Separate out the actx "free" routine from a routine to empty out the
idx.  The index regeneration routines should flush and rebuild the
index without having to renerate the actx structure.

7 years agoChange helpers functions to pass actx. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:19 +0000 (18:18 -0700)]
Change helpers functions to pass actx. (see #3728)

Change the pager, compose, recvattach and recvcmd to pass the actx
instead of the individual idx and idxlen parameters.

Separate out the compose menu exit logic to first free the BODY data
and then call the shared actx free function at the bottom.

7 years agoCreate ATTACH_CONTEXT to hold attachment index. (see #3728)
Kevin McCarthy [Fri, 11 Aug 2017 01:18:18 +0000 (18:18 -0700)]
Create ATTACH_CONTEXT to hold attachment index. (see #3728)

Move the idx and idxlen into ATTACH_CONTEXT.  In subsequence patches,
this structure will hold more useful items, such as the virtual index.

The swap out is straightforward, except for:
  * update_idx() in compose.c, which post-increments the idxlen in the
    call and again in the function.
  * mutt_gen_attach_list() which doesn't need to returns the new values.

7 years agoUpdated Simplified Chinese translation.
lilydjwg [Wed, 9 Aug 2017 15:08:24 +0000 (08:08 -0700)]
Updated Simplified Chinese translation.

7 years agoUpdated German translation.
Olaf Hering [Tue, 8 Aug 2017 16:13:13 +0000 (09:13 -0700)]
Updated German translation.

7 years agoHandle error if REGCOMP in pager fails when resizing.
Kevin McCarthy [Sun, 6 Aug 2017 17:22:45 +0000 (10:22 -0700)]
Handle error if REGCOMP in pager fails when resizing.

Thanks to JiaZhouyang for finding this issue and supplying the original patch.

7 years agoUpdated German translation.
Olaf Hering [Fri, 4 Aug 2017 16:29:06 +0000 (09:29 -0700)]
Updated German translation.

7 years agoConvert raw_socket_poll() to use gettimeofday().
Kevin McCarthy [Fri, 28 Jul 2017 17:54:51 +0000 (10:54 -0700)]
Convert raw_socket_poll() to use gettimeofday().

As long as gettimeofday() is supported, it's better to be consistent
within mutt and ensure greater portability.

Change the raw_socket_poll() wait timer to count milliseconds, like
the mutt_progess_update() code.

Thanks to Vincent Lefèvre for his, as always, invaluable advice.

7 years agoUpdated French translation.
Vincent Lefevre [Wed, 26 Jul 2017 23:20:00 +0000 (00:20 +0100)]
Updated French translation.

7 years agoAdd autoconf search for clock_gettime.
Kevin McCarthy [Mon, 24 Jul 2017 18:19:05 +0000 (11:19 -0700)]
Add autoconf search for clock_gettime.

It appears to be specified in POSIX.1-2001, so just abort if it's not found.

Add a missing time.h include in mutt_socket.c

7 years agoAdd $imap_poll_timeout to allow mailbox polling to time out.
Kevin McCarthy [Sun, 23 Jul 2017 02:48:50 +0000 (19:48 -0700)]
Add $imap_poll_timeout to allow mailbox polling to time out.

Enable the polling flag for the NOOP in imap_check_mailbox(), the
STATUS command in imap_buffy_check(), and the LOGOUT command.

This is not intended to handle all blocking-IO related issues.
However, the periodic NOOP and STATUS are the most frequent places for
mutt to freeze up, especially after a laptop is sleep/woken.

Since these are quick operations with little data, this is a good place
to check if the connection is still working before hanging on a read.

7 years agoAdd timeout parameter to mutt_socket_poll.
Kevin McCarthy [Sun, 23 Jul 2017 02:48:49 +0000 (19:48 -0700)]
Add timeout parameter to mutt_socket_poll.

This will be used in the next commit to add a timeout when polling for
new mail.

7 years agoWhen guessing an attachment type, don't allow text/plain if there is a null character...
Kevin McCarthy [Fri, 21 Jul 2017 00:30:05 +0000 (17:30 -0700)]
When guessing an attachment type, don't allow text/plain if there is a null character. (see #2933)

Type text/plain should not contain any null characters.  Slightly
improve the type guesser by forcing an attachment with any null
characters to be application/octet-stream.

Note the type guesser could use much more improvement, but this is an
easy and obvious fix.

7 years agomerge stable
Kevin McCarthy [Wed, 19 Jul 2017 21:12:01 +0000 (14:12 -0700)]
merge stable

7 years agoChange imap_cmd_start() to return OK when the cmd_queue is finished. (closes #3956)
Kevin McCarthy [Wed, 19 Jul 2017 21:04:39 +0000 (14:04 -0700)]
Change imap_cmd_start() to return OK when the cmd_queue is finished. (closes #3956)

Some response handlers can end up recursively calling
imap_cmd_start(), processing all the command completions.  If the
outer call was an imap_exec(), this would result in the loop never
being terminated (or just blocking reading a server that has already
finished all the commands).

Change the callers that are simply using it to read a response,
without having called cmd_start(), to check for IMAP_CMD_OK instead.
Currently this is just the open connection function.

7 years agoFix menu color calls to occur before positioning the cursor. (see #3956)
Kevin McCarthy [Wed, 19 Jul 2017 21:04:32 +0000 (14:04 -0700)]
Fix menu color calls to occur before positioning the cursor. (see #3956)

It is possible for menu->color() to end up fetching an imap message,
and therefore generating a status message.

Because of this, we need to make those calls before we position the cursor.

7 years agoDecrease regex failure stack limit. (closes #3955)
Kevin McCarthy [Fri, 14 Jul 2017 22:19:57 +0000 (15:19 -0700)]
Decrease regex failure stack limit. (closes #3955)

When using alloca(), the built-in regexp library limited the failure
stack to 20,000 entries.  This value is too large, and causes alloca()
to segfault in the example provided in the ticket.

Decrease the limit to 8000.

Thanks to Thorsten WiĂźmann for the excellent bug report, which made
debugging this much easier.

7 years agodrop unused flags argument from imap_access
Brendan Cully [Fri, 14 Jul 2017 05:05:28 +0000 (22:05 -0700)]
drop unused flags argument from imap_access

We are not using an actual interface so it is pointless.

7 years agobcache: cast to avoid implicit signed/unsigned comparison in bcache_path
Brendan Cully [Thu, 13 Jul 2017 04:20:24 +0000 (21:20 -0700)]
bcache: cast to avoid implicit signed/unsigned comparison in bcache_path

7 years agomerge stable
Kevin McCarthy [Wed, 12 Jul 2017 19:39:28 +0000 (12:39 -0700)]
merge stable

7 years agoFix crash when $postponed is on another server.
Kevin McCarthy [Wed, 12 Jul 2017 19:38:22 +0000 (12:38 -0700)]
Fix crash when $postponed is on another server.

imap_mxcmp() translates NULL to "INBOX".  When $postponed points to a
URL with an empty or "INBOX" path, this will end up matching against a
NULL idata->mailbox in imap_status().  This resulted in a crash
because idata->ctx is also NULL.

Thanks to Olaf Hering for the detailed bug report and suggested fix.

7 years agofix signed/unsigned comparison in longest_common_prefix
Brendan Cully [Sat, 8 Jul 2017 23:35:08 +0000 (16:35 -0700)]
fix signed/unsigned comparison in longest_common_prefix

7 years agoAdd ~<() and ~>() immediate parent/children patterns. (closes #3144)
Kevin McCarthy [Thu, 6 Jul 2017 02:09:51 +0000 (19:09 -0700)]
Add ~<() and ~>() immediate parent/children patterns. (closes #3144)

Thanks to Jeremie Le Hen for the original patch, and for his
persistence in getting this feature merged.

7 years agoRemove stale certificate prompt translations.
Kevin McCarthy [Tue, 4 Jul 2017 02:22:25 +0000 (19:22 -0700)]
Remove stale certificate prompt translations.

With the OpenSSL changes, unmaintained translation prompts will not function properly.

Clear out the translation strings for those using different action keys.

This changeset does not touch the translation files that are actively
maintained.  They will be properly updated before the 1.9.0 release.

7 years agoUpdate po files.
Kevin McCarthy [Tue, 4 Jul 2017 02:22:23 +0000 (19:22 -0700)]
Update po files.

7 years agoAdd L10N comments to the GNUTLS certificate prompt.
Kevin McCarthy [Tue, 4 Jul 2017 02:22:18 +0000 (19:22 -0700)]
Add L10N comments to the GNUTLS certificate prompt.

The prompts are shared with OpenSSL, and so the prompts end up being
separate from the action key strings.

7 years agoAdd more description for the %S and %Z $index_format characters.
Kevin McCarthy [Mon, 3 Jul 2017 00:53:32 +0000 (17:53 -0700)]
Add more description for the %S and %Z $index_format characters.

7 years agoAdd config vars for forwarded message attribution intro/trailer.
Kevin McCarthy [Sun, 2 Jul 2017 02:32:05 +0000 (19:32 -0700)]
Add config vars for forwarded message attribution intro/trailer.

Add $forward_attribution_intro and $forward_attribution_trailer to
allow the default strings to be overridden.

7 years agoFix typo in smime_self_encrypt_as documentation. (closes #3953)
Antonio Radici [Mon, 26 Jun 2017 22:54:30 +0000 (15:54 -0700)]
Fix typo in smime_self_encrypt_as documentation. (closes #3953)

7 years agomerge stable
Kevin McCarthy [Mon, 26 Jun 2017 22:47:36 +0000 (15:47 -0700)]
merge stable

7 years agoMinor documentation fixes.
Regid Ichira [Mon, 26 Jun 2017 22:44:35 +0000 (15:44 -0700)]
Minor documentation fixes.

The muttrc man page doesn't contain the "Format Strings" section in
the manual, so add a pointer to the explanation of conditionals in
$status_format.

7 years agoBlock SIGWINCH during connect(). (closes #3941)
Kevin McCarthy [Tue, 20 Jun 2017 22:09:43 +0000 (15:09 -0700)]
Block SIGWINCH during connect(). (closes #3941)

FreeBSD's connect() does not respect SA_RESTART, so a SIGWINCH will
end up interrupting the connect.

If this code is needed in other places, it should be moved into
signal.c.  For this one place, inlining the sigprocmask() seemed okay.

7 years agoImprove the L10N comment about Sign as.
Kevin McCarthy [Sun, 18 Jun 2017 17:58:12 +0000 (10:58 -0700)]
Improve the L10N comment about Sign as.

Make it clearer what the indentation behavior is, and add suggestions
about the width.

Thanks to TAKAHASHI Tamotsu for the original patch suggesting changes
to the L10N comments.

7 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Sun, 18 Jun 2017 17:58:07 +0000 (10:58 -0700)]
Updated Japanese translation.

7 years agoAuto-pad translation for the GPGME key selection "verify key" headers.
Kevin McCarthy [Thu, 15 Jun 2017 02:21:22 +0000 (19:21 -0700)]
Auto-pad translation for the GPGME key selection "verify key" headers.

Remove the ridiculous need for the translators to pad the translation
strings themselves.

7 years agoUpdated Danish translation.
Morten Bo Johansen [Wed, 14 Jun 2017 22:23:07 +0000 (15:23 -0700)]
Updated Danish translation.

7 years agoEnable all header fields in the compose menu to be translated.
Kevin McCarthy [Wed, 14 Jun 2017 22:12:45 +0000 (15:12 -0700)]
Enable all header fields in the compose menu to be translated.

While it is suggested they need not be, for some locales it might be
preferable to be able to localize the fields.

For instance, fr_FR may want to change the punctuation to have a space
in front of the colon.  ja_JP may be more comfortable with a native
character set description of the field when using it every day.

7 years agoForce hard redraw after $sendmail instead of calling mutt_endwin. (closes #3952)...
Kevin McCarthy [Tue, 13 Jun 2017 01:29:48 +0000 (18:29 -0700)]
Force hard redraw after $sendmail instead of calling mutt_endwin. (closes #3952) (see #3948)

Adding a mutt_endwin() seemed like a clean solution to allowing
ncurses pinentry for $sendmail, but it leaves other users watching a
blank screen.  This change is extremely likely to generate a large
number of complaints and bug reports.  So instead, force a hard
refresh afterwards.

7 years agoMake GPGME key selection behavior the same as classic-PGP. (see #3950)
Kevin McCarthy [Tue, 13 Jun 2017 00:57:05 +0000 (17:57 -0700)]
Make GPGME key selection behavior the same as classic-PGP. (see #3950)

Classic-PGP key selection auto-selected a match if there was a single
strong, valid, address-match result, even if there were other weak
matches.

GPGME was prompting in the same situation, if there were other weak
matches.

Change GPGME to match the classic behavior, as this is more useful and
matches the manual description.

7 years agoRename 'sign as' to 'Sign as'; makes compose menu more consistent.
Consus [Fri, 9 Jun 2017 18:31:06 +0000 (11:31 -0700)]
Rename 'sign as' to 'Sign as'; makes compose menu more consistent.

7 years agoChange the compose menu fields to be dynamically padded.
Kevin McCarthy [Fri, 9 Jun 2017 18:31:05 +0000 (11:31 -0700)]
Change the compose menu fields to be dynamically padded.

Pad based on the maximum width of the fields.  Note that this is a bit
of a mess, because some of the fields are translated while others are
not.

7 years agoBackout 02ff4277259e (see #3948)
Kevin McCarthy [Thu, 8 Jun 2017 20:26:35 +0000 (13:26 -0700)]
Backout 02ff4277259e (see #3948)

Vincent expressed some legitimate concerns about exporting this to all
programs lauched by mutt.  The user can always set GPG_TTY in their
.bashrc if needed for $sendmail.  cf90bf5989f3 should resolve the
refresh issue.

7 years agoAdd a mutt_endwin() before invoking $sendmail. (closes #3948)
Kevin McCarthy [Wed, 7 Jun 2017 01:38:47 +0000 (18:38 -0700)]
Add a mutt_endwin() before invoking $sendmail. (closes #3948)

This is to support invoking a program such as msmtp that can use gpg
to decrypt a password.  The ncurses pinentry can corrupt the screen
unless we exit curses.

7 years agoMove setting of GPG_TTY to mutt_init(). (see #3948)
Kevin McCarthy [Wed, 7 Jun 2017 01:38:46 +0000 (18:38 -0700)]
Move setting of GPG_TTY to mutt_init(). (see #3948)

This allows other programs mutt runs to use the ncurses pinentry if needed.

7 years agoRestore setenv function.
Kevin McCarthy [Wed, 7 Jun 2017 01:38:41 +0000 (18:38 -0700)]
Restore setenv function.

Partially revert fa1192803257, restoring setenv.  It turns out we
still need the function.

7 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Fri, 2 Jun 2017 20:17:40 +0000 (13:17 -0700)]
Updated Japanese translation.

7 years agoFix tag-prefix to not abort on $timeout.
Kevin McCarthy [Thu, 1 Jun 2017 22:17:05 +0000 (15:17 -0700)]
Fix tag-prefix to not abort on $timeout.

If $timeout is set very low, then it can cancel the tag-prefix before
the user has time to press the desired command.

Change the code to set the tag flag, and then recontinue with normal
event processing instead.  Cancel on an abort, but continue with a timeout.

Thanks to Lauri Tirkkonen for reporting the issue.

7 years agoChange km_dokey() to return -2 on a timeout/sigwinch.
Kevin McCarthy [Thu, 1 Jun 2017 22:17:01 +0000 (15:17 -0700)]
Change km_dokey() to return -2 on a timeout/sigwinch.

In some cases, such as tag-prefix or _mutt_enter_string(), it is
desirable to be able to distinguish between a timeout/sigwinch event
and an input error/abort/ctrl-g.

7 years agoEnable TEXTDOMAINDIR override to make translation testing easier.
TAKAHASHI Tamotsu [Thu, 1 Jun 2017 20:55:07 +0000 (13:55 -0700)]
Enable TEXTDOMAINDIR override to make translation testing easier.

If set, TEXTDOMAINDIR will point to a translation directory instead of
using the mutt installation directory.

7 years agoFix "format string is not a string literal" warnings. (closes #3949)
TAKAHASHI Tamotsu [Thu, 1 Jun 2017 20:33:21 +0000 (13:33 -0700)]
Fix "format string is not a string literal" warnings. (closes #3949)

Mutt calls msgfmt with '-c' to verify that translation format strings
match, but it is still safer to indirect strings with no formatting
through %s.

7 years agomerge stable
Kevin McCarthy [Wed, 31 May 2017 23:19:22 +0000 (16:19 -0700)]
merge stable

7 years agoAdd note about message scoring and thread patterns. (see #3947)
Kevin McCarthy [Wed, 31 May 2017 23:18:29 +0000 (16:18 -0700)]
Add note about message scoring and thread patterns. (see #3947)

Because scoring occurs before the mailbox is sorted, thread patterns
don't work.  Document a suggested workaround of pushing the score
command in a folder hook.

Also, fix the link target for the score command synopsis.

7 years agomerge stable
Kevin McCarthy [Tue, 30 May 2017 19:49:56 +0000 (12:49 -0700)]
merge stable

7 years agomutt-1.8.3 signed
Kevin McCarthy [Tue, 30 May 2017 19:48:25 +0000 (12:48 -0700)]
mutt-1.8.3 signed

7 years agoAdded tag mutt-1-8-3-rel for changeset fe5275246e13
Kevin McCarthy [Tue, 30 May 2017 19:47:18 +0000 (12:47 -0700)]
Added tag mutt-1-8-3-rel for changeset fe5275246e13

7 years agoautomatic post-release commit for mutt-1.8.3 mutt-1-8-3-rel
Kevin McCarthy [Tue, 30 May 2017 19:47:01 +0000 (12:47 -0700)]
automatic post-release commit for mutt-1.8.3

7 years agoChange $postpone_encrypt to use self-encrypt variables first.
Kevin McCarthy [Mon, 29 May 2017 18:48:43 +0000 (11:48 -0700)]
Change $postpone_encrypt to use self-encrypt variables first.

The concept of postpone encryption is similar to self-encrypting on
send.  The problem is the $postpone_encrypt_as option doesn't take
into account whether PGP or S/MIME is being used.

Since we need to add the new options for self-encryption, modify
$postpone_encrypt to use them by default instead, falling back to
$postpone_encrypt_as if they are unset.  Note $postpone_encrypt_as is
deprecated in the documentation.

7 years agoAdd self-encrypt options for PGP and S/MIME.
Kevin McCarthy [Mon, 29 May 2017 18:48:42 +0000 (11:48 -0700)]
Add self-encrypt options for PGP and S/MIME.

Add $pgp_self_encrypt, $pgp_self_encrypt_as, $smime_self_encrypt,
$smime_self_encrypt_as.

$pgp_sign_as and $smime_default_key are inappropriate to use, as they
specify signing key/certs.  In some cases, this is a different value
than the encryption key/cert.

7 years agoConvert classic s/mime to space delimit findKeys output.
Kevin McCarthy [Mon, 29 May 2017 18:48:41 +0000 (11:48 -0700)]
Convert classic s/mime to space delimit findKeys output.

Unlike gpgme and classic pgp, smime used a "cert\ncert\n" pattern.
Convert to use a space-delimited format, so the self-encrypt option
code can be uniform across pgp, s/mime, and gpgme.

7 years agoChange imap body cache cleanup to use the uid_hash.
Kevin McCarthy [Wed, 24 May 2017 22:46:41 +0000 (15:46 -0700)]
Change imap body cache cleanup to use the uid_hash.

This should speed up $message_cache_clean cleanup when syncing.

7 years agomerge stable
Kevin McCarthy [Tue, 23 May 2017 22:54:46 +0000 (15:54 -0700)]
merge stable

7 years agoFix memory leak when closing mailbox and using the sidebar.
Kevin McCarthy [Tue, 23 May 2017 22:53:30 +0000 (15:53 -0700)]
Fix memory leak when closing mailbox and using the sidebar.

The code updating the sidebar counts decremented the msgcount, but did
not set it back to the original value.  Which means fastclose was not
freeing all the headers.

Update the sidebar only when something is deleted, since I don't
believe it's required otherwise and the code is a bit cleaner that
way.

7 years agoDon't clean up msn idata when closing an open-append mailbox. (see #3942)
Kevin McCarthy [Tue, 23 May 2017 01:30:38 +0000 (18:30 -0700)]
Don't clean up msn idata when closing an open-append mailbox. (see #3942)

This is a continuation of commit 59a2125b49f2 with changes made in the
default branch.

Thanks again to Will Yardley for helping test the imap read-headers
changes and discovering this bug.

7 years agomerge stable
Kevin McCarthy [Tue, 23 May 2017 01:25:08 +0000 (18:25 -0700)]
merge stable

7 years agoDon't clean up idata when closing an open-append mailbox.
Kevin McCarthy [Tue, 23 May 2017 01:18:29 +0000 (18:18 -0700)]
Don't clean up idata when closing an open-append mailbox.

open-append borrows the idata just for the connection.  The "mailbox
specific" part of the idata may be being used by a normal
open-mailbox.

Don't free the idata "mailbox specific" part when closing an
open-append mailbox.

Thanks to Will Yardley for discovering the bug as part of testing the
revised IMAP fetch_headers code (in the default branch).

7 years agomerge stable
Kevin McCarthy [Mon, 22 May 2017 12:14:16 +0000 (05:14 -0700)]
merge stable

7 years agoFix potential segv if mx_open_mailbox is passed an empty string. (closes #3945)
TAKAHASHI Tamotsu [Mon, 22 May 2017 12:08:58 +0000 (05:08 -0700)]
Fix potential segv if mx_open_mailbox is passed an empty string. (closes #3945)

If path is "", ctx->path will be NULL.  realpath() generally will segv
if the first parameter is NULL.

7 years agoFix mfc overflow check and uninitialized variable.
Kevin McCarthy [Mon, 22 May 2017 11:43:24 +0000 (04:43 -0700)]
Fix mfc overflow check and uninitialized variable.

The check borrowed from mx_alloc_memory() works because it is
incremented 25 at a time.  I don't believe it will work for the direct
set case used in imap_alloc_msn_index().  Instead, use a more
conservative check.

In imap_read_headers(), make sure mfhrc is initialized.  It would be
tested without being set if imap_cmd_step() returned OK right away.

7 years agoDon't abort header cache evaluation when there is a hole. (see #3942)
Kevin McCarthy [Mon, 22 May 2017 01:45:09 +0000 (18:45 -0700)]
Don't abort header cache evaluation when there is a hole. (see #3942)

Instead, find the first missing MSN and generate a more complicated
sequence set specifying the missing ranges.

This removes the assumption that the header cache query returned
results in MSN order.