]> granicus.if.org Git - mutt/log
mutt
5 years agoConvert Commands to use the union pointer_long_t too.
Kevin McCarthy [Tue, 25 Jun 2019 21:25:33 +0000 (14:25 -0700)]
Convert Commands to use the union pointer_long_t too.

As with MuttVars, Commands was using an unsigned long to hold pointers
as well as enums.  Convert to use the same union type of MuttVars.

Adjust command functions data parameter type to the union.  Since
these are used outside init.c, relocate the union definition to
mutt.h.

Although the number of functions affected was long, most of them did
not need much adjustment.  Many of them made no use of the parameter.
Those that did were easily cast into an added "data" variable at the
top.

5 years agoFix the makedoc program to cope with the new MuttVars format.
Kevin McCarthy [Tue, 25 Jun 2019 02:41:30 +0000 (19:41 -0700)]
Fix the makedoc program to cope with the new MuttVars format.

Add '=' to token delimiter, to make the parsing more robust if
someone decides to add spaces between a designator and value.

5 years agoConvert MuttVars.data and .init to use a union type.
Kevin McCarthy [Tue, 25 Jun 2019 01:07:54 +0000 (18:07 -0700)]
Convert MuttVars.data and .init to use a union type.

They were using an "unsigned long" and casting to a pointer when
needed.  Obviously this has "worked" for a long time, but it's not
correct to assume a pointer can fit in unsigned long.

Replace with a union contain "void *p" and "long l".  Fortunately, the
only parts making direct use of MuttVars are in init.h and init.c, so
we just need to update those manipulation functions.

In general I don't like single letter variables, but brevity is worth
it in this case.

5 years agoDetail the documentation of %l for index_format.
Vincent Lefevre [Sun, 23 Jun 2019 00:05:43 +0000 (02:05 +0200)]
Detail the documentation of %l for index_format.

5 years agoAdd NULL checks to rfc1524_free_entry().
Kevin McCarthy [Sat, 22 Jun 2019 23:13:46 +0000 (16:13 -0700)]
Add NULL checks to rfc1524_free_entry().

The existing code was fine, but make it robust like other free
functions in mutt, so the behavior isn't surprising.

5 years agoClean up mutt_print_attachment() cleanup.
Kevin McCarthy [Sat, 22 Jun 2019 23:01:19 +0000 (16:01 -0700)]
Clean up mutt_print_attachment() cleanup.

Check if mutt_save_attachment() fails and abort the print in that
case.

5 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 22 Jun 2019 22:00:59 +0000 (15:00 -0700)]
Merge branch 'stable'

5 years agoMake sure mailcap test %s is sanitized.
Kevin McCarthy [Sat, 22 Jun 2019 21:57:36 +0000 (14:57 -0700)]
Make sure mailcap test %s is sanitized.

It's not clear to me if %s is allowed as part of a test field.
However since we are passing the attachment filename, we should
sanitize it first.

5 years agoRemove mutt_rfc1524_expand_filename() return value and checks.
Kevin McCarthy [Sat, 22 Jun 2019 20:33:11 +0000 (13:33 -0700)]
Remove mutt_rfc1524_expand_filename() return value and checks.

The return value was of dubious value.  It returned 0 only for the
case that a nametemplate was specified and it already matched the
supplied oldfile.

However, just because the nametemplate matched does not mean
attachment handling in send-mode should skip the mutt_adv_mktemp()
conversion, which includes a call to mutt_sanitize_filename().  We
didn't do so if *no* nametemplate was supplied.

Remove the return value from the function, and remove the checks and
"special handing" in attach.c calls.

5 years agoRemove unnecessary strcmp for mutt_view_attachment().
Kevin McCarthy [Sat, 22 Jun 2019 19:54:40 +0000 (12:54 -0700)]
Remove unnecessary strcmp for mutt_view_attachment().

mutt_rfc1524_expand_filename() runs the result through
mutt_adv_mktemp(), which will sanitize and relocate the filename under
$tmpdir.  The strcmp() is unneeded and distracting to the program
logic; none of the other routines perform or need this check.

5 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 22 Jun 2019 19:39:50 +0000 (12:39 -0700)]
Merge branch 'stable'

5 years agoFix compose and edit attachment symlink failure code.
Kevin McCarthy [Sat, 22 Jun 2019 19:35:58 +0000 (12:35 -0700)]
Fix compose and edit attachment symlink failure code.

In the case where safe_symlink() fail, mutt prompts to continue, but
did not properly reset the filename to be operated on.

Fix up mutt_view_attachment() to use the same flow as the others, to
allow for easier comparison.

