md5.h, md5.c: updated to latest version from gnulib.
Buggy old md5.h causes problems with gcc 4.3 compiler. In
md5.h __attribute__ is #define'd to no-op and causes mutt_md5
to enter inifinite loop while calling memcpy().
Add imap_account_match wrapper over mutt_account_match that canonicalizes
accounts with imap_conn_find so that username comparison always work as
expected.
Brendan Cully [Sun, 19 Oct 2008 19:39:23 +0000 (12:39 -0700)]
Handle short writes in mutt_socket_write_d. See #3000.
Apparently even blocking I/O with signals masked can sometimes return
early.
Based on a patch by Patrick Welche.
Provide legacy implementations for iswalpha() and iswupper()
In mbyte.h and without using wc functions, only the prototypes were
defined but implementations were missing resulting in build
errors. These new functions are derived from the iswalnum() and
towupper() routines which don't provide full unicode coverage.
Rocco Rutte [Sun, 31 Aug 2008 18:56:28 +0000 (20:56 +0200)]
Manual: Harmonize generated function mappings with the rest of the manual.
This includes named keys such as "<Return>", attempts to use CamelCase
and leaves the key column for unbound functions empty so they're
visually easier to spot.
Rocco Rutte [Sun, 31 Aug 2008 13:27:11 +0000 (15:27 +0200)]
Manual: Use <quote/> quoting for DocBook rather than ``''.
All quotes characters are now rendered to Unicode quote chars
in the HTML output (as <xref/> does, too) but still " for
manual.txt.
Brendan Cully [Sun, 31 Aug 2008 02:59:42 +0000 (19:59 -0700)]
Rework timeout handling to support keepalive in the line editor.
Also allow keepalives of less than $timeout without returning before
$timeout, so people who don't want to be notified of new mail don't
have to be.
Only consider empty files non-existent for buffy's purpose.
According to SUS, the st_size member of struct stat is undefined
for directories. In case a system reports 0, the newly_created
flag will be set for a directory and the magic will be cleared.
If the folder type is cleared, mutt won't check the folder for
new mail and thus will ignore MH and Maildir type folders on
such a fs completely (e.g. the HAMMER fs on DragonFly BSD).
Brendan Cully [Wed, 27 Aug 2008 06:09:13 +0000 (23:09 -0700)]
Properly set the SASL external auth name when using SSL client certs.
Also zero out the account structure before filling it with available
data. Client certificates + SASL EXTERNAL were only working by luck.
Brendan Cully [Mon, 25 Aug 2008 07:52:17 +0000 (00:52 -0700)]
Introduce $imap_pipeline_depth.
This lets users control the number of commands that mutt will queue up
before sending them to the server. Setting this to 0 disables
pipelining, which should close #2892.
Brendan Cully [Mon, 25 Aug 2008 07:16:30 +0000 (00:16 -0700)]
Rework IMAP command queueing to allow pipelining to be disabled.
IDLE handling has been better abstracted, and there are fewer entry
points to the IMAP command issuing machinery. Any commands that
are simply queued may be executed whenever the pipeline fills,
instead of requiring explicit handling in the caller.
Tested on my Cyrus server, but I wouldn't be surprise if this causes
new problems.
Brendan Cully [Sat, 23 Aug 2008 22:21:42 +0000 (15:21 -0700)]
Fix infinite loop with "mutt -", introduced in [31c9e9727d42].
Treats - as a non-option argument. It would be reasonable to treat it
as an error instead.
Aron Griffis [Tue, 19 Aug 2008 20:44:26 +0000 (16:44 -0400)]
Handle -- correctly with or without -a, closes #3097
Prefix optstring with "+" to force POSIX behavior on GNU getopt, and thereby
prevent reordering argv. This allows us to correctly handle mixed addresses,
attachments, options and the double-dash to signal end-of-options.
Rocco Rutte [Thu, 21 Aug 2008 05:33:52 +0000 (07:33 +0200)]
Port certificate host checking from msmtp to mutt.
It supports IDN, wildcards and extracting the hostname from
subject alternative field as well as common name which should
be the same gnutls supports. Closes #3087.
Rocco Rutte [Mon, 18 Aug 2008 08:20:40 +0000 (10:20 +0200)]
Validate charset names for all charset options.
Validation is either done against mutt's table of IANA assigned names or local iconv
implementation (based on the assumption that iconv_open(charset,charset) fails if charset
is unknown to the implementation). Closes #1668.
1. mutt_copy_header incorrectly tests CH_UPDATE to determine whether to write
the In-Reply-To and References headers. CH_UPDATE refers only to Status: and
X-Status:
2. mutt_copy_header ignores CH_NOSTATUS which is supposed to indicate that the
mailbox type doesn't use those headers.
3. mutt_copy_header tests h->env->irt_changed and h->env->refs_changed when it
should be testing CH_UPDATE_IRT and CH_UPDATE_REFS, respectively. Early in
the function this happens:
This means that for most callers, the result is the same, but
mutt_copy_header should be testing the flags because the caller might have
set them explicitly without setting irt_changed/refs_changed.
Rewrite mutt_extract_message_id and change mutt_parse_references to us it. The
parser in mutt_extract_message_id is looser than the old one in
mutt_parse_references; it just looks for <[^\s>]+> and doesn't worry about
@-signs. Additionally it doesn't use strtok, so the input string can be const.
Closes #3090, #1935, #1116 (both the stated bug and the conversation following).