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;
}
bail:
+ sasl_dispose (&saslconn);
+
+ if (method)
+ {
+ dprint (2, (debugfile, "imap_auth_sasl: %s failed\n", method));
+ return IMAP_AUTH_UNAVAIL;
+ }
+
mutt_error _("SASL authentication failed.");
mutt_sleep(2);
- sasl_dispose (&saslconn);
return IMAP_AUTH_FAILURE;
}