5 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 22 Jun 2019 17:25:04 +0000 (10:25 -0700)]
Merge branch 'stable'

5 years agoFix send-mode printing when expand_filename() returns 1.
Kevin McCarthy [Sat, 22 Jun 2019 17:09:02 +0000 (10:09 -0700)]
Fix send-mode printing when expand_filename() returns 1.

It will return this when a nametemplate entry already matched the
passed in filename.  So this bug required both a print entry and an
already matching nametemplate entry to trigger.

5 years agoRemove NULL and 0 INITVAL declarataions.
Kevin McCarthy [Fri, 21 Jun 2019 20:40:52 +0000 (13:40 -0700)]
Remove NULL and 0 INITVAL declarataions.

The C standard says static storage duration variables will be
initialized to NULL/0.

5 years agoCombine DT_STR and DT_PATH in mutt_set_default().
Kevin McCarthy [Fri, 21 Jun 2019 20:36:09 +0000 (13:36 -0700)]
Combine DT_STR and DT_PATH in mutt_set_default().

19 years ago, they briefly performed different things, but the
mutt_pretty_mailbox() has been commented out since then.

5 years agoRemove UL "" initialization from init.h.
Kevin McCarthy [Fri, 21 Jun 2019 20:28:11 +0000 (13:28 -0700)]
Remove UL "" initialization from init.h.

mutt_init() calls mutt_set_default() followed by
mutt_restore_default().  The mutt_restore_default() calls
mutt_str_replace(), which translates "" into 0.

Therefore assigning "" to the option->init field simply wastes space
and (incorrectly) implies the option->data will be non-NULL by default.

5 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 15 Jun 2019 16:15:25 +0000 (09:15 -0700)]
Merge branch 'stable'

5 years agoautomatic post-release commit for mutt-1.12.1 mutt-1-12-1-rel
Kevin McCarthy [Sat, 15 Jun 2019 16:12:15 +0000 (09:12 -0700)]
automatic post-release commit for mutt-1.12.1

5 years agoUpdate UPDATING file for 1.12.1 release.
Kevin McCarthy [Sat, 15 Jun 2019 16:02:36 +0000 (09:02 -0700)]
Update UPDATING file for 1.12.1 release.

5 years agoMerge branch 'stable'
Kevin McCarthy [Fri, 14 Jun 2019 01:29:29 +0000 (18:29 -0700)]
Merge branch 'stable'

5 years agoAdd $fcc_before_send, defaulting unset.
Kevin McCarthy [Tue, 11 Jun 2019 20:15:22 +0000 (13:15 -0700)]
Add $fcc_before_send, defaulting unset.

When set, the message will be Fcc'ed the same as sent.  $fcc_clear and
$fcc_attach will be ignored.  This is because of the difficulty of
unwinding changes, notably Protected Headers, without potentially
breaking signatures.

5 years agoMerge branch 'stable'
Kevin McCarthy [Fri, 14 Jun 2019 00:58:56 +0000 (17:58 -0700)]
Merge branch 'stable'

5 years agoImprove $reverse_realname documentation.
Kevin McCarthy [Fri, 14 Jun 2019 00:56:38 +0000 (17:56 -0700)]
Improve $reverse_realname documentation.

Make it clear that, even if set, a missing realname part of the
matching address will be filled in by $realname.

5 years agoAllow imap_cmd_finish() to both expunge and fetch new mail.
Kevin McCarthy [Mon, 10 Jun 2019 21:51:50 +0000 (14:51 -0700)]
Allow imap_cmd_finish() to both expunge and fetch new mail.

Since commit dd327606 changed check_status setting to use bit
operators, and imap_check_mailbox() can call imap_cmd_finish() twice,
there is no reason to delay the processing of new mail until a second
call.

imap_read_headers() deals with msn_end < msg_begin, so remove
the (count > idata->max_msn) check.  This will allow the reopen flag
to be reset if somehow it's not the case.

5 years agoMerge branch 'stable'
Kevin McCarthy [Sun, 9 Jun 2019 18:12:23 +0000 (11:12 -0700)]
Merge branch 'stable'

5 years agoMention sources for ~p and ~P patterns.
Kevin McCarthy [Sun, 9 Jun 2019 18:07:16 +0000 (11:07 -0700)]
Mention sources for ~p and ~P patterns.

The manual only mentioned alternates.  Add $from and local
account/hostname to the list.

The man page implied the only source was alternates.  Change to the
same wording as the manual.

Thanks to @rear1019 for pointing out the misleading man page.

5 years agoMerge branch 'stable'
Kevin McCarthy [Fri, 7 Jun 2019 21:20:02 +0000 (14:20 -0700)]
Merge branch 'stable'

