]> granicus.if.org Git - mutt/log
mutt
6 years agoUpdated French translation.
Vincent Lefevre [Mon, 2 Jul 2018 10:39:14 +0000 (12:39 +0200)]
Updated French translation.

6 years agoAdd dependencies for keymap_alldefs.h in po/Makefile.in.in
Vincent Lefevre [Mon, 2 Jul 2018 10:25:13 +0000 (12:25 +0200)]
Add dependencies for keymap_alldefs.h in po/Makefile.in.in

These dependencies are based on those from Makefile.am and are needed
so that "make update-po" gets the new strings from OPS, etc.

6 years agosmime_handle_entity() cleanup.
Kevin McCarthy [Mon, 2 Jul 2018 03:43:24 +0000 (20:43 -0700)]
smime_handle_entity() cleanup.

Remove redundant NULL assignments after safe_fclose() calls.

Remove some trailing spaces.

smimeout can't be NULL, so remove the check around the output
translation block.

6 years agoVoid passphrase on s/mime decryption error.
Kevin McCarthy [Mon, 2 Jul 2018 03:13:11 +0000 (20:13 -0700)]
Void passphrase on s/mime decryption error.

Model this after pgp's pgp_decrypt_part(), which checks if fpout is
empty.

6 years agoAdd check-stats function to calculate mailbox statistics.
Anton Lindqvist [Fri, 29 Jun 2018 03:17:23 +0000 (20:17 -0700)]
Add check-stats function to calculate mailbox statistics.

This allows the statistics to be updated without setting
$mail_check_stats or before $mail_check_stats_interval has passed.

6 years agoAdd a reference to $copy in the $record documentation.
Kevin McCarthy [Wed, 27 Jun 2018 16:45:10 +0000 (09:45 -0700)]
Add a reference to $copy in the $record documentation.

6 years agoReset all MonitorContext state on context removal.
Kevin McCarthy [Wed, 27 Jun 2018 16:27:05 +0000 (09:27 -0700)]
Reset all MonitorContext state on context removal.

Reset both the descriptor and changed flag when the current context is
removed.  Don't make this dependent on the context being valid or
being found by monitor_resolve(), in case the context was closed due
to some type of error condition.

6 years agoFix MonitorContextDescriptor update on removal.
Kevin McCarthy [Wed, 27 Jun 2018 02:48:25 +0000 (19:48 -0700)]
Fix MonitorContextDescriptor update on removal.

Reset the context descriptor before checking for the monitor being
shared by another mailbox.  Technically, it would be set properly
during the next add, but it shouldn't be left incorrect.

6 years agoWork around open mailbox monitor code check issue.
Kevin McCarthy [Tue, 26 Jun 2018 00:54:43 +0000 (17:54 -0700)]
Work around open mailbox monitor code check issue.

The monitor code is too fast, and can result in all the changes for a
single directory stat update being missed.

Work around this issue by not recording stat time updates when the
check_mailbox() is triggered by the monitor.  This will cause the next
subsequent check to take another look.

6 years agoGenerate error if makedoc is missing a type.
Kevin McCarthy [Mon, 25 Jun 2018 20:13:55 +0000 (13:13 -0700)]
Generate error if makedoc is missing a type.

Add a comment in init.h to remind devs to update makedoc.c when adding
a new type.

Change makedoc to fail on a missing type.  Otherwise it's too easy to
miss the resulting problem in the documentation.

Credit goes to Eike Rathke for noting that it was too easy to forget
to do this, and something should be fixed.  I found his solution a bit
too complicated though, and opted for just adding comment and program
failure.

6 years agoMake make ctags actually work
Eike Rathke [Sat, 23 Jun 2018 08:25:15 +0000 (10:25 +0200)]
Make make ctags actually work

make ctags broke with

Making ctags in po
make[1]: Entering directory '.../mutt/po'
make[1]: *** No rule to make target 'ctags'.  Stop.
make[1]: Leaving directory '.../mutt/po'
Makefile:867: recipe for target 'ctags-recursive' failed
make: *** [ctags-recursive] Error 1

and once fixed the same in intl/

Note that this ctags target scatters tags files over directories.
If you use exuberant ctags then simply run
ctags -R
once in mutt's root dir instead.

