[Mutt] #3141: mutt is confused by AUTH= response
#3141: mutt is confused by AUTH= response
--------------------+-------------------------------------------------------
Reporter: marcel | Owner: brendan
Type: defect | Status: new
Priority: major | Milestone: 1.6
Component: SMTP | Version: 1.5.18
Keywords: patch |
--------------------+-------------------------------------------------------
In case when SMTP server responds on EHLO command with this kind of
sequence:
...
250-AUTH PLAIN LOGIN
250-AUTH=LOGIN
...
The mutt is confused and tries to use LOGIN as a only authentication
mechanism. PLAIN (or other mechanism listed in first AUTH response) is
never tried.
The problem is in smtp.c file in function smtp_get_resp():
98 else if (!ascii_strncasecmp ("AUTH", buf + 4, 4))
99 {
100 mutt_bit_set (Capabilities, AUTH);
101 FREE (&AuthMechs);
102 AuthMechs = safe_strdup (buf + 9);
103 }
Here AuthMechs with "PLAIN LOGIN" is replaced by just "LOGIN" from the
second AUTH= line.
This could cause a problem on a system where LOGIN mechanism is not
supported by underlying SASL library while some other mechanism is
supported in SASL.
Please note that "AUTH=" is not covered (AFAIK) by any RFC and is provided
by some SMTP servers for backward compatibility with old mail clients
only.
Attached is a patch which forces space after AUTH.
As a workaround an user could set smtp_authenticators mutt configuration
variable.
--
Ticket URL: <http://dev.mutt.org/trac/ticket/3141>
Mutt <http://www.mutt.org/>
The Mutt mail user agent