5 years agoImprove imap_append_message() error message handling.
Kevin McCarthy [Fri, 7 Jun 2019 20:43:36 +0000 (13:43 -0700)]
Improve imap_append_message() error message handling.

If the rc is IMAP_CMD_BAD, then either idata->buf is stale or an error
message has already been printed (in cmd_handle_untagged()).

Use imap_next_word() to skip over the next two words instead of
directly skipping over SEQLEN, in case the buffer is in a different
format.  We don't want to jump over the end of string.

Skip the mutt_error() if there is nothing to print.

5 years agoMerge branch 'stable'
Kevin McCarthy [Thu, 6 Jun 2019 23:22:18 +0000 (16:22 -0700)]
Merge branch 'stable'

5 years agoEnable the idata->check_status using bit operations.
Kevin McCarthy [Thu, 6 Jun 2019 23:03:42 +0000 (16:03 -0700)]
Enable the idata->check_status using bit operations.

Commit e3f66d7e fixed dropped new mail notications, removing the
unsetting of idata->reopen IMAP_NEWMAIL_PENDING in imap_cmd_finish()
when an EXPUNGE was processed.

However, imap_cmd_finish() can be called twice by
imap_check_mailbox().  First as part of the imap_exec(), and manually
again just below.

Now that the IMAP_NEWMAIL_PENDING still exists, a second call could
overwrite idata->check_status if both reopen flags were set.

This unfortunately affects update_index(), which behaves differently
for MUTT_REOPENED.

I need to change the return value of mx_check_mailbox() in master to
preserve all the bits, so the index can both notify of new mail and
update_index() properly.

For stable, the best fix is to use bit operators to enable the
check_status flags in imap_cmd_finish() (and cmd_parse_fetch for
flags), and keep the imap_check_mailbox() priority of setting its
return value (it prioritizes IMAP_EXCHANGE_PENDING).

5 years agoMerge branch 'stable'
Kevin McCarthy [Thu, 6 Jun 2019 20:48:23 +0000 (13:48 -0700)]
Merge branch 'stable'

5 years agoImprove robustness of imap_append_message().
Kevin McCarthy [Thu, 6 Jun 2019 20:38:03 +0000 (13:38 -0700)]
Improve robustness of imap_append_message().

First, check the imap_cmd_step() return value instead of looking at
idata->buf for "OK".  If the connection bombed and imap_cmd_step()
returned IMAP_CMD_BAD, the value of idata->buf is stale.

If the server returned "+ OK" for the command continuation request
response, the call to imap_code(idata->buf) would even end up
returning true, despite that the append failed!  (See #110, although
at the time of commit I can only hypothesize this is what is
happening.)

Second, check the status of the writes.  flush_buffer() was not
passing the rc from mutt_socket_write_n(), which was further making
the above disaster scenerio possible.

5 years agoCheck for GNU Make to allow version.h FORCE target.
Kevin McCarthy [Tue, 4 Jun 2019 22:47:57 +0000 (15:47 -0700)]
Check for GNU Make to allow version.h FORCE target.

If we're using GNU Make, the FORCE target allows automatically
updating the version number after each commit.

See commit 22c6df82

5 years agoMerge branch 'stable'
Kevin McCarthy [Wed, 5 Jun 2019 21:28:20 +0000 (14:28 -0700)]
Merge branch 'stable'

5 years agoFix dropped new mail notifications when an EXPUNGE_PENDING is set.
Kevin McCarthy [Wed, 5 Jun 2019 21:04:55 +0000 (14:04 -0700)]
Fix dropped new mail notifications when an EXPUNGE_PENDING is set.

Prior to the fetch_headers rework and introduction of
idata->max_msn (starting around e0376c75), cmd_handle_untagged() was
looking directly at ctx->msgcount, which isn't fixed up until
imap_expunge_mailbox().  At that time, more care had to be taken
inbetween handling the EXPUNGE message and the actual expunge of the
mailbox because of the discrepency between server state and mailbox
context state.

idata->max_msn is now decremented during the processing of EXPUNGE and
VANISHED notices from the server, so reflect "current" state.  So,
when we receive an EXISTS notice, we no longer need the checks for
expunge state and can always set the NEWMAIL_PENDING flag.

Additionally, fix imap_cmd_finish() to retain the IMAP_NEWMAIL_PENDING
flag after handling an expunge.  The expunge does not grab new
messages so dropping the flag would cause mutt to forget the new mail
status until another EXISTS command.

Since this is a stable branch fix, I'm leaving the either/or
processing of expunge versus new mail in imap_cmd_finish().  However,
I don't see why this has to be done in two calls.  I may rework that
in master to process an expunge and then the new mail one after the
other.

