]> granicus.if.org Git - mutt/log
mutt
8 years agoCompress: fix several logic and memory bugs.
Kevin McCarthy [Mon, 14 Nov 2016 04:02:34 +0000 (20:02 -0800)]
Compress: fix several logic and memory bugs.

setup_paths leaks memory: realpath is already set in mx_open_mailbox()

restore_paths is unneeded.  mx_fastclose_mailbox() will free stuff,
and nothing is looking at the path once we are closing or aborting.

Make a copy of the hooks.  Otherwise 'unhook *' will leave dangling
pointers.

Add compress_info freeing inside mx_fastclose_mailbox().  Only free
inside compress.c when we want to prevent close() from doing anything.

close_mailbox() didn't preserve ctx->path on error.

execute_command() didn't return an error if the mutt_system() command
failed.

mx_open_mailbox_append() should check mutt_comp_can_append() only for
the case that the mailbox doesn't exist.  When it exists,
mx_get_magic() has already looked at the file contents before checking
for matching open_hooks.

In open_append_mailbox() if no append hook is defined, it should't
call ci->open() if the mailbox doesn't exist.  It should act just like
append and create a temporary file.

check_mailbox() needs more work.  For now, at least have it properly
close the mailbox on error.

8 years agoCompress: remove buffy stats "improvisation".
Kevin McCarthy [Mon, 14 Nov 2016 04:02:34 +0000 (20:02 -0800)]
Compress: remove buffy stats "improvisation".

Mutt doesn't support polling compressed mailboxes.  This code creates
a false impression and dirties mutt_save_message() in the process.  I
don't like it, so am taking it out.

8 years agoCompress: prefix external functions with "mutt_"
Kevin McCarthy [Mon, 14 Nov 2016 04:02:33 +0000 (20:02 -0800)]
Compress: prefix external functions with "mutt_"

Also, include compress.h in compress.c so the mx_comp_ops doesn't need
to be redeclared.

8 years agoCompress patch from the neomutt repository.
Kevin McCarthy [Mon, 14 Nov 2016 04:02:33 +0000 (20:02 -0800)]
Compress patch from the neomutt repository.

With the following changes:
- po/de.po changes trimmed to just the compress additions.

- Move the sample muttrc to contrib, and add it to the Makefile.am so it is
  distributed.  Remove the sample vimrc.

- Remove extra fluff from manual.

Thanks to Roland Rosenfeld for the original patch, and to the NeoMutt
team for their work cleaning up the patch.