6 years agoRemove uninitialized warning for mutt_get_stat_timespec().
Kevin McCarthy [Fri, 22 Jun 2018 03:42:55 +0000 (20:42 -0700)]
Remove uninitialized warning for mutt_get_stat_timespec().

The switch covers all the types, but in some cases the compiler still
complains.  Explicitly set tv_sec = 0 to silence the warning.

6 years agoUpdated Simplified Chinese translation.
Zero King [Tue, 19 Jun 2018 15:16:33 +0000 (15:16 +0000)]
Updated Simplified Chinese translation.

6 years agomutt_atol: better error handling.
Vincent Lefevre [Tue, 19 Jun 2018 07:45:29 +0000 (09:45 +0200)]
mutt_atol: better error handling.

* Detect overflow on negative numbers too (< LONG_MIN).

* Distinguish between format error and number overflow as already
  expected (e.g. for pgp_timeout and smime_timeout).

6 years agoReset errno to 0 before calling strtol and testing it in mutt_atol.
Vincent Lefevre [Tue, 19 Jun 2018 07:37:56 +0000 (09:37 +0200)]
Reset errno to 0 before calling strtol and testing it in mutt_atol.

Otherwise providing LONG_MAX+1 then LONG_MAX gave an error for LONG_MAX too.

6 years agoAllow larger passphrase timeout values
Eike Rathke [Mon, 18 Jun 2018 20:04:47 +0000 (22:04 +0200)]
Allow larger passphrase timeout values

This came up in the comp.mail.mutt newsgroup where a user wasn't
satisfied with the SHORT_MAX seconds ~9 hours limit on passphrase
timeouts.

For the first time made it necessary for the options parser to be
able to parse numbers as long values. Also, introduced
mutt_add_timeout() to detect possible overflow before adding a
timeout to a time_t value and truncate to TIME_T_MAX instead.

6 years agoUpdated French translation.
Vincent Lefevre [Mon, 18 Jun 2018 15:19:31 +0000 (17:19 +0200)]
Updated French translation.

6 years agoMerge branch 'stable'
Kevin McCarthy [Mon, 18 Jun 2018 11:35:24 +0000 (19:35 +0800)]
Merge branch 'stable'

6 years agocrypt-gpgme: prevent crash on bad S/MIME signature
Philipp Gesang [Mon, 18 Jun 2018 09:21:38 +0000 (11:21 +0200)]
crypt-gpgme: prevent crash on bad S/MIME signature

Inform the user about the fingerprint being unavailable instead
of crashing if the S/MIME signature is bad.

6 years agoConvert context and buffy to use nanosecond timestamps.
Kevin McCarthy [Thu, 14 Jun 2018 08:17:56 +0000 (16:17 +0800)]
Convert context and buffy to use nanosecond timestamps.

The inotify interface has an unfortunate side effect of making Mutt
react too quickly to new mail.  Sometimes, the mail is only
half-delivered when the mailbox is checked.  Because Mutt is using the
stat mtime - seconds resolution - this means it won't realize there
are more messages delivered during the same second.

Nanosecond resolution fields were standardized in POSIX.1-2008, so
check for and use those if they are available.

6 years agoUpdated French translation.
Vincent Lefevre [Thu, 14 Jun 2018 07:10:51 +0000 (09:10 +0200)]
Updated French translation.

6 years agoSupport for using OAUTHBEARER for smtp.
Brandon Long [Tue, 12 Jun 2018 21:11:47 +0000 (14:11 -0700)]
Support for using OAUTHBEARER for smtp.

This also means a bunch of smtp auth stuff is now compiled in by
default (with --enable-smtp) without having sasl

6 years agoInitial support for OAUTHBEARER for IMAP.
Brandon Long [Mon, 11 Jun 2018 17:39:49 +0000 (10:39 -0700)]
Initial support for OAUTHBEARER for IMAP.

Gmail supports RFC 7628 for using OAUTH with IMAP, and they really don't
like you using password based auth.  You can still enable "less secure
apps" and then generate an application specific password, but I figured it
was time to support it.

Being mutt, I punted on some of the "hard" work to an external script, ie
getting/refreshing the OAUTH tokens.  This avoids the issue of how do you
have a client-id and client-secret for an open source project, and the fact
that OAUTH discovery is still nascent, so you'd likely need separate things
for each of the providers.