5 years agoChange --disable-doc to only skip manual generation.
Kevin McCarthy [Tue, 4 Jun 2019 02:08:21 +0000 (19:08 -0700)]
Change --disable-doc to only skip manual generation.

Instead of skipping the entire doc directory building, just skip the
manual.html, manual.txt, and mutt.info generation.

Generate and install the other files in the doc directory, which don't
have the same involved dependencies as the DocBook generated files.

5 years agoMerge branch 'stable'
Kevin McCarthy [Fri, 31 May 2019 16:41:53 +0000 (09:41 -0700)]
Merge branch 'stable'

5 years agoRemove FORCE prerequisite on version.h.
Kevin McCarthy [Fri, 31 May 2019 16:37:38 +0000 (09:37 -0700)]
Remove FORCE prerequisite on version.h.

This is causing package build issues on OpenBSD because of a
difference in make behavior.

In GNU make, it always invoke the 'version.h' target, but then checks
to see if version.h changed before retriggering targets with that
prerequisite.  On OpenBSD, invoking the version.h target always
retriggers targets with that prerequisite.

This means that updating the version information now requires a 'make
clean' or manual removal of version.h.

5 years agoMerge branch 'stable'
Kevin McCarthy [Thu, 30 May 2019 16:29:35 +0000 (09:29 -0700)]
Merge branch 'stable'

5 years agoMinor documentation correction.
Kevin McCarthy [Thu, 30 May 2019 16:27:15 +0000 (09:27 -0700)]
Minor documentation correction.

5 years agoRemove EXTRACT_MACROS check from EXTRACT_NUMBER in regex.
Kevin McCarthy [Tue, 28 May 2019 16:38:38 +0000 (09:38 -0700)]
Remove EXTRACT_MACROS check from EXTRACT_NUMBER in regex.

Commit 367b1135 converted EXTRACT_NUMBER to always call a function, to
enable the use of parameter types and local variables.  In doing this
it removed the separate DEBUG implementation.

The EXTRACT_MACROS check was accidentally left in, but no longer makes
sense outside of the DEBUG.

5 years agoRename --with-regex to --with-bundled-regex.
Kevin McCarthy [Tue, 28 May 2019 02:45:58 +0000 (19:45 -0700)]
Rename --with-regex to --with-bundled-regex.

This makes the configuration option purpose clearer.  Previously,
some distros enabled the option thinking it turned on a "regex" option
that should be enabled.

Closes #89.

5 years agoRemove undefined left-shift on negative value from regex.c.
Kevin McCarthy [Tue, 28 May 2019 02:36:34 +0000 (19:36 -0700)]
Remove undefined left-shift on negative value from regex.c.

Replace with a bitwise-or of the byte 1, byte 22, and a mask to extend
the sign bit.

Change the dest parameter type to unsigned int just to make sure the
compiler doesn't do anything tricky or get offended somehow.

See #89.

5 years agoChange mutt_addr_is_user() to no for a NULL address.
Kevin McCarthy [Sun, 26 May 2019 23:03:40 +0000 (16:03 -0700)]
Change mutt_addr_is_user() to no for a NULL address.

See ticket #140.

The behavior is generating a false 'F' flag for a spam message with an
unparsable From address.

After reviewing the callers, I can't see a reason returning 'yes' in
this case.

Commit 690c2945 fixed a potential segv issue, but the other callers
seem robust against this change in behavior.

5 years agoTurn on $ssl_force_tls by default.
Kevin McCarthy [Sun, 26 May 2019 21:34:42 +0000 (14:34 -0700)]
Turn on $ssl_force_tls by default.

Ticket #135 suggests that these days, it's better to force encryption
over all connections.  RFC8314 is recommending MUA's move in that
direction (actually even directing towards implicit TLS over
STARTTLS).

I'm enabling this at the beginning of the 1.13 development cycle to
give others time to chime in with any objections.  Personally, I've
had this option set myself for years.  The only place it could become
an issue is for a localhost IMAP server with no cert.  In that case,
it's easy enough to have an account hook unset if needed, and I think
a better idea that the user be forced to turn it off.

5 years agomake OP_HALF_{UP,DOWN} behave symmetric.
Sebastian Stark [Sun, 26 May 2019 16:52:47 +0000 (18:52 +0200)]
make OP_HALF_{UP,DOWN} behave symmetric.

  - the calculation of number of lines to scroll up/down should not
  depend on whether the number of rows in the pager/index/terminal is
  odd or even.
  - this patch will make the behaviour symmetric such that in both cases
  (even/odd number of rows) scrolling up and down by half a page (or the
  other way round) will get you back to the exact same line as before.

