]> granicus.if.org Git - mutt/log
mutt
5 years agoConvert to use gitlab registry image ubuntu:18.04.
Kevin McCarthy [Fri, 30 Nov 2018 23:12:47 +0000 (15:12 -0800)]
Convert to use gitlab registry image ubuntu:18.04.

The gitlab registry image is built using the Dockerfile in
muttmua/docker-images/tree/master/ubuntu/18.04/

Turn off the scan-build-5.0.  I never look at those reports and they
run very slowly.

Also, for now just compile for gnutls, to speed up the check further.

(cherry picked from commit f34cb1fb8468f74894818343dd8d95da5c0c640d)

5 years agoFix gnutls tls_socket_write() to properly retry.
Kevin McCarthy [Mon, 21 Jan 2019 19:56:04 +0000 (11:56 -0800)]
Fix gnutls tls_socket_write() to properly retry.

Retry on GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED.  This prevents an
aborted send due to a SIGWINCH, for instance.

Change tls_socket_read() to follow the same flow.  Don't bother
checking gnutls_error_is_fatal() because return codes besides AGAIN
and INTERRUPTED end up closing the connection regardless.  (We don't
handle handshakes and negotations during send/receive).

5 years agoUpdate the muttrc man page with added commands.
Kevin McCarthy [Sat, 19 Jan 2019 04:46:07 +0000 (20:46 -0800)]
Update the muttrc man page with added commands.

Add the "color compose", index-format-hook, and echo commands.

Add the HMS relative date units.

5 years agoWrap ssl init calls for LibreSSL too.
Kevin McCarthy [Thu, 10 Jan 2019 17:56:41 +0000 (09:56 -0800)]
Wrap ssl init calls for LibreSSL too.

It looks like LibreSSL does not perform automatic initialization of
the library and error strings.

Since LibreSSL defines OPENSSL_VERSION_NUMBER as a "version 2",
add a check if LIBRESSL_VERSION_NUMBER is defined and call the
initialization functions for that case.

5 years agomx_open_mailbox: provide output buffer to realpath(3)
Fabian Groffen [Thu, 10 Jan 2019 15:03:02 +0000 (16:03 +0100)]
mx_open_mailbox: provide output buffer to realpath(3)

Starting with POSIX.1.2008 resolved_path can be NULL.
Systems implementing a standard before that crash.  Example of such
system is Mac OS X 10.5, the last version running on PowerPC hardware.

Since this is the only occurrance of the realpath(3) function in Mutt,
instead of wrapping it, just adjust this invocation.