At least for Gmail, you can use the oauth2.py script from Google's
gmail-oauth2-tools:
https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py

You'd need to get your own oauth client credentials for Gmail here:
https://console.developers.google.com/apis/credentials

Then, you'd use oauth2.py with --generate_oauth2_token to get a refresh
token, and configure mutt with:

set imap_authenticators="oauthbearer"
set imap_user="<email_address>"
set imap_pass=`/path/to/oauth2.py --quiet --user=<email_address>
--client_id=<client_id> --client_secret=<client_secret>
--refresh_token=<refresh_token>`

For this patch, I didn't add any new configuration, but I'm open to
suggestions on that.

The patch also only support SASL-IR to reduce round-trips to the server,
but it's certainly possible to change that if we think there are
OAUTHBEARER IMAP servers that don't support SASL-IR.  It also requires the
connection to be encrypted as the access token is re-usable for an hour or
so.  Again, Gmail only allows encrypted IMAP connections, not sure if any
OAUTHBEARER services allow non-encrypted.

Turns out that auth failure leaves you in SASL mode, so I have a hack to
issue a noop command on error.  Not sure if that's just OAUTHBEARER
oddness, or whether I should be using lower level mutt imap functions.

6 years agoMove mutt_getch() timeout value into curs_lib.c
Kevin McCarthy [Sun, 10 Jun 2018 00:51:30 +0000 (08:51 +0800)]
Move mutt_getch() timeout value into curs_lib.c

Change monitor.c to reference the curs_lib value, instead of
vice-versa.

We need to store the value for both monitor.c's poll and for
mutt_monitor_ch() to perform an initial non-blocking check of ncurses'
getch() buffer.

6 years agoSpelling mistake in debug message.
Vincent Lefevre [Fri, 8 Jun 2018 12:04:16 +0000 (14:04 +0200)]
Spelling mistake in debug message.

6 years agoMissing void in mutt_set_current_menu_redraw_full prototype
Vincent Lefevre [Fri, 8 Jun 2018 11:53:46 +0000 (13:53 +0200)]
Missing void in mutt_set_current_menu_redraw_full prototype

6 years agoGive a prototype for mutt_monitor_poll
Vincent Lefevre [Fri, 8 Jun 2018 11:49:32 +0000 (13:49 +0200)]
Give a prototype for mutt_monitor_poll

6 years agoQuick fix for ncurses buffering issue with inotify polling.
Kevin McCarthy [Wed, 6 Jun 2018 00:38:44 +0000 (17:38 -0700)]
Quick fix for ncurses buffering issue with inotify polling.

Ncurses does its own buffering for some character sequences, notable
Esc-prefixed input.  Add a non-blocking check for getch() before
performing the mutt_monitor_poll() call.

This is a quick fix, which I'll clean up more later.

6 years agoMerge branch 'stable'
Kevin McCarthy [Tue, 5 Jun 2018 04:43:41 +0000 (21:43 -0700)]
Merge branch 'stable'

6 years agoAdd GnuPG status fd checks for inline pgp.
Kevin McCarthy [Tue, 5 Jun 2018 04:31:33 +0000 (21:31 -0700)]
Add GnuPG status fd checks for inline pgp.

The difficulty is that "BEGIN PGP MESSAGE" could be a signed and
armored part, so we can't fail hard if it isn't encrypted.

Change pgp_check_decryption_okay() to return more status codes, with
>=0 indicating an actual decryption; -2 and -1 indicating plaintext
found; and -3 indicating an actual DECRYPTION_FAILED status code seen.

Fail hard on -3, but change the message for -2 and -1 to indicate the
message was not encrypted.

6 years agoMerge branch 'stable'
Kevin McCarthy [Mon, 4 Jun 2018 22:51:25 +0000 (15:51 -0700)]
Merge branch 'stable'

6 years agoAdd $pgp_check_gpg_decrypt_status_fd.
Kevin McCarthy [Mon, 4 Jun 2018 22:40:57 +0000 (15:40 -0700)]
Add $pgp_check_gpg_decrypt_status_fd.