5 years agoDisable state messages for attachments when forwarding.
Kevin McCarthy [Sat, 25 May 2019 21:26:08 +0000 (14:26 -0700)]
Disable state messages for attachments when forwarding.

First, option(OPTVIEWATTACH) is only set for (s->flags & DISPLAY), so that
check can be ignored.

With that removed, all this is doing is printing
  [-- This is an attachment ...]
with no context in the middle of non-display rendering for the case
$honor_disposition is set with a handler.

This makes no sense and I believe is a logic error.  Perhaps this
never took effect, but with $forward_attachments it now affects
forwarding in that case.

5 years agoHave $forward_attachments look at attachment disposition.
Kevin McCarthy [Sat, 25 May 2019 20:12:04 +0000 (13:12 -0700)]
Have $forward_attachments look at attachment disposition.

If $honor_disposition is set, an "attachment" disposition decodable
attachment won't be included in the body, so we want it to be added as
an attachment to the forwarded email.

5 years agoautomatic post-release commit for mutt-1.12.0 mutt-1-12-rel
Kevin McCarthy [Sat, 25 May 2019 16:18:22 +0000 (09:18 -0700)]
automatic post-release commit for mutt-1.12.0

5 years agoSet UPDATING file release date for 1.12.0.
Kevin McCarthy [Sat, 25 May 2019 16:08:33 +0000 (09:08 -0700)]
Set UPDATING file release date for 1.12.0.

5 years agoMake mutt.texi and mutt.info generation continue on failure.
Kevin McCarthy [Mon, 20 May 2019 19:32:37 +0000 (12:32 -0700)]
Make mutt.texi and mutt.info generation continue on failure.

Add warning messages, noting the appropriate packages to install.

Note: mutt.texi won't normally be built unless configure finds one of
the possible expected conversion program names.  Unfortunately, the
canonical name, "docbook2texi", is used by both the docbook2x and
docbook-utils projects.

So on Arch, the canonical name is what we need, while on Debian and
Red Hat/Fedora it isn't.  We search for the alternative names first,
but it's still possible to invoke the wrong program if the needed
package is not installed.

5 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Mon, 20 May 2019 13:59:18 +0000 (06:59 -0700)]
Updated Japanese translation.

5 years agoAdjust docbook2texi program search.
Kevin McCarthy [Sun, 19 May 2019 21:40:08 +0000 (14:40 -0700)]
Adjust docbook2texi program search.

Look for db2x_docbook2texi first, because Fedora/Red Hat has their own
version of "docbook2texi": db2x_docbook2texi.  I'm not sure what to do
if they have don't have that installed but have docbook2texi
installed, since this is a terrible name collision.

Thanks to Moritz Barsnick for pointing out the different binary (and
package) names on Fedora.

5 years agoUpdate gpgme and gpg-error automake checks.
Kevin McCarthy [Sun, 19 May 2019 17:14:09 +0000 (10:14 -0700)]
Update gpgme and gpg-error automake checks.

Pull updated autoconf files from the GPGME 1.13.0 release and use
those new macros.

Add a call to AM_PATH_GPG_ERROR() and include $(GPG_ERROR_LIBS) in the
libraries.

Thanks to Eike Rathke for finding the build problem, and for his
patch fixing the issue.  I opted for just grabbing the newest autoconf
files from gpgme instead, but his fixed worked great too.

5 years agoUpdated Catalan translation.
Ivan Vilata i Balaguer [Wed, 15 May 2019 16:09:25 +0000 (09:09 -0700)]
Updated Catalan translation.

5 years agoAvoid undefined behavior on huge integer in a RFC 2231 header.
Vincent Lefevre [Wed, 15 May 2019 11:05:09 +0000 (13:05 +0200)]
Avoid undefined behavior on huge integer in a RFC 2231 header.

The atoi() function was called on the index, which can potentially
be huge in an invalid message and can yield undefined behavior. The
mutt_atoi() function is now used for error detection.

5 years agoAdd a "backticks in double quotes" example to the manual.
Kevin McCarthy [Tue, 14 May 2019 16:26:38 +0000 (09:26 -0700)]
Add a "backticks in double quotes" example to the manual.

5 years agoFix sample muttrc to use better quoting practices.
Kevin McCarthy [Tue, 14 May 2019 16:00:46 +0000 (09:00 -0700)]
Fix sample muttrc to use better quoting practices.

Use single quotes in the password encryption example.

For password decryption, put the backquotes inside double quotes to
avoid special characters being re-interpreted.