Signed-off-by: Fabian Groffen <grobian@gentoo.org>
5 years agoFix compilation with LibreSSL <2.7.0. (closes #112)
Stefan Strogin [Tue, 8 Jan 2019 19:18:38 +0000 (21:18 +0200)]
Fix compilation with LibreSSL <2.7.0. (closes #112)

(cherry picked from commit 9c9bea5e04e2a562017af0ac7a27b1b0e00e8907)

5 years agoautomatic post-release commit for mutt-1.11.2 mutt-1-11-2-rel
Kevin McCarthy [Tue, 8 Jan 2019 01:39:19 +0000 (17:39 -0800)]
automatic post-release commit for mutt-1.11.2

5 years agoAdd UPDATING notes for 1.11.2 release.
Kevin McCarthy [Tue, 8 Jan 2019 01:26:53 +0000 (17:26 -0800)]
Add UPDATING notes for 1.11.2 release.

5 years agoUpdate copyright for the next stable release.
Kevin McCarthy [Sat, 5 Jan 2019 21:25:38 +0000 (13:25 -0800)]
Update copyright for the next stable release.

5 years agoFix mkdtemp.c implementation.
Kevin McCarthy [Fri, 4 Jan 2019 19:20:05 +0000 (11:20 -0800)]
Fix mkdtemp.c implementation.

Two statements were indented on the same line under a for statement.
The second one would not be included in the loop, only being executed
after the loop finishes.

This is obviously an error, as it modifies the LETTERS entry being
used.

5 years agoMake a copy of x_label before encoding it for updates.
Kevin McCarthy [Fri, 28 Dec 2018 23:43:51 +0000 (15:43 -0800)]
Make a copy of x_label before encoding it for updates.

This isn't actually a bug.  Context->label_hash strdups the keys, so
we are safe from dangling references.  However, the subj_hash uses
direct references, so to keep things consistent and safe, make a copy
and encode that.

5 years agoRestore the xlabel_changed reset.
Kevin McCarthy [Fri, 28 Dec 2018 00:24:27 +0000 (16:24 -0800)]
Restore the xlabel_changed reset.

The cherry pick accidentally obliterated the reset.  That flag is now
located in hdr->env->changed in the branch and is reset properly
elsewhere.  Keep it in place in the stable branch.

5 years agoRfc2047 encode and fold X-Label when writing updates.
Kevin McCarthy [Fri, 28 Dec 2018 00:08:36 +0000 (16:08 -0800)]
Rfc2047 encode and fold X-Label when writing updates.

Also, add a missing "skip" in mutt_copy_hdr() for the non-simple case.

These fixes were backported from the kevin/mutt_protected_header branch.

5 years agoHandle improperly encoded pgp/mime octetstream part.
Kevin McCarthy [Fri, 21 Dec 2018 18:13:17 +0000 (10:13 -0800)]
Handle improperly encoded pgp/mime octetstream part.

Some clients (or even mail servers) improperly encode the octetstream
part.

Thanks to Riccardo Schirone for the original merge request patch.
This commit also handles the attachment menu, and makes the decoding
conditional so it's not done if it isn't necessary.

(cherry picked from commit 450de4637f6590487a073b250da342a1400a3ac3)

6 years agoBackport postpone-encrypt cleanups from master.
Kevin McCarthy [Fri, 21 Dec 2018 03:39:39 +0000 (19:39 -0800)]
Backport postpone-encrypt cleanups from master.

Free the clear content after successfully postponing.

If the fcc fails, properly restore the clear content before returning
to the compose menu.

6 years agoFix compilation without deprecated OpenSSL 1.1 APIs
Rosen Penev [Mon, 3 Dec 2018 00:46:28 +0000 (16:46 -0800)]
Fix compilation without deprecated OpenSSL 1.1 APIs

6 years agoFix imap_sync_mailbox() hcache leak.
Kevin McCarthy [Thu, 13 Dec 2018 00:10:23 +0000 (16:10 -0800)]
Fix imap_sync_mailbox() hcache leak.

Uploading changed messages to the server ends up overwriting the
hcache.  Add a straightforward fix and a longish explanation comment
for the stable branch fix.

Add a TODO noting a better fix should be done in the master branch in
the future.

6 years agoFix possible smime crash if the read mime header p is NULL.
Kevin McCarthy [Wed, 12 Dec 2018 02:41:37 +0000 (18:41 -0800)]
Fix possible smime crash if the read mime header p is NULL.

6 years agoFix memory leak in smime.c.
Kevin McCarthy [Tue, 11 Dec 2018 23:29:57 +0000 (15:29 -0800)]
Fix memory leak in smime.c.

smime_application_smime_handler() was not freeing the BODY returned by
smime_handle_entity().

6 years agoFix mutt_parse_rfc822_line() if lastp parameter is NULL.
Kevin McCarthy [Sun, 9 Dec 2018 20:32:24 +0000 (12:32 -0800)]
Fix mutt_parse_rfc822_line() if lastp parameter is NULL.

It checked at the beginning before dereferencing, but not at the end.

Since lastp is only used for the user_hdrs case, move the local
variable and assignment inside that block to make it clear.

6 years agoFix classic gpg date parsing in list-keys.
Kevin McCarthy [Fri, 7 Dec 2018 03:22:59 +0000 (19:22 -0800)]
Fix classic gpg date parsing in list-keys.

GnuPG changed the format of their --with-colons output in 2.0.10.
Dates are now seconds since epoch.  Update the parse_pub_line() code
to detect the new format.

The GnuPG changes also separated pub and the first uid.  Since mutt
allows an empty uid field, the output is a bit less friendly now, with
an initial key without an uid.  I think that's acceptable, but
eventually we'll want to change the parsing behavior.

6 years agoFix typo in Finnish translation.
Kevin McCarthy [Mon, 3 Dec 2018 15:30:34 +0000 (07:30 -0800)]
Fix typo in Finnish translation.

Thanks to @Petteri3 for the patch.

6 years agoautomatic post-release commit for mutt-1.11.1 mutt-1-11-1-rel
Kevin McCarthy [Sat, 1 Dec 2018 19:38:36 +0000 (11:38 -0800)]
automatic post-release commit for mutt-1.11.1

6 years agoDocument Sender header as a default in $imap_headers.
Kevin McCarthy [Sat, 1 Dec 2018 19:27:20 +0000 (11:27 -0800)]
Document Sender header as a default in $imap_headers.

6 years agoAdd SENDER to default list of IMAP headers.
Kevin McCarthy [Thu, 29 Nov 2018 20:36:08 +0000 (12:36 -0800)]
Add SENDER to default list of IMAP headers.

This header is matched by the ~e and ~L patterns.  Those patterns
should work without the user having to know to add Sender to the list
of $imap_headers.  This was probably just an oversight.

6 years agoUpdated Polish translation.
Adam Golebiowski [Tue, 27 Nov 2018 23:19:38 +0000 (00:19 +0100)]
Updated Polish translation.

6 years agoFix QRESYNC crash after a large number of VANISHED messages.
Kevin McCarthy [Tue, 27 Nov 2018 21:55:04 +0000 (13:55 -0800)]
Fix QRESYNC crash after a large number of VANISHED messages.

When handling QRESYNC vanished, imap_expunge_mailbox() was called to
empty out the messages.  Various counters, including vcount are
updated by the mx_update_tables() after the expunge.

These counters need to be reset, because mx_update_context() will do
so once again at the end of reading new headers.  This can cause an
out of bounds access in v2r.

6 years agoautomatic post-release commit for mutt-1.11.0 mutt-1-11-rel
Kevin McCarthy [Sun, 25 Nov 2018 17:50:23 +0000 (09:50 -0800)]
automatic post-release commit for mutt-1.11.0

6 years agoBump release date.
Kevin McCarthy [Sun, 25 Nov 2018 17:33:53 +0000 (09:33 -0800)]
Bump release date.

6 years agoUpdated Danish translation.
Morten Bo Johansen [Sat, 24 Nov 2018 18:10:24 +0000 (10:10 -0800)]
Updated Danish translation.

6 years agoUpdated Russian translation.
Vsevolod Volkov [Sat, 24 Nov 2018 18:06:55 +0000 (10:06 -0800)]
Updated Russian translation.

6 years agoUpdated Ukrainian translation.
Vsevolod Volkov [Sat, 24 Nov 2018 18:04:00 +0000 (10:04 -0800)]
Updated Ukrainian translation.

6 years agoUpdate de.po
Olaf Hering [Fri, 23 Nov 2018 08:05:49 +0000 (09:05 +0100)]
Update de.po

Unwrap lines, because it is almost 2019.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
6 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Thu, 22 Nov 2018 17:10:48 +0000 (09:10 -0800)]
Updated Japanese translation.

6 years agoAdd L10N comments to several unclear messages.
TAKAHASHI Tamotsu [Sun, 18 Nov 2018 18:05:30 +0000 (10:05 -0800)]
Add L10N comments to several unclear messages.

Updating Japanese translation, I found that some of the updated messages
were a little hard to understand without reading the code.

Add comments to some messages I nearly translated in a wrong way.

6 years agoCzech translation update for Mutt 1.11.0
Petr Písař [Sat, 17 Nov 2018 13:55:58 +0000 (14:55 +0100)]
Czech translation update for Mutt 1.11.0

6 years agoUpdated fr.po for Mutt 1.11.0.
Vincent Lefevre [Sat, 17 Nov 2018 01:28:01 +0000 (02:28 +0100)]
Updated fr.po for Mutt 1.11.0.

6 years agoMinor fixes to UPDATING.
Kevin McCarthy [Thu, 15 Nov 2018 17:29:15 +0000 (09:29 -0800)]
Minor fixes to UPDATING.

6 years agoUpdate $index_format cross-references in manual.
Kevin McCarthy [Wed, 14 Nov 2018 22:13:47 +0000 (14:13 -0800)]
Update $index_format cross-references in manual.

Add index-format-hook to the list of hooks.

Add the list of configuration variables that use the expandos.

Add a note to $post_index_string that it uses the expandos.

6 years agoUpdate the UPDATING file for 1.11.0 release.
Kevin McCarthy [Tue, 13 Nov 2018 23:01:53 +0000 (15:01 -0800)]
Update the UPDATING file for 1.11.0 release.

6 years agoUpdated Simplified Chinese translation.
lilydjwg [Sat, 10 Nov 2018 14:51:34 +0000 (06:51 -0800)]
Updated Simplified Chinese translation.

6 years agoMinor edits to the README.
Kevin McCarthy [Wed, 7 Nov 2018 22:19:25 +0000 (14:19 -0800)]
Minor edits to the README.

6 years agoAdd some brief documentation on OAUTH support.
Kevin McCarthy [Wed, 7 Nov 2018 21:38:53 +0000 (13:38 -0800)]
Add some brief documentation on OAUTH support.

These are just pulled from Brandon's commit message.

6 years agoAdd monitor.h to extra_sources list.
Kevin McCarthy [Tue, 6 Nov 2018 23:54:45 +0000 (15:54 -0800)]
Add monitor.h to extra_sources list.

6 years agoAllow relative date hour/min/sec offsets.
Kevin McCarthy [Tue, 6 Nov 2018 21:21:20 +0000 (13:21 -0800)]
Allow relative date hour/min/sec offsets.

These might be useful for index-format-hook pattern matching for some
people.

6 years agoFix a few memory leaks for idna conversion.
Kevin McCarthy [Tue, 6 Nov 2018 19:02:01 +0000 (11:02 -0800)]
Fix a few memory leaks for idna conversion.

6 years agoDocument send-hooks are not executed for resumed messages.
Kevin McCarthy [Tue, 6 Nov 2018 01:44:20 +0000 (17:44 -0800)]
Document send-hooks are not executed for resumed messages.

6 years agoPrevent $charset from having multiple values.
Kevin McCarthy [Tue, 6 Nov 2018 00:19:03 +0000 (16:19 -0800)]
Prevent $charset from having multiple values.

Mutt relies on it being a single character set, but failed to make
sure of that in check_charset().

Thanks to Hans-Peter Jansen for reporting the problem, and to Mel
Gorman for working with me to track down the issue in his
configuration.

6 years agoAlways print mutt_buffer_pool_free() size debug output.
Kevin McCarthy [Wed, 31 Oct 2018 19:19:56 +0000 (12:19 -0700)]
Always print mutt_buffer_pool_free() size debug output.

So I can easily see the resulting size of the pool at the end of a
run.

6 years agoAdd a flag for dynamic date range evaluation in patterns.
Kevin McCarthy [Tue, 30 Oct 2018 18:53:37 +0000 (11:53 -0700)]
Add a flag for dynamic date range evaluation in patterns.

By default, Mutt evaluates relative date patterns, such as "~d<1d"
against the date when the pattern is compiled.

For index-format-hook, we need to pattern match against a message
based on the current date/time, so that for example, conditional date
format patterns correctly match after Mutt has been open for many
days/weeks.

Add a flag, MUTT_PATTERN_DYNAMIC, that changes ~d and ~r evaluation to
reevaluate the min/max range with each match.

This will of course be slower, but for the index, where a screenful of
messages at a time are evaluated, is an acceptable tradeoff against
accurate pattern matching.

6 years agoAdd index-format-hook and expando.
Kevin McCarthy [Mon, 29 Oct 2018 20:45:02 +0000 (13:45 -0700)]
Add index-format-hook and expando.

index-format-hook is used to allow dynamic insertion/evaluation of
format strings into $index_format.

It can be used, for example, to implement date formatting based on the
age of the message.

Add a new %@name@ expando to $index_format, which evaluates the
matching index-format-hooks with "name".

6 years agoFix memory leak on error in eat_regexp() and eat_date().
Kevin McCarthy [Tue, 30 Oct 2018 15:55:52 +0000 (08:55 -0700)]
Fix memory leak on error in eat_regexp() and eat_date().

6 years agoFix memleaks of saslconn on error paths
Peter Wu [Tue, 23 Oct 2018 10:29:26 +0000 (12:29 +0200)]
Fix memleaks of saslconn on error paths

If mutt_sasl_client_new returns an error, the callers would ignore the
allocated saslconn resource from sasl_client_new. Be sure to release
these with sasl_dispose as documented in sasl.h. Likewise, let callers
(POP/IMAP) dispose the resource on their error paths. SMTP was already
taken care of. Found with LeakSanitizer in IMAP.

6 years agoMinor syntactic cleanup in mutt_print_attachment().
Kevin McCarthy [Wed, 17 Oct 2018 00:42:35 +0000 (17:42 -0700)]
Minor syntactic cleanup in mutt_print_attachment().

Converting a return to a rc assignment accidentally left an extra
parenthesis.

6 years agoEnsure a resized empty buffer is null-terminated.
Kevin McCarthy [Wed, 17 Oct 2018 00:35:54 +0000 (17:35 -0700)]
Ensure a resized empty buffer is null-terminated.

The new buffer code is using the pool, which ensures its buffers are
null-terminated.

However, if a "new" buffer from another part of the code were passed
to one of the temporary interfaces that resizes the buffer, it's
possible a non-terminated string might end up being passed through.

It's reasonable to expect mutt_b2s() for a "new" buffer should be the
same as after it is resized larger.  So ensure the resulting buf->data
is properly terminated to avoid surprises.

6 years agoRemove conversion of nbsp to space.
Kevin McCarthy [Tue, 16 Oct 2018 23:04:57 +0000 (16:04 -0700)]
Remove conversion of nbsp to space.

Keep the behavior of it not line-breaking, but don't change it to a
space character when displaying.  This is so copy-paste from the pager
will preserve the nbsp, which is semantically important in some
locales.

6 years agoConvert mutt_print_attachment to use BUFFER.
Kevin McCarthy [Sun, 14 Oct 2018 21:35:21 +0000 (14:35 -0700)]
Convert mutt_print_attachment to use BUFFER.

6 years agoConvert mutt_view_attachment to use BUFFER.
Kevin McCarthy [Sun, 14 Oct 2018 21:02:20 +0000 (14:02 -0700)]
Convert mutt_view_attachment to use BUFFER.

6 years agoConvert mutt_edit_attachment to use BUFFER.
Kevin McCarthy [Sun, 14 Oct 2018 20:02:20 +0000 (13:02 -0700)]
Convert mutt_edit_attachment to use BUFFER.

6 years agoConvert mutt_compose_attachment to use BUFFER.
Kevin McCarthy [Sun, 14 Oct 2018 23:18:53 +0000 (16:18 -0700)]
Convert mutt_compose_attachment to use BUFFER.

6 years agoConvert mutt_get_tmp_attachment to use BUFFER.
Kevin McCarthy [Sun, 14 Oct 2018 19:52:30 +0000 (12:52 -0700)]
Convert mutt_get_tmp_attachment to use BUFFER.

6 years agoAdd mutt_buffer_adv_mktemp() transition function.
Kevin McCarthy [Mon, 15 Oct 2018 02:02:47 +0000 (19:02 -0700)]
Add mutt_buffer_adv_mktemp() transition function.

6 years agoAdd mutt_buffer_mktemp() transition function.
Kevin McCarthy [Mon, 15 Oct 2018 01:36:08 +0000 (18:36 -0700)]
Add mutt_buffer_mktemp() transition function.

This is self-contained and easy to translate, so instead just create
an alternate implementation using BUFFER.

6 years agoAdd rfc1524 buffer function interfaces for attach.c conversion.
Kevin McCarthy [Sun, 14 Oct 2018 22:48:07 +0000 (15:48 -0700)]
Add rfc1524 buffer function interfaces for attach.c conversion.

The rfc1524 functions call, and are called by, many functions that
need to be converted.  But to keep the conversion manageable, install
helper interface functions that pass the buffer->data and
buffer->dsize in and adjust the buffer->dptr afterwards.

6 years agoConvert the rest of mh.c to use BUFFER for file paths.
Kevin McCarthy [Wed, 10 Oct 2018 20:08:27 +0000 (13:08 -0700)]
Convert the rest of mh.c to use BUFFER for file paths.

  * mh_read_sequences
  * mh_sequences_changed
  * mh_already_notified
  * mh_mkstemp
  * mh_update_sequences
  * mh_sequences_add_one
  * maildir_update_time
  * maildir_delayed_parsing
  * maildir_open_mailbox_append
  * mh_open_mailbox_append
  * maildir_mh_open_message
  * maildir_open_new_message
  * _mh_commit_message
  * mh_rewrite_message
  * mh_sync_mailbox
  * mh_check_mailbox
  * maildir_check_empty
  * mx_is_maildir
  * mx_is_mh()

6 years agoAdd a comment about gnutls date bits in certstat.
Kevin McCarthy [Wed, 10 Oct 2018 19:50:15 +0000 (12:50 -0700)]
Add a comment about gnutls date bits in certstat.

It's easy to miss the call disabling date checking and wonder why the
certstat bits are not set.

6 years agoChange gnutls certificate_file processing and interactive prompts.
Kevin McCarthy [Tue, 9 Oct 2018 21:39:09 +0000 (14:39 -0700)]
Change gnutls certificate_file processing and interactive prompts.

Accept a saved cert at any point in the chain, except for those
revoked or with invalid dates.

The INSECUREALG processing was a bit goofed up.  It was skipping the
prompt for every chain except the host, and was only displaying an
error for entry 1 (the host being 0, root being len-1).  Instead
prompt at any point, and display a warning as with the other errors.

Add a CERTERR_OTHER type to capture other bits.  Recently GnuTLS has
added additional certificate_status_t types.  We may want to improve
the prompts in the future for those, but for now at least make sure
it's recorded in certerr.

6 years agoFix gnutls (a)lways to properly save for all certerr values.
Kevin McCarthy [Tue, 9 Oct 2018 20:28:15 +0000 (13:28 -0700)]
Fix gnutls (a)lways to properly save for all certerr values.

For the case of SIGNERNOTCA, INSECUREALG, or a newer unhandled value,
the "(a)ccept always" prompt was allowed, but the cert saving was
prevented by a check only against NOTTRUSTED.  This ended up giving a
strange error message saying the cert was not saved.

Fix to save the cert for all errors except HOSTNAME (which is handled
separately).

6 years agoConvert maildir_canon_filename() and callers to use BUFFER.
Kevin McCarthy [Mon, 8 Oct 2018 02:08:42 +0000 (19:08 -0700)]
Convert maildir_canon_filename() and callers to use BUFFER.

Callers are maildir_check_mailbox(), _maildir_open_find_message(), and
maildir_open_find_message().

6 years agoConvert maildir_sync_message to use BUFFERs.
Kevin McCarthy [Sun, 7 Oct 2018 23:17:36 +0000 (16:17 -0700)]
Convert maildir_sync_message to use BUFFERs.

6 years agoConvert _maildir_commit_message to use BUFFER.
Kevin McCarthy [Sun, 7 Oct 2018 22:48:17 +0000 (15:48 -0700)]
Convert _maildir_commit_message to use BUFFER.

6 years agoConvert maildir_parse_dir to use BUFFER.
Kevin McCarthy [Sun, 7 Oct 2018 22:31:40 +0000 (15:31 -0700)]
Convert maildir_parse_dir to use BUFFER.

Note: the uses of buf and tmp don't overlap, so we only use a single
BUFFER.

6 years agoConvert buffy_maildir_check_dir to use BUFFER.
Kevin McCarthy [Sun, 7 Oct 2018 22:18:34 +0000 (15:18 -0700)]
Convert buffy_maildir_check_dir to use BUFFER.

6 years agoConvert mix_send_message to use buffer pool.
Kevin McCarthy [Mon, 8 Oct 2018 17:36:13 +0000 (10:36 -0700)]
Convert mix_send_message to use buffer pool.

6 years agoCreate mutt_buffer_add_printf().
Kevin McCarthy [Mon, 8 Oct 2018 17:48:29 +0000 (10:48 -0700)]
Create mutt_buffer_add_printf().

Change mutt_buffer_printf() to overwrite the buffer contents, like
mutt_buffer_strcpy().

mutt_buffer_add*() functions append to the buffer contents.

6 years agoConvert imap_rename and pgp_invoke_list_keys to use buffer pool.
Kevin McCarthy [Sat, 6 Oct 2018 22:07:27 +0000 (15:07 -0700)]
Convert imap_rename and pgp_invoke_list_keys to use buffer pool.

6 years agoAdd buffer pool functions.
Kevin McCarthy [Sat, 6 Oct 2018 20:53:33 +0000 (13:53 -0700)]
Add buffer pool functions.

Also add a few helper functions: mutt_buffer_clear(),
mutt_buffer_strcpy(), and a macro mutt_b2s to grab the buffer data as
a const char *.

6 years agoRearrange and clean up buffer functions.
Kevin McCarthy [Sat, 6 Oct 2018 20:08:13 +0000 (13:08 -0700)]
Rearrange and clean up buffer functions.

6 years agoBreak buffer functions into separate source file.
Kevin McCarthy [Sat, 6 Oct 2018 19:43:17 +0000 (12:43 -0700)]
Break buffer functions into separate source file.

6 years agoImprove info install/uninstall checks.
Kevin McCarthy [Fri, 5 Oct 2018 17:04:27 +0000 (10:04 -0700)]
Improve info install/uninstall checks.

Make sure install-info exists before using it.

Make sure target mutt.info exists before calling `install-info
--delete`.  Add a few missing '-f' force flags to removals during
uninstall.

6 years agoBuild info file documentation.
Kevin McCarthy [Thu, 4 Oct 2018 19:06:27 +0000 (12:06 -0700)]
Build info file documentation.

If docbook2x-texi and makeinfo are installed, convert the docbook file
to info and install as another source for the manual.

6 years agoAdapt translation of "Subject" in help text
Max Görner [Wed, 3 Oct 2018 20:36:32 +0000 (22:36 +0200)]
Adapt translation of "Subject" in help text

In the help text, "Subject" was not translated. Since it is translated
by "Betreff" at other locations, this was adapted.

6 years agoTranslate ERROR by FEHLER
Max Görner [Wed, 3 Oct 2018 20:32:44 +0000 (22:32 +0200)]
Translate ERROR by FEHLER

6 years agoAdd several "Durchkopplungsbindestrich" to some German translations
Max Görner [Wed, 3 Oct 2018 20:28:57 +0000 (22:28 +0200)]
Add several "Durchkopplungsbindestrich" to some German translations

While up to personal taste to a certain extent, in general it is more
appropriate to use dashes instead of spaces to to combine related but
distinct terms.

This commit introduces dashes, so called Durchkopplungsbindestriche, to
some of the terms, were found more suiting.

6 years agoFix typos in German translation
Max Görner [Wed, 3 Oct 2018 20:20:30 +0000 (22:20 +0200)]
Fix typos in German translation

There were some typos in the German translation. Those found by a brief
inspection are fixed now.

6 years agoConvert pgp_invoke_list_keys and mix_send_message to use BUFFERs.
Kevin McCarthy [Fri, 28 Sep 2018 22:08:19 +0000 (15:08 -0700)]
Convert pgp_invoke_list_keys and mix_send_message to use BUFFERs.

Both repetitively perform a lot of copying back in forth, which is
much cleaner with a BUFFER.

Note that in pgp_invoke_list_keys, if there are no hints uids->data
would be NULL.  However, the pgp_invoke() checks and wraps all the
format substitutions with NONULL.

6 years agoChange imap_rename_mailbox to use a BUFFER.
Kevin McCarthy [Fri, 28 Sep 2018 21:22:09 +0000 (14:22 -0700)]
Change imap_rename_mailbox to use a BUFFER.

6 years agoIncrease buffer sizes for some IMAP commands.
Kevin McCarthy [Fri, 28 Sep 2018 00:29:16 +0000 (17:29 -0700)]
Increase buffer sizes for some IMAP commands.

Use to ensure assembled IMAP commands fit in the resultant buffer to
be imap_exec()'ed.

RFC2683 suggested a limit of 1000, but asked servers to accept up to
8000.  Furthermore, RFC7162 bumped the client limit suggestion up to
8192.  So I don't believe any issues will be caused by this.

Most of these are increases are just to remove theoretical truncation
warned about by the compiler; I don't believe we've had reports of
actual command truncation due to a mailbox 1024 characters long.

6 years agoAdd regfree to configure regex test.
Kevin McCarthy [Thu, 27 Sep 2018 22:03:40 +0000 (15:03 -0700)]
Add regfree to configure regex test.

This allows to run the system regex lib even when compiling with
ASAN.  Previously, ASAN would report the regex_t leak and change the
exit code.

6 years agoFix non-threaded $sort_aux "reverse-" sorting.
Kevin McCarthy [Wed, 26 Sep 2018 02:03:56 +0000 (19:03 -0700)]
Fix non-threaded $sort_aux "reverse-" sorting.

The secondary sort was looking at (Sort & SORT_REVERSE) instead
of (SortAux & SORT_REVERSE), so wasn't even performing the reverse
based on the correct flag.

Additionally, afterwards, the primary sort was improperly applying a
reverse when the secondary sort returned non-zero.

Change SORTCODE() to look at SortAux when we are inside a secondary
sort.

Change AUXSORT() to return the result if the secondary sort returns
non-zero.  It is ugly to put a return inside the macro, but the check
for non-zero needs to be performed inside the AUXSORT if branch.

If the secondary sort returns 0, then the primary sort can still
compare index and apply a reverse as needed.

6 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 22 Sep 2018 16:57:30 +0000 (09:57 -0700)]
Merge branch 'stable'