If set (the default) mutt performs more thorough checking of the
$pgp_decrypt_command status output for GnuPG result codes.

Ticket #39 revealed that GnuPG (currently) does not protect against
messages that have been manipulated to contain an empty encryption
packet followed by a plaintext packet.

A huge thanks to Marcus Brinkmann for researching this issue, taking
the time to report it to us (and the GnuPG team), and taking even more
time to clarify exactly what needed to be checked for.   

6 years agoAdd new timeout functions to work with inotify monitors.
Kevin McCarthy [Mon, 4 Jun 2018 01:34:21 +0000 (18:34 -0700)]
Add new timeout functions to work with inotify monitors.

The ncurses timeout() function doesn't affect the new poll inside
mutt_monitor_poll().  This meant that $imap_keepalive and $timeout
were not being respected when the monitor was used.

Create mutt_getch_timeout(), which delegates to timeout() and sets a
timeout value mutt_monitor_poll() uses too.

6 years agoMerge branch 'stable'
Kevin McCarthy [Sun, 3 Jun 2018 21:54:41 +0000 (14:54 -0700)]
Merge branch 'stable'

6 years agoRevert showing real size for small files in mutt_pretty_size().
Kevin McCarthy [Sun, 3 Jun 2018 21:52:37 +0000 (14:52 -0700)]
Revert showing real size for small files in mutt_pretty_size().

I thought the change made in 0fa64ba9 was small enough not to matter,
but at least one long-time user took the time to track down the change
and request it be reverted.

6 years agoMerge branch 'stable'
Kevin McCarthy [Sun, 3 Jun 2018 21:42:41 +0000 (14:42 -0700)]
Merge branch 'stable'

6 years agoSwitch build scripts to use `` instead of $()
Kevin McCarthy [Sun, 3 Jun 2018 21:40:31 +0000 (14:40 -0700)]
Switch build scripts to use `` instead of $()

This is for older systems running Bourne shell as /bin/sh.

6 years agoChange direct mutt_getch() callers to handle new mail event.
Kevin McCarthy [Sun, 3 Jun 2018 21:05:13 +0000 (14:05 -0700)]
Change direct mutt_getch() callers to handle new mail event.

The inotify handler now returns -2 (timeout) on a new mail event.
Change the direct callers to ignore, so prompts aren't strangely
aborted.

Also, fix mutt_change_flag() to call mutt_refresh() before the
prompt.  Apparently ncurses getch() was doing this for us, but now
that we are polling STDIN instead, the prompt wasn't displaying.

6 years agoadd feature file monitoring with Linux inotify
GT [Sun, 3 Jun 2018 20:23:57 +0000 (20:23 +0000)]
add feature file monitoring with Linux inotify

6 years agoCorrect spelling mistakes.
Edward Betts [Fri, 1 Jun 2018 09:46:34 +0000 (10:46 +0100)]
Correct spelling mistakes.

6 years agoMerge branch 'stable'
Kevin McCarthy [Mon, 28 May 2018 21:29:45 +0000 (14:29 -0700)]
Merge branch 'stable'

6 years agofix inappropriate use of FREE() in ssl init error path
Oswald Buddenhagen [Sun, 6 Jan 2013 18:24:18 +0000 (19:24 +0100)]
fix inappropriate use of FREE() in ssl init error path

OpenSSL structures need to be freed with dedicated functions.

6 years agoRemove mutt_buffer_new() NULL retval checks.
Kevin McCarthy [Mon, 21 May 2018 22:12:47 +0000 (15:12 -0700)]
Remove mutt_buffer_new() NULL retval checks.

It will fail, rather than return NULL.

Further clean up imap_new_data() since it also had NULL checks for
safe_calloc() that shouldn't happen.

6 years agoFix mutt_strncmp size comparison for 'uncolor header'.
Kevin McCarthy [Mon, 21 May 2018 20:33:14 +0000 (13:33 -0700)]
Fix mutt_strncmp size comparison for 'uncolor header'.

Thanks to Fabian Groffen for pointing out the discrepancy.

mutt_extract_token() null-terminates the token,, so actually there is
no need to use "strncmp" for the comparison in this case.

However, since the token is being checked against Fields there is no
potential harm of a prefix match, so we should fix the number to be
consistent with the other token comparisons.

