From a8f6eebdd9233f98fc5eaefb4c5a34c3c6696d7e Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Tue, 5 Feb 2019 11:23:44 +0100 Subject: [PATCH] Work around useless SASL warnings Ater sasl_client_step() is called and the Cyrus SASL library forwards it to the client plugin, if the result value is OK (authentication succeeded), the clientout is filled out to be an empty string, even if the client plugin wanted to return NULL. To avoid that mbsync complains at this point, check the returned length instead of the pointer. --- src/drv_imap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drv_imap.c b/src/drv_imap.c index 9e137cf..d92e218 100644 --- a/src/drv_imap.c +++ b/src/drv_imap.c @@ -2073,7 +2073,7 @@ done_sasl_auth( imap_store_t *ctx, imap_cmd_t *cmd ATTR_UNUSED, int response ) int rc = sasl_client_step( ctx->sasl, NULL, 0, &interact, &out, &out_len ); if (process_sasl_step( ctx, rc, NULL, 0, interact, &out, &out_len ) < 0) warn( "Warning: SASL reported failure despite successful IMAP authentication. Ignoring...\n" ); - else if (out) + else if (out_len > 0) warn( "Warning: SASL wants more steps despite successful IMAP authentication. Ignoring...\n" ); }