Fix a few typos in the manual.
Add first version of MuttLisp.
This is somewhat simple enhancement to muttrc processing, not a
full-blown embedded scripting language. There are no variables,
functions, types, or abilities that compete with macros.
MuttLisp can be invoked using the "run" command. If
$muttlisp_inline_eval is set, it can also be invoked with a bare
parenthesis expression as a command argument.
$muttlisp_inline_eval defaults unset, to avoid breaking existing
configurations, which might have bare parenthesis arguments for
Add mutt_oauth2.py and README file.
This was contributed by Alexander Perlis to the mutt-dev mailing list.
mutt_oauth2.py.README contains the contents of his introduction email
for the script.
Create $copy_decode_weed, $pipe_decode_weed, $print_decode_weed.
$weed covers a bit too much functionality. It makes sense for it to
control the display of messages in the pager, along with forwarding
and replying. But (in my opinion) piping and copy/save-decode are
something users might like to set differently without affecting the
rest of Mutt's behavior.
$copy_decode_weed affects the <decode-copy> and <decode-save>
functions. I've defaulted this *unset*, despite that it breaks
backward compatibility, because I believe the header weeding is
surprising to users and loses important information when copy/saving a
$pipe_decode_weed affects <pipe-message> when $pipe_decode is set.
I've default this *set* for backward compatibility.
$print_decode_weed affects <print-message> when $print_decode is set.
I've default this *set* for backward compatibility.
Add a missing comma in the manual.
Add $tunnel_is_secure config, defaulting set.
The config variable is to resolve an ambiguity in Mutt about whether
using $tunnel is secure.
On the one hand, the examples in the manual show using ssh or a direct
pipe to a program. Many users do this to connect to an IMAP server
with PREAUTH configured, relying on the tunnel to be secured by ssh or
by the fact that it's a local pipe.
On the other hand, the Mutt connection code still respects
$ssl_starttls and $ssl_force_tls, as if the $tunnel connection were
not already secured.
After some discussion on mutt-dev, it seemed the best idea to assume
the connection is secure by default, in order to not break IMAP
PREAUTH connections, but to provide a configuration variable in case
there are situations where it is not.
Thanks to Aaron Schrab for the original idea of setting conn->ssf for
$tunnel in his patch to ticket 250.
Remove $ssl_starttls check for IMAP PREAUTH.
Checking $ssl_starttls provides no real protection, because an
attacker can just as easily spoof "* OK" and strip the STARTTLS
capability as it can spoof "* PREAUTH". The only way to really
protect again the MITM is through $ssl_force_tls.
Add documentation about STARTTLS, $tunnel, and the current PREAUTH
exception when using $tunnel.
The behavior of Mutt about $tunnel is somewhat inconsistent: is it
considered secure or not? For PREAUTH, to avoid breaking
configurations, we assume it is secure. But at the same time, Mutt is
still negotiating STARTTLS for other $tunnel connections.
This will be resolved in master for the next release; probably by
adding a $tunnel_is_secure config variable defaulting "yes" and
removing the STARTTLS negotiation in that case.
Add basic XOAUTH2 support.
This still relies on an external script to obtain the resource access
token. Since XOAUTH2 should be slowly going away, use the same
refresh_commands as with OAUTHBEARER.
Unlike OAUTHBEARER, XOAUTH2 must be explicitly added to the
To keep the shared functions simpler, convert them to use buffers.
RFC 7628 indicates that upon authentication failure the clients should
be sending an BASE 64 encoded '^a' ("AQ=="), to terminate the SASL
session, so change all the handlers to do that and read the following
response. The RFC doesn't comment about a line terminator being
required, but I assume it is, so add that too.
Add cd command to change the current working directory.
Original Author: Christoph Berg <firstname.lastname@example.org>
Use cases are saving attachments to some other place and others.
Modified by Kevin McCarthy:
- Fix up documentation to use cmdsynopsis/command/arg.
- Add muttrc.man entry.
- Fix compilation error.
- Clean up the parse_cd() function to use buffers and remove new
Update section "Terminal Keybindings" in the manual.
Also list ^Q, ^S and ^Z.
Note that not all bindings output by "stty -a" affect Mutt.
Add a brief section on stty to the manual.
Place it at the bottom of the keybindings section. It's by no means
complete, but may be helpful to point some beginners in the right
Fix 'gpg' -> 'GPG' in manual and autocrypt translation string.
Document change to exact-address writing behavior.
This script wraps running the editor inside a new GNU Screen or tmux
The script is derived from Aaron Schrab's script posted to mutt-dev,
but rewritten to run in a posix shell, automatically adjust between
tmux and screen, and with a bit more error checking.
Clarify sidebar sorting by path vs alpha/name.
The former only sorts by the path.
The latter two will sort by label if defined.
Fix spelling mistake in manual.
Document multipart/alternative inline part disposition for counting.
An initial multipart/alternative's top-level inline parts are also
counted via the "root" disposition.