Remove support for OpenSSL <0.9.5

The current code provides a workaround for the absence of RAND_status in
OpenSSL versions before 0.9.5. The comments in the code indicate these
versions have to be supported, but as these versions are now more than
20 years old, this no longer applies. Removing this support simplifies the
code and on the small chance that anyone is still using such old versions,
breaking their build will actually be doing them a favor given the known
issues with these OpenSSL versions.
Add myself to the contributor list in the manual.

I didn't realize previous maintainers were in the list, so I guess I
should add myself. :-)
Allow tagging string config vars as L10N.

Translate them once in mutt_set_default().

Modify makedoc.pl to remove the N_() tag, and to also note the type as
"string (localized)".

The makedoc.pl already will ignore L10N comment so add a basic comment
above each config var in init.h.

I'm not tagging $crypt_protected_headers_subject because the spec now
says this should be "...".  I plan on implementing that change along
with other fixes before the next release.
Merge branch 'stable'
Fix doc install to check builddir first for bundled files.

Although some of the built files are bundled in the tarball, someone
could still try to build/install from a git checkout with a separate
build directory.  There might be other circumstances too, so better to
just add the check for now.
Merge branch 'stable'
Remove Muttrc and manual.txt from dist tarball files.

The Muttrc needs to be generated because of docdir substitution.  The
manual.txt may traditionally be generated by a different tool than the
one on my machine (lynx), so force that to be regenerated too.

It may still be necessary to just rebuild everything, but let's see if
this will do for stable for now.
Merge branch 'stable'
automatic post-release commit for mutt-1.14.2
Update UPDATING file for release.
Merge branch 'stable'
Fix mutt_pattern_comp() to not segv on a NULL pattern string.

The change to mutt_parse_score() could now result in a NULL score
pattern if the user specified ''.  It might be possible for this to
happen elsewhere too, so just add a check at the top of
mutt_pattern_comp() to handle the case.
Fix buffer pool buffer truncation with my_hdr and score commands.

The buffer pool is now used for command invocation, but unfortunately
a couple cases of mutt_buffer_init() were hidden in the my_hdr and
score command processors.

This would result in a shortened buffer being returned to the pool and
used later for something like the prompt - which expects LONG_STRING

Fix up the two places to instead copy the string over.  They don't
need to grab a large buffer pool sized hunk of memory.

Also, fix the mutt_buffer_pool_release() to resize upwards in case
future code does this.  I should have done this originally, but was
afraid it would paper over more serious issues.  :-/

Thanks to Armin Wolfermann for reporting the problem.
Merge branch 'stable'
Increase the buffer size in _mutt_get_field().

Not doing so caused the subsequent _mutt_enter_string() to use the
default buffer pool size of 1024 - negating the HUGE_STRING value
passed into _mutt_get_field().

(Once we fully transition to buffers, this awkwardness can go away...)
Refactor mutt_buffer_strip_formatting() inside of pager.c.

Rather than duplicate the logic, move the function back inside
pager.c.  Add a parameter to optionally remove attachment markers.

Inside fill_buffer(), use a stack-based buffer and directly assign the
buffer.data back to fmt, to keep it as fast as before.
Add cd command to change the current working directory.

Original Author: Christoph Berg <myon@debian.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
  translation strings.
Merge branch 'stable'
Add mitigation against DoS from thousands of parts.

A demonstration attack using a million tiny parts will freeze Mutt for
several minutes.  This is actually better than some other mail
software, but can still be a problem at large levels.

For now, set it to a very conservative 5000, but this can be adjusted
up (or down) if necessary.

Declare the previous stack-limit max depth as a constant too, and
decrease it down to 50.  Change the handler to return non-fatal "1" on
reaching the limit.
5bbc6be5 — Cyril Roelandt 12 days ago
Add default keybindings for common operations.

This adds the following bindinds:

- ^P for "history up"
- ^N for "history down"