6 years agoautomatic post-release commit for mutt-1.10.0 mutt-1-10-rel
Kevin McCarthy [Sat, 19 May 2018 17:57:10 +0000 (10:57 -0700)]
automatic post-release commit for mutt-1.10.0

6 years agoUpdated Catalan translation.
Ivan Vilata i Balaguer [Thu, 17 May 2018 19:24:31 +0000 (12:24 -0700)]
Updated Catalan translation.

6 years agoUpdated Japanese translation.
TAKAHASHI Tamotsu [Thu, 17 May 2018 17:10:52 +0000 (10:10 -0700)]
Updated Japanese translation.

6 years agofr.po: updated Project-Id-Version and removed old translations.
Vincent Lefevre [Thu, 17 May 2018 10:45:39 +0000 (12:45 +0200)]
fr.po: updated Project-Id-Version and removed old translations.

6 years agoUpdated German translation.
Olaf Hering [Mon, 14 May 2018 07:12:11 +0000 (09:12 +0200)]
Updated German translation.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
6 years agoNote that $pgp/smime_self_encrypt now default to set.
Kevin McCarthy [Thu, 10 May 2018 16:12:19 +0000 (09:12 -0700)]
Note that $pgp/smime_self_encrypt now default to set.

6 years agoAdd note about libidn2 v2.0.0 or greater to UPDATING file.
Kevin McCarthy [Thu, 10 May 2018 16:00:21 +0000 (09:00 -0700)]
Add note about libidn2 v2.0.0 or greater to UPDATING file.

6 years agoUpdated Russian translation.
Vsevolod Volkov [Wed, 9 May 2018 16:32:48 +0000 (09:32 -0700)]
Updated Russian translation.

6 years agoUpdated Ukrainian translation.
Vsevolod Volkov [Wed, 9 May 2018 16:30:55 +0000 (09:30 -0700)]
Updated Ukrainian translation.

6 years agoAdd declaration checks for libidn2.
Kevin McCarthy [Wed, 9 May 2018 02:32:12 +0000 (19:32 -0700)]
Add declaration checks for libidn2.

The libidn compatibilty layer was only added in version
2.0.0 (2017-03-29).  idn2.h defines macros, so use AC_CHECK_DECL
instead of AC_CHECK_FUNC.

$with_idn2 doesn't have an "auto" state, so remove a few unneeded
copy/paste checks from idn.

6 years agoUpdated Czech translation.
Petr Pisar [Tue, 8 May 2018 17:11:17 +0000 (10:11 -0700)]
Updated Czech translation.

6 years agoUpdate the UPDATING file for 1.10.0.
Kevin McCarthy [Sat, 5 May 2018 14:35:59 +0000 (07:35 -0700)]
Update the UPDATING file for 1.10.0.

6 years agoUpdated Danish translation.
Morten Bo Johansen [Sun, 6 May 2018 16:43:25 +0000 (09:43 -0700)]
Updated Danish translation.

6 years agoUpdated Simplified Chinese translation.
lilydjwg [Sat, 5 May 2018 14:39:36 +0000 (07:39 -0700)]
Updated Simplified Chinese translation.

6 years agoUpdated French translation.
Vincent Lefevre [Fri, 4 May 2018 00:43:56 +0000 (02:43 +0200)]
Updated French translation.

6 years agoAdd echo command.
Kevin McCarthy [Sun, 29 Apr 2018 22:10:21 +0000 (15:10 -0700)]
Add echo command.

Prints messages using mutt_message().  Sets OPTFORCEREFRESH to allow
updates in the middle of a macro.

Calls mutt_sleep(0) to pause for $sleep_time seconds after displaying
the message.

6 years agoMissing comma.
Vincent Lefevre [Thu, 3 May 2018 10:24:55 +0000 (12:24 +0200)]
Missing comma.

6 years agoUpdate copyright notices.
Kevin McCarthy [Tue, 1 May 2018 22:13:51 +0000 (15:13 -0700)]
Update copyright notices.

6 years agoUpdate pattern documentation.
Kevin McCarthy [Sat, 28 Apr 2018 20:21:42 +0000 (13:21 -0700)]
Update pattern documentation.