5 years agofr.po: updated Project-Id-Version for the 1.12 release
Vincent Lefevre [Mon, 13 May 2019 10:53:58 +0000 (12:53 +0200)]
fr.po: updated Project-Id-Version for the 1.12 release

5 years agoUpdated Czech translation.
Petr Pisar [Sun, 12 May 2019 20:59:16 +0000 (13:59 -0700)]
Updated Czech translation.

5 years agoUpdated Simplified Chinese translation.
lilydjwg [Sat, 11 May 2019 13:45:10 +0000 (06:45 -0700)]
Updated Simplified Chinese translation.

5 years agoUpdated Danish translation.
Morten Bo Johansen [Fri, 10 May 2019 20:18:46 +0000 (13:18 -0700)]
Updated Danish translation.

5 years agoUpdated Russian translation
Vsevolod Volkov [Fri, 10 May 2019 18:09:45 +0000 (11:09 -0700)]
Updated Russian translation

5 years agoUpdated Ukrainian translation
Vsevolod Volkov [Fri, 10 May 2019 18:07:41 +0000 (11:07 -0700)]
Updated Ukrainian translation

5 years agoUpdate de.po
Olaf Hering [Fri, 10 May 2019 14:03:48 +0000 (14:03 +0000)]
Update de.po

Unwrap lines, because it is 2019.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
5 years agoCheck for NULL addresses in mutt_addrcmp().
Kevin McCarthy [Fri, 10 May 2019 02:21:34 +0000 (19:21 -0700)]
Check for NULL addresses in mutt_addrcmp().

While looking into ticket #140, I noticed default_to() could pass a
NULL env->from to mutt_addrcmp() if $reply_self is set and there is a
reply_to address.

5 years agoAdd note about %r for the pgp_list_*_command vars.
Kevin McCarthy [Thu, 9 May 2019 20:48:44 +0000 (13:48 -0700)]
Add note about %r for the pgp_list_*_command vars.

In this case %r is the list of search strings.

5 years agoChange sample muttrc path to match other manual references.
Kevin McCarthy [Thu, 9 May 2019 20:25:25 +0000 (13:25 -0700)]
Change sample muttrc path to match other manual references.

The other parts of the manual refer to /usr/local/share/doc in their
examples.  For consistency, change the starter muttrc and manual entry
to do the same.

In the future, we may wish to have a config variable instead, so users
don't have to worry about system vs locally installed paths when
sourcing the gpg.rc, for instance.

5 years agoAdd sample starter muttrc to contrib.
Kevin McCarthy [Thu, 9 May 2019 02:28:21 +0000 (19:28 -0700)]
Add sample starter muttrc to contrib.

Add a mini-section with a link to the manual instead, under
"Configuration".

5 years agoFix typo in manual.
Kevin McCarthy [Tue, 7 May 2019 22:59:40 +0000 (15:59 -0700)]
Fix typo in manual.

5 years agoAdd a quick-starter config section to the manual.
Kevin McCarthy [Mon, 6 May 2019 22:35:38 +0000 (15:35 -0700)]
Add a quick-starter config section to the manual.

5 years agoAdd a test for NULL parameter attribute too.
Kevin McCarthy [Mon, 6 May 2019 19:37:04 +0000 (12:37 -0700)]
Add a test for NULL parameter attribute too.

Just to be sure we don't have any issues with the new continuation
code.  The mutt_set_parameter() code doesn't actively prevent a null
attribute.

5 years agoAdd a manual section on OpenPGP and S/MIME configuration.
Kevin McCarthy [Sun, 5 May 2019 20:26:59 +0000 (13:26 -0700)]
Add a manual section on OpenPGP and S/MIME configuration.

Talk about the required config variables, GPGME and classic mode,
agents, pinentry programs, and smime_keys.

5 years agoWrite rfc2231 parameter continuations for long parameters.
Kevin McCarthy [Thu, 2 May 2019 19:31:29 +0000 (12:31 -0700)]
Write rfc2231 parameter continuations for long parameters.

Previously, Mutt would truncate long attachment filenames, to avoid
writing an illegal length header line.  This commit is a followup to
4dcb3ba1, where I reverted an incorrect fix for the problem.

rfc2231_encode_string() now returns a list of continuations, with
encoding and continuation number suffixes already appended to the
attribute.  The function tries to keep the line length less than 78
characters, but the code is a bit imprecise as a trade off for
simplicity and readability.

Modify mutt_write_mime_header() to loop through the continuations.

5 years agoMissing word in UPDATING file.
Vincent Lefevre [Thu, 2 May 2019 13:44:16 +0000 (15:44 +0200)]
Missing word in UPDATING file.

