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

Reply via email to