X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=imap%2Fauth_sasl.c;h=fa1714fa26542442315bd7dba1aabc48e19d3da5;hb=618ceafdc9564dbb8f3bf45c3869297a1d5a3320;hp=e0fbfba3a28cce6bf6817562cf1dd5370fafb5a8;hpb=ba5e3af4ea19e1d20c80941c077039871ec84258;p=apps%2Fmadmutt.git diff --git a/imap/auth_sasl.c b/imap/auth_sasl.c index e0fbfba..fa1714f 100644 --- a/imap/auth_sasl.c +++ b/imap/auth_sasl.c @@ -14,6 +14,7 @@ #endif #include "mutt.h" +#include "ascii.h" #include "mutt_sasl.h" #include "imap_private.h" #include "auth.h" @@ -140,7 +141,10 @@ imap_auth_res_t imap_auth_sasl (IMAP_DATA * idata, const char *method) } } - if (!client_start) { + /* client-start is only available with the SASL-IR extension, but + * SASL 2.1 seems to want to use it regardless, at least for DIGEST + * fast reauth. Override if the server sent an initial continuation */ + if (!client_start || buf[0]) { do { rc = sasl_client_step (saslconn, buf, len, &interaction, &pc, &olen); if (rc == SASL_INTERACT)