8 years agosearch muttrc file according to XDG Base Specification (closes #3207)
Damien Riegel [Mon, 14 Nov 2016 02:45:35 +0000 (18:45 -0800)]
search muttrc file according to XDG Base Specification (closes #3207)

First of all, the MUTT_VERSION symbol is now concatenated (when
possible) at compile time.

Then, the logic to find the config file has been changed a bit to remove
unnecessary calls to access(), so now each possible locations for the
config file is only tested once, and it stops as soon as a valid one has
been found. So instead of:

  access("/home/dkc/.muttrc-1.7.1", F_OK) = -1 ENOENT (No such file or directory)
  access("/home/dkc/.muttrc", F_OK)       = 0
  access("/home/dkc/.muttrc", F_OK)       = 0
  access("/home/dkc/.muttrc", F_OK)       = 0
  [... Tests for Muttrc ... ]
  access("/home/dkc/.muttrc", F_OK)       = 0

We now have:

  access("/home/dkc/.muttrc-1.7+13 (f658e517960e)", F_OK) = -1 ENOENT (No such file or directory)
  access("/home/dkc/.muttrc", F_OK)       = 0

It also cleans up the case where -F is passed on the command line but
points to a non-existent file by moving the error path closer to the
actual fail condition.

Finally, it adds partial support for the XDG Base Directory
Specification. mutt will now try to locate its config at:

  $XDG_CONFIG_HOME/mutt/muttrc-MUTT_VERSION
  $XDG_CONFIG_HOME/mutt/muttrc.

If XDG_CONFIG_HOME is not set, it will use '~/.config' as a default.

8 years agoMove mbox close-append logic inside mbox_close_mailbox().
Kevin McCarthy [Tue, 8 Nov 2016 20:42:56 +0000 (12:42 -0800)]
Move mbox close-append logic inside mbox_close_mailbox().

The mx_fastclose_mailbox() calls mx_ops->close(), which invokes
mbox_close_mailbox().

Also, close the ctx->fp inside mbox_close_mailbox().  This way, the
(to be added) compress logic can call the mx_ops->close() instead of
"knowing" to close the fp before recompressing.

mx_fastclose_mailbox() will safe_fclose() the fp again, but I'm
leaving it there just in case I missed a usage of the fp in some other
part of the code.

Thanks to Damien Riegel for the original patch.

8 years agoChain %d->%F->%f in the attachment menu.
Kevin McCarthy [Tue, 8 Nov 2016 02:10:27 +0000 (18:10 -0800)]
Chain %d->%F->%f in the attachment menu.

Previously, %d would use %f if there was no description set.

Place the new %F option in between %d and %f.  This way, %d will fall
back on %F, which will fall back on %f.  This allows the standard
attachment menu to show d_filename.

This is useful for forwarding attachments or editing draft files with
attachments.  In these cases the actual filename is sanitized but the
attachment name is preserved in d_filename.

8 years agocompose: add operation to rename an attachment
Damien Riegel [Tue, 8 Nov 2016 02:10:22 +0000 (18:10 -0800)]
compose: add operation to rename an attachment

As opposed to rename-file, which actually renames the underlying file
of the attachment, rename-attachment puts a value in d_filename, which
is used in the Content-Disposition header.

8 years agoattach_format: add new %F placeholder
Damien Riegel [Tue, 8 Nov 2016 02:06:13 +0000 (18:06 -0800)]
attach_format: add new %F placeholder

This new placeholder allows to print the attachment name as it will be
seen on the recipient side.

8 years agoDefine PATH_MAX, it's missing on the GNU Hurd. (closes #3815)
Kevin McCarthy [Thu, 3 Nov 2016 22:49:50 +0000 (15:49 -0700)]
Define PATH_MAX, it's missing on the GNU Hurd. (closes #3815)

I believe this patch originally came from Debian.

Modified based on a suggestion from Fabian Groffen.

8 years agoFixed issue from changeset 4da647a80c55. (closes #3892)
Vincent Lefevre [Thu, 3 Nov 2016 09:17:13 +0000 (10:17 +0100)]
Fixed issue from changeset 4da647a80c55. (closes #3892)

Shell variables cannot be used in the first argument of AC_CHECK_HEADERS.

8 years agoAttempt to silence a clang range warning. (closes #3891)
Kevin McCarthy [Thu, 3 Nov 2016 01:54:06 +0000 (18:54 -0700)]
Attempt to silence a clang range warning. (closes #3891)

When TM_YEAR_MAX > INT_MAX, clang complains the comparison is always false.

Note that this is really a compiler bug, which was fixed by gcc 9 years ago.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12963

Thanks to Vincent Lefèvre for the suggested fix and the gcc bug reference.

8 years agoMake ncurses and ncursesw header checking the same.
Kevin McCarthy [Thu, 3 Nov 2016 01:27:09 +0000 (18:27 -0700)]
Make ncurses and ncursesw header checking the same.

Previously, ncurses.h wasn't searched for directly in the include
directory for ncursesw.

Also, fix a test in case $withval is empty.

Thanks to Sylvain Bertrand for the original patch.

8 years agoAdd a --disable-doc configuration option.
Kevin McCarthy [Tue, 1 Nov 2016 03:30:44 +0000 (20:30 -0700)]
Add a --disable-doc configuration option.

This allows mutt to be built without the documentation.

Thanks to Sylvain Bertrand for the original patch.

8 years agoPerform charset conversion on text attachments when piping. (closes #3773) (see ...
Kevin McCarthy [Sun, 23 Oct 2016 22:11:56 +0000 (15:11 -0700)]
Perform charset conversion on text attachments when piping. (closes #3773) (see #3886)

When piping a text attachment, there is no reliable way to know the
charset used.

Vincent Lefèvre says:
  It was decided in the past that when there is no information on the
  charset in a transmission to an external command (e.g. as for mail
  composing), texts are expected to be transmitted in the local
  charset.

Add a MUTT_CHARSET flag to enable charset conversion on text
attachments for both when $attach_split is set and unset.

8 years agomerge stable
Kevin McCarthy [Sun, 23 Oct 2016 21:49:07 +0000 (14:49 -0700)]
merge stable

8 years agoFix pager segfault when lineInfo.chunks overflows. (closes #3888)
Kevin McCarthy [Sun, 23 Oct 2016 21:46:37 +0000 (14:46 -0700)]
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.

8 years agomerge stable
Kevin McCarthy [Sun, 23 Oct 2016 20:47:14 +0000 (13:47 -0700)]
merge stable

8 years agoPrevent an integer overflow in mutt_mktime() (closes #3880)
Kevin McCarthy [Sun, 23 Oct 2016 20:43:56 +0000 (13:43 -0700)]
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.

8 years agoUpdated French translation.
Vincent Lefevre [Thu, 20 Oct 2016 08:30:36 +0000 (10:30 +0200)]
Updated French translation.

8 years agoAdd root-message function to jump to root message in thread.
Kevin McCarthy [Wed, 19 Oct 2016 20:21:16 +0000 (13:21 -0700)]
Add root-message function to jump to root message in thread.

This seems like a useful feature that was brought up for discussion on
mutt-users.  Proposed solutions involved collapsing/uncollapsing
threads, but it's not hard to modify the mutt_parent_message()
function to return the root instead.

8 years agomerge stable
Kevin McCarthy [Mon, 17 Oct 2016 18:23:30 +0000 (11:23 -0700)]
merge stable

8 years agoActually fix gpgme segfault in create_recipient_set().
Kevin McCarthy [Mon, 17 Oct 2016 18:22:13 +0000 (11:22 -0700)]
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.

8 years agoChange sidebar to only match $folder prefix on a $sidebar_divider_char. (closes ...
Kevin McCarthy [Sun, 16 Oct 2016 22:44:17 +0000 (15:44 -0700)]
Change sidebar to only match $folder prefix on a $sidebar_divider_char. (closes #3887)

The reporter had a $spoolfile of ~/Mailbox and a $folder of ~/Mail.
The sidebar was truncating the spoolfile to "ox" because it only
looked at a substring prefix match.

8 years agomerge stable
Kevin McCarthy [Sun, 16 Oct 2016 22:14:32 +0000 (15:14 -0700)]
merge stable

8 years agoUse mutt_strlen and mutt_strncmp in sidebar.c.
Kevin McCarthy [Sun, 16 Oct 2016 22:12:33 +0000 (15:12 -0700)]
Use mutt_strlen and mutt_strncmp in sidebar.c.

This prevents a segv if folder is unset.

8 years agomerge stable
Kevin McCarthy [Sun, 16 Oct 2016 21:17:51 +0000 (14:17 -0700)]
merge stable

8 years agoFix gpgme segfault in create_recipient_set().
Kevin McCarthy [Sun, 16 Oct 2016 21:16:47 +0000 (14:16 -0700)]
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.

8 years agoAllow IPv6 literal addresses in URLs. (closes #3681)
Kevin McCarthy [Sat, 15 Oct 2016 21:45:55 +0000 (14:45 -0700)]
Allow IPv6 literal addresses in URLs. (closes #3681)

RFCs 2732 and 3986 specify a literal IPv6 address be surrounded by
"[]".

This patch removes the "[]" delimiters when parsing the URL, but adds
them back in url_ciss_tostring() if the host name contains a ':'.

Thanks to Evgeni Golov for the original patch.

8 years agoHandle presence of '--' delimiter in $sendmail. (closes #3168)
Kevin McCarthy [Thu, 13 Oct 2016 01:10:35 +0000 (18:10 -0700)]
Handle presence of '--' delimiter in $sendmail. (closes #3168)

If the delimiter exists, additional sendmail flags will be inserted
before the delimiter.  Any arguments after the delimiter will be
preserved as recipients.

8 years agoFix GPGME signature zero timestamp and locale awareness issues. (closes #3882)
TAKAHASHI Tamotsu [Wed, 12 Oct 2016 02:42:14 +0000 (19:42 -0700)]
Fix GPGME signature zero timestamp and locale awareness issues. (closes #3882)

GPGME signature information has two minor problems.

[-- Begin signature information --]
*BAD* signature from: Name <user@example.com>
                 aka: Name <user@example.org>
             created: Thu Jan  1 09:00:00 1970
[-- End signature information --]

First, the created timestamp is incorrect when the message is not
verified successfully.

Second, as the code itself has some "TODO" comments, "aka" and
"created" lines are not properly-aligned when LC_MESSAGES != English.

8 years agoAdd a few explanatory comments to pop_auth_sasl(). (see #3862)
Kevin McCarthy [Tue, 11 Oct 2016 01:09:00 +0000 (18:09 -0700)]
Add a few explanatory comments to pop_auth_sasl().  (see #3862)

8 years agoFix POP3 SASL authentication mechanism DIGEST-MD5. (closes #3862)
<g1pi@libero.it> [Mon, 10 Oct 2016 23:33:13 +0000 (16:33 -0700)]
Fix POP3 SASL authentication mechanism DIGEST-MD5. (closes #3862)

sasl_client_step() returns SASL_OK after the fourth step: server auth
confirmation.  However, the protocol requires the client send one more
blank line to the server, to which the server then replies with "+OK".
See https://tools.ietf.org/html/rfc5034#section-6.

The code currently only sends a final response if sasl_client_step
returns data to send.  Change it to always send a final client message
after the SASL_OK.

8 years agomerge stable
Kevin McCarthy [Sat, 8 Oct 2016 20:24:00 +0000 (13:24 -0700)]
merge stable

8 years agomutt-1.7.1 signed
Kevin McCarthy [Sat, 8 Oct 2016 19:57:57 +0000 (12:57 -0700)]
mutt-1.7.1 signed

8 years agoAdded tag mutt-1-7-1-rel for changeset 0ce5f9bff1fd
Kevin McCarthy [Sat, 8 Oct 2016 19:56:33 +0000 (12:56 -0700)]
Added tag mutt-1-7-1-rel for changeset 0ce5f9bff1fd

8 years agoautomatic post-release commit for mutt-1.7.1 mutt-1-7-1-rel
Kevin McCarthy [Sat, 8 Oct 2016 19:56:22 +0000 (12:56 -0700)]
automatic post-release commit for mutt-1.7.1

8 years agoMark IMAP fast-trash'ed messages as read before copying. (see #3860)
Kevin McCarthy [Thu, 6 Oct 2016 19:35:38 +0000 (12:35 -0700)]
Mark IMAP fast-trash'ed messages as read before copying. (see #3860)

Regular copying/saving messages in mutt via a UID COPY first calls
imap_sync_message().  However that function is designed to sync all
flags (including deleted), and so isn't useful for the fast-trash
code.

As an easier solution, instead add a UID STORE to set \\Seen for the
same msgset as the trashed messages.

8 years agoUpdated Czech translation.
Petr Pisar [Wed, 5 Oct 2016 22:04:57 +0000 (15:04 -0700)]
Updated Czech translation.

8 years agomerge stable
Kevin McCarthy [Tue, 4 Oct 2016 18:18:09 +0000 (11:18 -0700)]
merge stable

8 years agoPreserve forwarded attachment names in d_filename.
Kevin McCarthy [Tue, 4 Oct 2016 18:13:24 +0000 (11:13 -0700)]
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.

8 years agoEnsure signatures exist when verifying multipart/signed emails. (closes #3881).
Kevin McCarthy [Sat, 1 Oct 2016 23:21:59 +0000 (16:21 -0700)]
Ensure signatures exist when verifying multipart/signed emails. (closes #3881).

TAKAHASHI Tamotsu reported that when gpg2 isn't in PATH, the
gpgme_op_verify() won't return an error, but instead will return a
result with no signatures.

verify_one() was only returning an error if a signature actually
failed, so in this case the function was defaulting to returning
success.

Other callers of gpgme_op_verify() check to make sure the
result->signatures exist before processing signatures.  Add a check
for verify_one() too.

8 years agoRFC2047-decode mailto url headers after RFC2822 parsing. (closes #3879)
Kevin McCarthy [Sat, 1 Oct 2016 20:58:35 +0000 (13:58 -0700)]
RFC2047-decode mailto url headers after RFC2822 parsing. (closes #3879)

Commit 55819a7e6169 performed the RFC2047 decode before the parsing.
This works okay for headers such as subject, but for others such as
address fields could lead to parsing errors.

Change to perform a decode on envelope headers after all the calls to
mutt_parse_rfc822_line(), using the same list of fields as
mutt_read_rfc822_header().

Change the do_2047 parameter of mutt_read_rfc822_line() to true, so
that user headers are decoded if needed.

8 years agoRFC2047-decode mailto header values. (closes #3879)
Kevin McCarthy [Wed, 28 Sep 2016 01:15:25 +0000 (18:15 -0700)]
RFC2047-decode mailto header values. (closes #3879)

RFC 6068 specifies that the header values (with the exception of body)
may contain RFC 2047-encoded values.

8 years agomerge stable
Kevin McCarthy [Sun, 25 Sep 2016 20:26:58 +0000 (13:26 -0700)]
merge stable

8 years agoReset invalid parsed received dates to 0. (closes #3878)
Kevin McCarthy [Sun, 25 Sep 2016 20:11:03 +0000 (13:11 -0700)]
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.

8 years agoClear pager position when toggling headers.
Kevin McCarthy [Fri, 23 Sep 2016 23:07:36 +0000 (16:07 -0700)]
Clear pager position when toggling headers.

It doesn't make sense to try to preserve the pager position when
toggling headers: the purpose of toggling headers is to see the
headers in full or weeded state.  So, reset the position back to the
top.

8 years agoDon't abort the menu editor on sigwinch. (closes #3875)
Kevin McCarthy [Thu, 22 Sep 2016 21:07:18 +0000 (14:07 -0700)]
Don't abort the menu editor on sigwinch. (closes #3875)

getch() will return ERR on sigwinch when timeout() is called with a
positive value.  mutt_getch() will therefore return ch==-2 for both a
timeout and a sigwinch in this case.

The imap code in km_dokey() exits out of the ImapKeepalive loop for a
SigWinch, and was skipping past the check for MENU_EDITOR and
tmp.ch==-2.  Move this check below the gotkey: label so the
ImapKeepalive loop behaves the same as the Timeout code.

Thanks to nicop for reporting the problem and for the initial patch!

8 years agomerge stable
Kevin McCarthy [Thu, 22 Sep 2016 01:11:27 +0000 (18:11 -0700)]
merge stable

8 years agoMark some gpgme pgp menu keybinding translations as fuzzy. (closes #3874)
Antonio Radici [Thu, 22 Sep 2016 01:10:33 +0000 (18:10 -0700)]
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.

8 years agomerge stable
Kevin McCarthy [Thu, 22 Sep 2016 00:52:45 +0000 (17:52 -0700)]
merge stable

8 years agoCheck for NULL mx_ops in mx.c
Kevin McCarthy [Wed, 21 Sep 2016 20:51:01 +0000 (22:51 +0200)]
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.

8 years agoUse body color for gpgme output. (closes #3872)
Antonio Radici [Tue, 20 Sep 2016 22:51:13 +0000 (15:51 -0700)]
Use body color for gpgme output. (closes #3872)

When switching from pgp_* commands to crypt_use_gpgme=yes, Peter
Colberg noticed that the output was colored 'brightyellow'.

The issue is that crypt-gpgme.c uses state_attach_puts in various
places where it should use state_puts to maintain compatibility with
the previous behavior in pgp.c.

8 years agomerge stable
Kevin McCarthy [Tue, 20 Sep 2016 21:01:09 +0000 (14:01 -0700)]
merge stable

8 years agoFix gpgme segfault when querying candidates with a '+' in the address. (closes #3873)
Antonio Radici [Tue, 20 Sep 2016 20:58:47 +0000 (13:58 -0700)]
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.

8 years agoFix openssl 1.1 compilation issues. (closes #3870)
TAKAHASHI Tamotsu [Thu, 8 Sep 2016 03:00:04 +0000 (20:00 -0700)]
Fix openssl 1.1 compilation issues. (closes #3870)

With these changes, Mutt will no longer compile for versions less than
0.9.6.

8 years agoAdd unsidebar_whitelist command.
Kevin McCarthy [Thu, 8 Sep 2016 02:12:26 +0000 (19:12 -0700)]
Add unsidebar_whitelist command.

This pairs with the sidebar_whitelist command, and operates like the
other "un..." list commands.

8 years agomerge stable
Kevin McCarthy [Thu, 8 Sep 2016 01:56:50 +0000 (18:56 -0700)]
merge stable

8 years agoFix sidebar documentation a bit. (closes #3859)
Kevin McCarthy [Thu, 8 Sep 2016 01:54:54 +0000 (18:54 -0700)]
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.

8 years agomerge stable
Kevin McCarthy [Tue, 6 Sep 2016 02:04:43 +0000 (19:04 -0700)]
merge stable

8 years agoAdd missing sidebar contrib sample files to dist tarball.
Kevin McCarthy [Tue, 6 Sep 2016 01:50:33 +0000 (18:50 -0700)]
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.

8 years agomerge stable
Kevin McCarthy [Mon, 5 Sep 2016 19:44:15 +0000 (12:44 -0700)]
merge stable

8 years agoStub out getdnsdomainname() unless HAVE_GETADDRINFO.
Kevin McCarthy [Mon, 5 Sep 2016 19:35:19 +0000 (12:35 -0700)]
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.

8 years agoAutoconf: always check for getaddrinfo().
Kevin McCarthy [Mon, 5 Sep 2016 19:22:58 +0000 (12:22 -0700)]
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.

8 years agomerge stable
Kevin McCarthy [Mon, 5 Sep 2016 01:57:08 +0000 (18:57 -0700)]
merge stable

8 years agoFix pgpring reporting of DSA and Elgamal key lengths. (closes #3867)
Guilhem Moulin [Mon, 5 Sep 2016 01:50:28 +0000 (18:50 -0700)]
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.

8 years agoPreserve message-id and mft headers for recalled messages. (closes #3081)
Kevin McCarthy [Sat, 3 Sep 2016 23:19:38 +0000 (16:19 -0700)]
Preserve message-id and mft headers for recalled messages. (closes #3081)

Git patch creates a patch series mailbox, including the Message-ID.
Using this as draft files was removing the Message-ID, and thus
breaking the threaded structure.

The second part of the ticket has already been addressed by
95a2230ef889 (for ticket 3653).

Thanks to Chris Webb for the original patch.

8 years agomerge stable
Kevin McCarthy [Sat, 3 Sep 2016 02:33:35 +0000 (19:33 -0700)]
merge stable

8 years agoDisable ~X when message scoring. (closes #3861)
Kevin McCarthy [Sat, 3 Sep 2016 02:32:39 +0000 (19:32 -0700)]
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.

8 years agomerge stable
Kevin McCarthy [Fri, 2 Sep 2016 23:24:28 +0000 (16:24 -0700)]
merge stable

8 years agoIncrease date buffer size for $folder_format. (closes #3863)
Kevin McCarthy [Fri, 2 Sep 2016 23:20:37 +0000 (16:20 -0700)]
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.

8 years agoRedraw screen after an SSL cert prompt
David Champion [Wed, 31 Aug 2016 01:43:02 +0000 (18:43 -0700)]
Redraw screen after an SSL cert prompt

8 years agoMoves mutt_copy_list to muttlib.c, where it belongs.
David Champion [Tue, 30 Aug 2016 23:30:06 +0000 (16:30 -0700)]
Moves mutt_copy_list to muttlib.c, where it belongs.

8 years agoUpdate a confusing and obsolete comment.
David Champion [Tue, 30 Aug 2016 23:11:45 +0000 (16:11 -0700)]
Update a confusing and obsolete comment.

This 2004 comment in sort.h predicted what has recently come to pass, so
I'm reframing it just to document for future devs what's going on with
this oddball flag.

8 years agoFilter out zero width no-break space (U+FEFF).
Vincent Lefevre [Tue, 23 Aug 2016 11:32:31 +0000 (13:32 +0200)]
Filter out zero width no-break space (U+FEFF).

8 years agoAdd missing include <locale.h> to send.c and edit.c.
Kevin McCarthy [Tue, 23 Aug 2016 03:34:05 +0000 (20:34 -0700)]
Add missing include <locale.h> to send.c and edit.c.

8 years agoAdd $attribution_locale configuration variable.
Kevin McCarthy [Tue, 23 Aug 2016 03:04:59 +0000 (20:04 -0700)]
Add $attribution_locale configuration variable.

$attribution_locale replaces the just removed $locale, but is only
used for customizing the LC_TIME locale used for dates in
$attribution.

This could be useful in conjunction with folder or send-hooks for
recipients in different locales.

8 years agoRemove the $locale configuration variable.
Kevin McCarthy [Tue, 23 Aug 2016 03:04:52 +0000 (20:04 -0700)]
Remove the $locale configuration variable.

$locale was only used to set the LC_TIME locale.  Unfortunately, Mutt
previously defaulted to using "C".  This overrode the user's locale
setting and forced them to re-specify their locale inside their
.muttrc.

Remove $locale and instead use the locale specified by the
environment.  Mutt still allows "C locale" dates by using a leading
"!" in $date_format, ${}, etc.

Another use of $locale was to customize attribution dates using hooks.
The next commit will introduce $attribution_locale, which can be used
for this instead.

Thanks to Derek Martin for the original patch!

8 years agomerge default into stable
Kevin McCarthy [Thu, 18 Aug 2016 03:17:50 +0000 (20:17 -0700)]
merge default into stable

8 years agomutt-1.7.0 signed
Kevin McCarthy [Thu, 18 Aug 2016 03:14:07 +0000 (20:14 -0700)]
mutt-1.7.0 signed

8 years agoAdded tag mutt-1-7-rel for changeset a4e83f60e42f
Kevin McCarthy [Thu, 18 Aug 2016 03:12:41 +0000 (20:12 -0700)]
Added tag mutt-1-7-rel for changeset a4e83f60e42f

8 years agoautomatic post-release commit for mutt-1.7.0 mutt-1-7-rel
Kevin McCarthy [Thu, 18 Aug 2016 03:12:28 +0000 (20:12 -0700)]
automatic post-release commit for mutt-1.7.0

8 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Thu, 18 Aug 2016 01:07:59 +0000 (18:07 -0700)]
Updated Japanese translation.

8 years agoUpdated Danish translation.
Morten Bo Johansen [Mon, 15 Aug 2016 17:17:47 +0000 (10:17 -0700)]
Updated Danish translation.

8 years agoUpdated Esperanto translation.
Benno Schulenberg [Mon, 15 Aug 2016 16:15:43 +0000 (09:15 -0700)]
Updated Esperanto translation.

8 years agoUpdated Dutch translation.
Benno Schulenberg [Mon, 15 Aug 2016 16:09:44 +0000 (09:09 -0700)]
Updated Dutch translation.

8 years agoUpdated Catalan translation.
Ivan Vilata i Balaguer [Wed, 10 Aug 2016 16:29:58 +0000 (09:29 -0700)]
Updated Catalan translation.

8 years agoUpdated French translation.
Vincent Lefevre [Wed, 10 Aug 2016 00:20:11 +0000 (02:20 +0200)]
Updated French translation.

8 years agoUpdated Russian translation.
Vsevolod Volkov [Tue, 9 Aug 2016 21:34:55 +0000 (14:34 -0700)]
Updated Russian translation.

8 years agoUpdated Ukrainian translation.
Vsevolod Volkov [Tue, 9 Aug 2016 21:32:21 +0000 (14:32 -0700)]
Updated Ukrainian translation.

8 years agoClear pager position upon returning to the index menu.
Kevin McCarthy [Mon, 8 Aug 2016 20:13:30 +0000 (13:13 -0700)]
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 <next-new-then-unread> 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 <next-new-then-unread> 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.

8 years agoUpdated French translation.
Vincent Lefevre [Sat, 6 Aug 2016 21:35:16 +0000 (23:35 +0200)]
Updated French translation.

8 years agoRemove nonsensical size check in mutt_choose_charset()
Kevin McCarthy [Fri, 5 Aug 2016 21:33:39 +0000 (14:33 -0700)]
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.

8 years agoFix memory leak in mutt_choose_charset().
Kevin McCarthy [Fri, 5 Aug 2016 20:43:04 +0000 (13:43 -0700)]
Fix memory leak in mutt_choose_charset().

8 years agoFix memleak in mh_read_dir() when sequence parsing fails.
Kevin McCarthy [Fri, 5 Aug 2016 20:43:00 +0000 (13:43 -0700)]
Fix memleak in mh_read_dir() when sequence parsing fails.

8 years agoUpdate copyright notices.
Kevin McCarthy [Fri, 5 Aug 2016 18:02:44 +0000 (11:02 -0700)]
Update copyright notices.

8 years agoExplicitly NULL unimplemented pop mx_ops functions.
Kevin McCarthy [Wed, 3 Aug 2016 02:18:53 +0000 (19:18 -0700)]
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.

8 years agoUse the ctx->mx_ops instead of calling mx_get_ops()
Kevin McCarthy [Wed, 3 Aug 2016 02:18:46 +0000 (19:18 -0700)]
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.

8 years agoUse a different flag in mx_open_mailbox_append() when mailbox doesn't exist.
Kevin McCarthy [Tue, 2 Aug 2016 01:25:28 +0000 (18:25 -0700)]
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.

8 years agoConvert mx_open_mailbox_append() to use ctx->mx_ops.
Kevin McCarthy [Mon, 1 Aug 2016 22:04:45 +0000 (15:04 -0700)]
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.