Note that ~b, ~B, ~h, ~M, and ~X read the message in, and that this
can be much slower.

Change =b, =B, =h table rows to document just the IMAP behavior.  The
"=" simple string behavior is already covered below, and makes it less
obvious whether "***)" should be added to those entries in the table.

Break up the simple string and imap server-side matching explanation
into two paragraphs.

Add ~M to the list of patterns you can't use message scoring with.

Add equivalent, if briefer, explanations to the muttrc.man page.

6 years agoAdd ~M pattern to match mime Content-Types.
Ammon Riley [Fri, 27 Apr 2018 01:00:00 +0000 (18:00 -0700)]
Add ~M pattern to match mime Content-Types.

6 years agoAdd more explanation of known vs subscribed lists to manual.
Kevin McCarthy [Mon, 30 Apr 2018 23:17:52 +0000 (16:17 -0700)]
Add more explanation of known vs subscribed lists to manual.

Mention in both the "Mailing Lists" and "Handling Mailing Lists"
sections the difference between known and subscribed mailing lists.

Note that the Mail-Followup-To header is generated if any of the
recipients are known mailing lists.  If any of those are subscribed
mailing lists, the sender's address will not be in the header.  If all
of them are known (but not subscribed), the sender's address will be
added to the header.

6 years agoUpdated French translation.
Vincent Lefevre [Mon, 23 Apr 2018 21:48:33 +0000 (23:48 +0200)]
Updated French translation.

6 years agoAdd Error History function and config var.
Kevin McCarthy [Sun, 22 Apr 2018 20:02:06 +0000 (13:02 -0700)]
Add Error History function and config var.

<error-history>, by default unbound, shows a list of the recent error
messages displayed by Mutt via mutt_message() or mutt_error().

$error_history sets the size of the history ring.

For now, I've decided to include mutt_message() messages too.  If this
is too chatty, we can restrict it to mutt_error() easily in the
future.

6 years agoUpdated French translation.
Vincent Lefevre [Fri, 20 Apr 2018 15:28:47 +0000 (17:28 +0200)]
Updated French translation.

6 years agoAdd $sort_browser options for count and unread.
Kevin McCarthy [Thu, 19 Apr 2018 22:40:35 +0000 (15:40 -0700)]
Add $sort_browser options for count and unread.

6 years agoAdd $browser_abbreviate_mailboxes.
Kevin McCarthy [Thu, 19 Apr 2018 20:51:07 +0000 (13:51 -0700)]
Add $browser_abbreviate_mailboxes.

This allows '=' and '~' mailboxes shortcuts to be turned off in the
browser mailbox list.

The default $sort_browser value of "alpha" uses strcoll(3), which
ignores some punctuation.  When using multiple accounts with
dynamically changing values of $folder, this can lead to an
unintuitive sorting order.  (See issue #22 for an example.)

This problem came about because of commit 8328ce68, which enabled
mutt_pretty_mailbox() calls for IMAP and POP mailboxes too.  The
commit had a valid point about consistency and too-wide mailbox
listings, so I don't really want to revert it.

This option provides an alternative to completely enable/disable the
shortcuts for those who run into an issue.

6 years agoFix mkreldate.sh in master to use [-r] test too.
Kevin McCarthy [Mon, 16 Apr 2018 23:32:33 +0000 (16:32 -0700)]
Fix mkreldate.sh in master to use [-r] test too.

6 years agoMerge branch 'stable'
Kevin McCarthy [Mon, 16 Apr 2018 23:31:08 +0000 (16:31 -0700)]
Merge branch 'stable'

6 years agoSwitch to using [ -r ] in version.sh for Bourne shell compatibility.
Kevin McCarthy [Mon, 16 Apr 2018 23:29:08 +0000 (16:29 -0700)]
Switch to using [ -r ] in version.sh for Bourne shell compatibility.

Thanks to Paul Keusemann for pointing out the issue.

6 years agoAdd a comment in auth_gss about RFCs and null-termination.
Kevin McCarthy [Sun, 15 Apr 2018 22:57:28 +0000 (15:57 -0700)]
Add a comment in auth_gss about RFCs and null-termination.

6 years agoAdd libidn2 support
Matej Muzila [Mon, 9 Apr 2018 11:46:42 +0000 (13:46 +0200)]
Add libidn2 support

6 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 14 Apr 2018 20:28:11 +0000 (13:28 -0700)]
Merge branch 'stable'