6 years agoIncrease user/pass field sizes in auth_login.
Kevin McCarthy [Sat, 22 Sep 2018 16:53:55 +0000 (09:53 -0700)]
Increase user/pass field sizes in auth_login.

account.pass was previously increased to 256 in cd421c13.  Also, the
buf should be bigger than the user+pass+"LOGIN", so bump it up too.

6 years agoAdd output during smime_keys purpose flag checking.
Kevin McCarthy [Sat, 22 Sep 2018 00:13:02 +0000 (17:13 -0700)]
Add output during smime_keys purpose flag checking.

6 years agoSend imap keepalives for interactive filters.
Kevin McCarthy [Tue, 18 Sep 2018 02:40:22 +0000 (19:40 -0700)]
Send imap keepalives for interactive filters.

When viewing attachments externally with a (non-copiousoutput) mailcap
entry missing %s, the command is invoked as a filter, with the
attachment piped into stdin.  However, unlike a filter, the user
interacts with the command, instead of just displaying the output in
the pager.

Just as with the mutt_system() command, Mutt needs to send imap
keepalives to keep those connections from closing during the
potentially extended invocation.

Thanks to John Hawkinson for the bug report, and his suggested patch,
which this commit is based upon.

6 years agoRemove purpose checks in smime_keys.pl verify step.
Kevin McCarthy [Fri, 14 Sep 2018 21:23:04 +0000 (14:23 -0700)]
Remove purpose checks in smime_keys.pl verify step.

