From: Nathan Dushman Date: Thu, 23 Jan 2003 22:05:02 +0000 (+0000) Subject: SASL2 support for popo_auth.c. X-Git-Tag: mutt-1-5-4-rel~71 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f169e665814e0404efa47a6dab202b52839fec4d;p=mutt SASL2 support for popo_auth.c. --- diff --git a/pop_auth.c b/pop_auth.c index 253883d7..20cc7f09 100644 --- a/pop_auth.c +++ b/pop_auth.c @@ -25,8 +25,13 @@ #include #ifdef USE_SASL +#ifdef USE_SASL2 +#include +#include +#else #include #include +#endif #include "mutt_sasl.h" #endif @@ -41,7 +46,11 @@ static pop_auth_res_t pop_auth_sasl (POP_DATA *pop_data, const char *method) char buf[LONG_STRING]; char inbuf[LONG_STRING]; const char* mech; +#ifdef USE_SASL2 + const char *pc = NULL; +#else char* pc = NULL; +#endif unsigned int len, olen; unsigned char client_start; @@ -56,8 +65,12 @@ static pop_auth_res_t pop_auth_sasl (POP_DATA *pop_data, const char *method) FOREVER { +#ifdef USE_SASL2 + rc = sasl_client_start(saslconn, method, &interaction, &pc, &olen, &mech); +#else rc = sasl_client_start (saslconn, method, NULL, &interaction, &pc, &olen, &mech); +#endif if (rc != SASL_INTERACT) break; mutt_sasl_interact (interaction); @@ -96,7 +109,11 @@ static pop_auth_res_t pop_auth_sasl (POP_DATA *pop_data, const char *method) if (mutt_strncmp (inbuf, "+ ", 2)) goto bail; +#ifdef USE_SASL2 + if (sasl_decode64 (inbuf, strlen (inbuf), buf, LONG_STRING-1, &len) != SASL_OK) +#else if (sasl_decode64 (inbuf, strlen (inbuf), buf, &len) != SASL_OK) +#endif { dprint (1, (debugfile, "pop_auth_sasl: error base64-decoding server response.\n")); goto bail; @@ -127,7 +144,9 @@ static pop_auth_res_t pop_auth_sasl (POP_DATA *pop_data, const char *method) /* sasl_client_st(art|ep) allocate pc with malloc, expect me to * free it */ +#ifndef USE_SASL2 FREE (&pc); +#endif } }