What can I say? The XSASL Dovecot client assumes that it is talking to Dovecot. There may be other errors when you send unexpected responses from a non-Dovecot server.
Wietse --- ./src/xsasl/xsasl_dovecot_server.c- 2016-01-23 19:50:54.000000000 -0500 +++ ./src/xsasl/xsasl_dovecot_server.c 2019-08-24 03:58:10.548175894 -0400 @@ -588,6 +588,10 @@ } } else if (strcmp(cmd, "CONT") == 0) { if (xsasl_dovecot_parse_reply(server, &line) == 0) { + if (line == 0) { + msg_warn("missing Dovecot server %s reply field", cmd); + return XSASL_AUTH_FAIL; + } vstring_strcpy(reply, line); return XSASL_AUTH_MORE; }