The purpose checks are subsequently performed, and added as a field to
the .index.  In any case, it turns out passing multiple '-purpose'
arguments isn't even correct: openssl appears to just use the last
one.

Thanks to David J. Weller-Fahy for reporting the problem, and for
including a possible patch.

6 years agoFree queries and alias_queries before exiting.
Kevin McCarthy [Fri, 14 Sep 2018 21:21:04 +0000 (14:21 -0700)]
Free queries and alias_queries before exiting.

6 years agoChange imap_conn_find() to always return an authenticated conn.
Kevin McCarthy [Thu, 13 Sep 2018 01:23:00 +0000 (18:23 -0700)]
Change imap_conn_find() to always return an authenticated conn.

With the flag MUTT_IMAP_CONN_NONEW, it was already ensured the
connection would be authenticated.  However, without that flag, an
error in opening the connection or authentication would still return
an idata.

The callers that didn't bother to check the state were still assuming
authenticated, because they were all subseqeuently issuing an
"authenticated state" command to the server.

Rather than add state checks to every caller, just change the function
to return NULL if the idata did not end up in an authenticated state.

Remove the now redundant state checks in imap_open_mailbox() and
imap_get_mailbox().

6 years agoChange compress examples to type "example" rather than "sect4".
Kevin McCarthy [Sun, 2 Sep 2018 21:43:04 +0000 (14:43 -0700)]
Change compress examples to type "example" rather than "sect4".

6 years agoClean up documentation link targets.
Kevin McCarthy [Sun, 2 Sep 2018 21:22:09 +0000 (14:22 -0700)]
Clean up documentation link targets.

Move link targets for iconv-hook and sidebar_whitelist to the
beginning of a section, rather than a link embedded inside a command.

6 years agoUpdated French translation.
Vincent Lefevre [Sun, 2 Sep 2018 18:53:41 +0000 (20:53 +0200)]
Updated French translation.