From f169e665814e0404efa47a6dab202b52839fec4d Mon Sep 17 00:00:00 2001 From: Nathan Dushman Date: Thu, 23 Jan 2003 22:05:02 +0000 Subject: [PATCH] SASL2 support for popo_auth.c. --- pop_auth.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 } } -- 2.40.0