5 years agoMinor UPDATING file fix.
Kevin McCarthy [Wed, 1 May 2019 22:23:04 +0000 (15:23 -0700)]
Minor UPDATING file fix.

5 years agoUPDATING file cleanups.
Kevin McCarthy [Wed, 1 May 2019 13:52:37 +0000 (06:52 -0700)]
UPDATING file cleanups.

Second quick pass.

5 years agoUpdate UPDATING file.
Kevin McCarthy [Wed, 1 May 2019 03:04:12 +0000 (20:04 -0700)]
Update UPDATING file.

This is a first pass to get something out quickly to testers.

5 years agoUpdated French translation.
Vincent Lefevre [Mon, 29 Apr 2019 11:03:44 +0000 (13:03 +0200)]
Updated French translation.

5 years agoCorrected minor errors in text related to $forward_attachments.
Vincent Lefevre [Mon, 29 Apr 2019 10:49:22 +0000 (12:49 +0200)]
Corrected minor errors in text related to $forward_attachments.

5 years agoFix mailbox search to not recompile for a repeated search.
Kevin McCarthy [Sun, 28 Apr 2019 22:48:33 +0000 (15:48 -0700)]
Fix mailbox search to not recompile for a repeated search.

The LastSearchExpn was being compared, but was never set to the
expanded search value.  This was causing the search to be recompiled
even if it were for the same previous expanded search string.

5 years agoNote the other parts of generated message-ids in the manual.
Kevin McCarthy [Sun, 28 Apr 2019 21:59:13 +0000 (14:59 -0700)]
Note the other parts of generated message-ids in the manual.

5 years agoAdd $forward_attachments quadoption for inline-forward mode.
Kevin McCarthy [Fri, 26 Apr 2019 02:41:04 +0000 (19:41 -0700)]
Add $forward_attachments quadoption for inline-forward mode.

When set or answered yes, non text-decodable parts will be attached to
the new message.  The default value is "ask-yes", because I believe
this is something people will want to use, and should be made aware of
the new possible behavior.

The option presents a nice middle ground between previous
inline-forwarding behavior (where all the non-text parts were
dropped), and $mime_forward where the entire email was included as an
attachment.

This was previously difficult to achieve, but after the
recv-attachment refactoring: (a19e5266^..faabd621)
it became possible to use the ATTACH_CONTEXT and the recvattach.c
helper mutt_generate_recvattach_list() to properly deal with nesting
and multiple file-handles.

5 years agoAdd note about IMAP browser and trailing delimiters.
Kevin McCarthy [Thu, 25 Apr 2019 16:26:43 +0000 (09:26 -0700)]
Add note about IMAP browser and trailing delimiters.

This is the same behavior as the regular browser, but I think still
deserves a quick mention.

Thanks to Charles for pointing out this section of the manual and
suggesting the addition.

5 years agoAdd RECURSIVEMATCH LIST-EXTENDED selection option to query.
Kevin McCarthy [Wed, 24 Apr 2019 02:06:11 +0000 (19:06 -0700)]
Add RECURSIVEMATCH LIST-EXTENDED selection option to query.

LSUB is required to include mailboxes with subscribed children, but
the just added "LIST (SUBSCRIBED)" by default does not do that.

To match previous behavior, add RECURSIVEMATCH to make sure the
children are included.  Fix the parser to trim off the CHILDINFO
suffix in the response.

Parse \NonExistent LIST attribute the same as \NoSelect.

5 years agoEnable the use of toggle-write from the pager.
Jeremy Sowden [Tue, 23 Apr 2019 21:15:31 +0000 (22:15 +0100)]
Enable the use of toggle-write from the pager.

Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
5 years agoImprove hierarchy information accuracy in IMAP browser
Naveen Nathan [Tue, 23 Apr 2019 17:04:05 +0000 (03:04 +1000)]
Improve hierarchy information accuracy in IMAP browser

Currently the IMAP browser relies on LIST and LSUB (for listing subscribed
folders) which may not provide the required hierarchy information.

RFC3348 section 3 goes as far as stating that a client mustn't rely on LSUB
for hierarchy information.

This patch implements the LIST command extensions specified in RFC5258
requiring that a server must respond with hierarchy information for
listed folders (whether or not filtering on subscribed folders).

5 years agoAdd $imap_fetch_chunk_size to allow FETCHing new headers in chunks.
Kevin McCarthy [Sun, 19 Aug 2018 16:25:53 +0000 (09:25 -0700)]
Add $imap_fetch_chunk_size to allow FETCHing new headers in chunks.

