imap_authenticators if the previous method failed, even if the server
reported that the method was available. Previously mutt would give up
if any authentication method failed.
irc = imap_cmd_step (idata);
while (irc == IMAP_CMD_CONTINUE);
+ if (method && irc == IMAP_CMD_NO)
+ {
+ dprint (2, (debugfile, "imap_auth_sasl: %s failed\n", method));
+ sasl_dispose (&saslconn);
+ return IMAP_AUTH_UNAVAIL;
+ }
+
if (irc == IMAP_CMD_BAD || irc == IMAP_CMD_NO)
goto bail;