Issue with exim and auth protocol

Mildred Ki'Lya
2014-07-30T20:18:56Z

Hi,

I'm trying to set up exim (4.83) as a submission server, and need to set
up the dovecot authentication in exim. I'm having an issue with that
(documented at <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756258>)

The problem is that exim doesn't follow the handshake as described here:
<http://wiki2.dovecot.org/Design/AuthProtocol>. The wiki page says that
the client should start the handshake, but exim waits for the server to
start and to receive the DONE command until it starts its own handshake.

What I actually get is:

    exim connects to dovecot auth
    dovecot    VERSION    1    1
    dovecot    SPID    48


And then, dovecot stops (I presume it waits for the client handshake,
VERSION and CPID). Exim on its side waits for the DONE. This results in
the SMTP connection by exim never replying to the AUTH PLAIN command.

This is exim 4.80 (or 4.83) and dovecot 2.1.7.

I have another server set up almost exactly the same (but with dovecot
2.1.17) where it does work. In that case, dovecot finishes the handshake
before exim starts its handshake. It results in:

    exim connects to dovecot auth
    dovecot    VERSION    1    1
    dovecot    MECH    PLAIN    plaintext
    dovecot    SPID    10905
    dovecot    CUID    1
    dovecot    COOKIE    d3861d29441f06d962490eab8549fd46
    dovecot    DONE
    exim    VERSION    1    0
    exim    CPID    10619
    exim    AUTH    1    PLAIN    service=smtp    secured
rip=82.247.184.53    lip=80.67.179.36    nologin    resp=<base64
encoded string>


I don't understand what could change the dovecot behaviour in that
regard. Is there a solution that would only require modifying the
configuration?

Thank you,

Mildred