From: Jon Miles Date: Wed, 10 Sep 2003 13:20:49 +0000 (+0000) Subject: In pop_auth.c:pop_auth_sasl(), if the main loop received anything X-Git-Tag: pre-type-punning-patch~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b41b648ce36ab08e4a131fd47532516912949984;p=mutt In pop_auth.c:pop_auth_sasl(), if the main loop received anything back from the server that didnt begin with '+ ', it was bailing out and skipping the checks to see if there was a +OK response. --- diff --git a/pop_auth.c b/pop_auth.c index 20cc7f09..9353eef5 100644 --- a/pop_auth.c +++ b/pop_auth.c @@ -106,13 +106,12 @@ static pop_auth_res_t pop_auth_sasl (POP_DATA *pop_data, const char *method) if (rc != SASL_CONTINUE) break; - if (mutt_strncmp (inbuf, "+ ", 2)) - goto bail; - #ifdef USE_SASL2 - if (sasl_decode64 (inbuf, strlen (inbuf), buf, LONG_STRING-1, &len) != SASL_OK) + if (!mutt_strncmp (inbuf, "+ ", 2) + && sasl_decode64 (inbuf, strlen (inbuf), buf, LONG_STRING-1, &len) != SASL_OK) #else - if (sasl_decode64 (inbuf, strlen (inbuf), buf, &len) != SASL_OK) + if (!mutt_strncmp (inbuf, "+ ", 2) + && sasl_decode64 (inbuf, strlen (inbuf), buf, &len) != SASL_OK) #endif { dprint (1, (debugfile, "pop_auth_sasl: error base64-decoding server response.\n"));