The attached patch causes mutt to attempt the next method in 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.
Index: auth_sasl.c =================================================================== RCS file: /home/roessler/cvs/mutt/imap/auth_sasl.c,v retrieving revision 3.4 diff -u -p -u -p -r3.4 auth_sasl.c --- auth_sasl.c 12 Apr 2004 18:56:18 -0000 3.4 +++ auth_sasl.c 25 Jul 2004 19:00:13 -0000 @@ -122,6 +122,13 @@ imap_auth_res_t imap_auth_sasl (IMAP_DAT 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;
Attachment:
pgpc5GYvOUDaF.pgp
Description: PGP signature