6 years agoautomatic post-release commit for mutt-1.9.5 mutt-1-9-5-rel
Kevin McCarthy [Sat, 14 Apr 2018 20:22:48 +0000 (13:22 -0700)]
automatic post-release commit for mutt-1.9.5

6 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 14 Apr 2018 03:48:28 +0000 (20:48 -0700)]
Merge branch 'stable'

6 years agoImprove gss debug printing of status_string.
Kevin McCarthy [Sat, 14 Apr 2018 03:39:35 +0000 (20:39 -0700)]
Improve gss debug printing of status_string.

Commit f52ee2f7 ensured the debug strings were properly '\0'
terminated.  However, it did not prevent the strncpy from reading past
the end of the status_string.value data; it simply capped it
afterwards.  Improve the code so it only reads up to
status_string.length without overwriting the buffer.

6 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 14 Apr 2018 02:17:24 +0000 (19:17 -0700)]
Merge branch 'stable'

6 years agoRemove trailing null count from gss_buffer_desc.length field.
Kevin McCarthy [Sat, 14 Apr 2018 02:03:29 +0000 (19:03 -0700)]
Remove trailing null count from gss_buffer_desc.length field.

RFC 2744 section 3.2.2 clearly states that trailing NULL characters
are not to be included in the length field, and are not to be assumed
to be present in the value field.

Thanks to Greg Hudson, who recently debugged this same issue with
fetchmail, and kindly took the time to look at Mutt's code too.

6 years agoMerge branch 'stable'
Kevin McCarthy [Mon, 9 Apr 2018 22:39:08 +0000 (15:39 -0700)]
Merge branch 'stable'

6 years agoRename _regex.h to _mutt_regex.h to avoid name collision on Macs.
Kevin McCarthy [Sun, 8 Apr 2018 22:37:09 +0000 (15:37 -0700)]
Rename _regex.h to _mutt_regex.h to avoid name collision on Macs.

On Macs, <regex.h> includes <_regex.h>.  Because Mutt defines '-I .'
during compilation, our bundled version of _regex.h was being used
instead of the system one.

I have no idea how it managed to work before, but starting in Xcode
9.3, the differences in struct size and fields started to produce a
crash and other strange behavior.

The real issue is our use of '-I .' during compilation, which allows
our local headers to override system ones.  An easier fix for now is
to rename the header.

Many thanks to Charles Diza, Christian Ebert, and Fabian Groffen for
their help trying things out and helping to debug the problem.

Also, a huge thanks to Steve Karmeinsky for allowing me to ssh in to
his Mac so I could track down the underlying issue.

6 years agoMerge branch 'stable'
Kevin McCarthy [Mon, 2 Apr 2018 18:36:05 +0000 (11:36 -0700)]
Merge branch 'stable'

6 years agoconfigure: check for tinfo matching ncurses
Kevin McCarthy [Mon, 2 Apr 2018 18:30:31 +0000 (11:30 -0700)]
configure: check for tinfo matching ncurses

When we selected ncursesw, look for tinfow as well.  Since ncurses-6.1
the binary compatibility between tinfo and tinfow disappeared, resulting
in crashes and other odd behaviour.

This change checks for tinfo or tinfow based on which ncurses we found
to continue with.

https://bugs.gentoo.org/651552

[Thanks to Fabian Groffen for the patch.  I made a minor modification
to fall back to tinfo because pre-6.1 systems may not have a tinfow
but still need tinfo to compile.]

6 years agoUpdated Polish translation.
Grzegorz Szymaszek [Mon, 2 Apr 2018 17:28:12 +0000 (10:28 -0700)]
Updated Polish translation.

6 years agopager specifc "show incoming mailboxes list" macro
Christian Ebert [Fri, 30 Mar 2018 12:37:54 +0000 (13:37 +0100)]
pager specifc "show incoming mailboxes list" macro

Exiting the pager before change-folder avoids 'Not available in this
menu' error when selecting a different entry in some circumstances.

