Check the base64 decoding retval in auth_gss.

Abort if the value is not decodable.
Change auth_gss to to use buffers and the buffer pool.

Ticket #100 revealed that even a bufsize of 8192 isn't guaranteed to
be big enough.  Convert those large buffers to use the buffer pool
Add mutt_buffer helpers for base64 conversion.

Add mutt_buffer_from_base64() mutt_buffer_to_base64() to help with
transitioning to buffers.
Add mutt_buffer_len() helper.
c483d3c3 — Vincent Lefevre 10 days ago
Updated French translation.
Create <group-chat-reply> function.

This function differs from <group-reply> only in that it preserves To
recipients in the original email as To recipients in the reply.

The merits of this function aren't without controversy; therefore it
is left unbound by default.  Those who care about such things are free
to bind it.

Combine reply operation handlers in the pager and curs_main, since the
code was the same with the exception of the flags used.
d79cb6b7 — Vincent Lefevre 12 days ago
Updated French translation.
f03088ea — Vincent Lefevre 12 days ago
corrected typo from dad0eb255fddbef5f14772b85b32acf6f2ca7996
Add an error message for <descend-directory>.

Don't allow the operation on a non-directory.  Print a message
indicating it's not a directory.
Separate out op variable in the browser.

The i variable is used in several places and scopes as a temporary
index variable, but is also used to record the current operation.
Separate them out to make the code less confusing.
Merge branch 'stable'
automatic post-release commit for mutt-1.11.3
Update UPDATING file for 1.11.3 release.
dad0eb25 — Corey Minyard 17 days ago
Allow descending into maildir and mh directories in file browser

Some (maybe most) IMAP mail systems allow folders to be nested inside
folders, so you can have, say, an Inbox with more folders inside it.
However, in the file browser, mutt will only open a maildir/mh
directory as a mailbox, there is no way to get to the child mailboxes.

This change adds a function <descend-directory> that forces mutt to
descend into the directory.  It is unbound by default.

Signed-off-by: Corey Minyard <>
Merge branch 'stable'
Show top-level decoded smime text/plain parts.

Commit 331d9d5a attempted to fix a problem with an attachment having
extension .p7m.  The attachment menu tried to decode and failed, and
the part ended up being replaced by a bogus text/plain part.

The problem is that crypt_smime_decrypt_mime() returns a text/plain
part if the decode fails, meaning we can't distinguish failure from
success in this case.

As a compromise, only use a text/plain resulting from a single
top-level application_smime part.  This will allow for the case of an
text/plain encoded email, but won't end up hiding attachments that
were not decoded.
Simplify nested smime handling in the attachment menu.

Since changeset 2fd6f99b allows nested encryption handling, there is
no need to deal with the nesting directly.  Instead, just recursive as
with other nested handling.
Merge branch 'stable'
Improve attachment menu for s/mime parts. (closes #113)

Don't prompt for passphrase or getkeys, or set the ENCRYPT flag, for
OPAQUE types.

Don't recurse on "text" output from decrypt_mime().  There is no
reason to recurse on a text type.  Additionally, the
mutt_read_mime_header() will return an empty text type even if the
decode doesn't generate mime output.  In those cases, we want to show
the original attachment.
Merge branch 'stable'