For extremely large mailboxes, some implementations will time out just
while fetching the new headers, because the client doesn't send any
commands for 30 minutes while downloading the large number of headers.

Rewrite imap_fetch_msn_seqset() to return chunks of size
$imap_fetch_chunk_size.

The change requires trusting the server will follow the RFC and not
send an EXPUNGE during or between the FETCH chunks; otherwise we'll
miss MSNs between the chunks because the shift.

We could in theory continue to set "msn_begin = idata->max_msn + 1",
but that makes the assumption there are no holes in the header cache
that we are filling in during a chunk.  Personally I am dubious about
"header cache holes", but the IMAP code has explicitly mentioned and
handled them since prior to my involvement.

Since the RFC forbids the interleaving EXPUNGE I believe it's safe
enough to set "msn_begin = fetch_msn_end + 1" until proven otherwise.

5 years agoAdd note about $mailcap_path generation to the documentation.
Kevin McCarthy [Mon, 22 Apr 2019 18:02:28 +0000 (11:02 -0700)]
Add note about $mailcap_path generation to the documentation.

5 years agoConvert mutt_parse_adrlist() to use BUFFER for simple parsing.
Kevin McCarthy [Mon, 22 Apr 2019 03:05:13 +0000 (20:05 -0700)]
Convert mutt_parse_adrlist() to use BUFFER for simple parsing.

5 years agoChange mutt_parse_mailboxes() to use the path BUFFER argument.
Kevin McCarthy [Mon, 22 Apr 2019 02:45:49 +0000 (19:45 -0700)]
Change mutt_parse_mailboxes() to use the path BUFFER argument.

Instead of copying to a buf[] variable, since the various utility
methods are now available to BUFFER too.

5 years agoHandle the same secret key appearing in multiple public keyrings
Julian Gilbey [Thu, 18 Apr 2019 15:30:38 +0000 (16:30 +0100)]
Handle the same secret key appearing in multiple public keyrings

Allow for S/MIME keys and the possibility of missing subkeys

5 years agoFix unistring library configure test.
Kevin McCarthy [Sun, 21 Apr 2019 18:00:23 +0000 (11:00 -0700)]
Fix unistring library configure test.

The "action-if-found" argument of AC_SEARCH_LIBS is run even if the
result is "none required" (i.e. the test function is already in LIBS,
in this case -lidn2).

This was causing "-lunistring" to be appended on a system without the
library installed, generating a build error.  Fix the test to not
append the library for the "none required" case.

Thanks to Fabrice Fontaine for reporting this issue and helping me
test the fix.

5 years agoRevert "Fix truncation of long filenames in attachments."
Kevin McCarthy [Sat, 20 Apr 2019 22:43:59 +0000 (15:43 -0700)]
Revert "Fix truncation of long filenames in attachments."

This reverts commit f476d0aecd6f88db5291427fced21a8e834ca181.

The commit allowed the generation of illegal length header lines.  A
correct fix needs to implement parameter continuations.

I will work on that, but in case I don't get it in before 1.12,
preserve the hard truncation.

5 years agoConvert remailer to use BUFFER for Mixmaster invocation.
Kevin McCarthy [Sat, 20 Apr 2019 20:00:28 +0000 (13:00 -0700)]
Convert remailer to use BUFFER for Mixmaster invocation.

5 years agoConvert compress to use mutt_buffer_quote_filename().
Kevin McCarthy [Sat, 20 Apr 2019 19:34:35 +0000 (12:34 -0700)]
Convert compress to use mutt_buffer_quote_filename().

Because the compress expandos operate differently than the rest of
mutt, requiring manual outer quoting, add a parameter to the function
to toggle outer quoting off.

Remove the now unused escape_path() function.

5 years agoUpdate po headers.
Kevin McCarthy [Sat, 20 Apr 2019 18:11:07 +0000 (11:11 -0700)]
Update po headers.

Add missing Language header.

Make the Project-Id-Version header consistent.

5 years agoIncrease mutt_pgpring path size to silence warning.
Kevin McCarthy [Fri, 19 Apr 2019 23:06:43 +0000 (16:06 -0700)]
Increase mutt_pgpring path size to silence warning.

This is an independent binary, and doesn't have access to the BUFFER
functions.  The binary is used by very few (if any) people at this
point, so just make the minimum fix to silence the warning.

5 years agoConvert pager help string to use BUFFER.
Kevin McCarthy [Fri, 19 Apr 2019 22:04:43 +0000 (15:04 -0700)]
Convert pager help string to use BUFFER.

Remove the awkward string truncation warnings, and remove helpstr and
tmphelp char arrays from the stack.

Because the pager is fairly long lived, allocate the helpstr instead
of using the pool.