6 years agoIncrease account.user/login size to 128.
Kevin McCarthy [Sat, 24 Mar 2018 22:10:13 +0000 (15:10 -0700)]
Increase account.user/login size to 128.

Like the pass field in commit 52949004, the existing size was
insufficient for the reporter of issue #18.  For now, just bump up the
size, but I'll move up looking into making these dynamically sized.

6 years agoRemove dead code in pgp.c
Kevin McCarthy [Fri, 23 Mar 2018 03:23:46 +0000 (20:23 -0700)]
Remove dead code in pgp.c

pgp_extract_keys_from_messages() has been subsumed by
crypt_extract_keys_from_messages().  The function had incorrect
multi-bit flag comparisons, but since it's dead code, remove it
instead.

6 years agoFix comparison of flags with multiple bits set.
Kevin McCarthy [Fri, 23 Mar 2018 03:04:46 +0000 (20:04 -0700)]
Fix comparison of flags with multiple bits set.

PGPENCRYPT, PGPKEY, SMIMEENCRYPT, and SMIMEOPAQUE are all combination
flags, with multiple bits set.  In a few places these flags were
bitwise-and'ed incorrectly: expecting a non-zero result to indicate
all the bits in the flag were set.  Change those to explicitly compare
the result against the original flag.

6 years agoUpdated French translation.
Vincent Lefevre [Fri, 23 Mar 2018 01:59:38 +0000 (02:59 +0100)]
Updated French translation.

6 years agoChange prompt string for $crypt_verify_sig
Kevin McCarthy [Thu, 22 Mar 2018 19:29:59 +0000 (12:29 -0700)]
Change prompt string for $crypt_verify_sig

Thanks to Michael Tatge for pointing out that the prompt is used for
both PGP and S/MIME.

6 years agoMerge branch 'stable'
Kevin McCarthy [Thu, 22 Mar 2018 16:39:49 +0000 (09:39 -0700)]
Merge branch 'stable'

6 years agoFix s/mime non-detached signature handling.
Kevin McCarthy [Thu, 22 Mar 2018 16:32:31 +0000 (09:32 -0700)]
Fix s/mime non-detached signature handling.

This fix is based on stbuehler's patch from
https://dev.gnupg.org/T2919.

Recent versions of gpgme seem to terminate the connection for a
protocol error.  stbuehler's analysis is that this is actually a
gpgme bug, but recreating the context works around the problem.

6 years agoChange mutt_error call in mutt_gpgme_set_sender() to dprint.
Kevin McCarthy [Thu, 15 Mar 2018 17:24:35 +0000 (10:24 -0700)]
Change mutt_error call in mutt_gpgme_set_sender() to dprint.

The message is not an error message, and flies by so quickly it has
little informative content.  Change it to use dprint instead.

Thanks to Darac Marjal for reporting the issue.

6 years agoUpdated French translation.
Vincent Lefevre [Wed, 14 Mar 2018 03:28:20 +0000 (04:28 +0100)]
Updated French translation.

6 years agoImprove the error message when a signature is missing.
Kevin McCarthy [Wed, 14 Mar 2018 02:09:45 +0000 (19:09 -0700)]
Improve the error message when a signature is missing.

Thanks to Vincent Lefèvre for reporting the issue and for the wording
suggestion!

6 years agoUpdated French translation.
Vincent Lefevre [Mon, 12 Mar 2018 11:24:24 +0000 (12:24 +0100)]
Updated French translation.

6 years agoAdd $abort_noattach and $abort_noattach_regexp options.
Kevin McCarthy [Sun, 11 Mar 2018 19:48:46 +0000 (12:48 -0700)]
Add $abort_noattach and $abort_noattach_regexp options.

$abort_noattach_regexp is matched against the body of a message.  If
so, the $abort_noattach quadoption is used to prompt whether to abort
sending.

Thanks to Antonio Radici for bringing the original version of the
patch to our attention, which he pulled from
https://github.com/tlvince/pkgbuild/blob/master/mutt-kiss/mutt-attach.patch

This version was rewritten to use a regexp, to fix a few issues, and
to better fit in with Mutt styles and conventions.

6 years agoMerge branch 'stable'
Kevin McCarthy [Sat, 3 Mar 2018 21:44:12 +0000 (13:44 -0800)]
Merge branch 'stable'