Hey, Ater the 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.
https://github.com/cyrusimap/cyrus-sasl/blob/master/lib/client.c#L936 I guess this is some obsolete "make sure we don't segfault" type of thing, but anyways, this means that for my OAUTHBEARER mechanism this results in an unnecessary warnings from mbsync. I will share my OAUTHBEARER solution as soon as ready is under development and I will share as soon ready. In the meantime here is the patch that I would like to ask you to apply: diff --git a/src/drv_imap.c b/src/drv_imap.c index 58fc9d3..991ca1f 100644 --- a/src/drv_imap.c +++ b/src/drv_imap.c @@ -2079,7 +2079,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) + if (out_len > 0) warn( "Warning: SASL wants more steps despite successful IMAP authentication. Ignoring...\n" ); } Cheers, Gergely _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel