commit 5243c69863d4fa19f42241376239c550bf2bd55d Author: Oswald Buddenhagen <o...@users.sf.net> Date: Wed Nov 24 23:05:29 2021 +0100
require IMAP4rev1 capability technically, we should have been doing that since the beginning, but as there is IMAP4rev2 now, it might actually matter (in about a decade, when servers start dropping backwards compat ...). src/drv_imap.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/drv_imap.c b/src/drv_imap.c index dc30a21e..4047baa0 100644 --- a/src/drv_imap.c +++ b/src/drv_imap.c @@ -225,7 +225,8 @@ typedef union { #define CAP(cap) (ctx->caps & (1 << (cap))) enum CAPABILITY { - NOLOGIN = 0, + IMAP4REV1, + NOLOGIN, #ifdef HAVE_LIBSASL SASLIR, #endif @@ -244,6 +245,7 @@ static const struct { const char *str; uint len; } cap_list[] = { + { "IMAP4REV1", 9 }, { "LOGINDISABLED", 13 }, #ifdef HAVE_LIBSASL { "SASL-IR", 7 }, @@ -2088,6 +2090,12 @@ imap_open_store_authenticate( imap_store_t *ctx ) imap_server_conf_t *srvc = ctx->conf->server; #endif + if (!CAP(IMAP4REV1)) { + error( "IMAP error: Server does not support IMAP4rev1\n" ); + imap_open_store_bail( ctx, FAIL_FINAL ); + return; + } + if (ctx->greeting != GreetingPreauth) { #ifdef HAVE_LIBSSL if (srvc->ssl_type == SSL_STARTTLS) { _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel