Re: [exim] Authenticate against DoveCot (protocol error)

Top Page
Delete this message
Reply to this message
Author: Frank Elsner
Date:  
To: exim-users
Subject: Re: [exim] Authenticate against DoveCot (protocol error)
On Thu, 12 Mar 2009 12:09:29 -0700 Shane W wrote:
> Hello all,
>
> In attempting to setup SMTP auth against DoveCot, I am
> getting a protocol error from Exim and nothing from
> DoveCot. I've googled a couple posts on this but no
> solutions as yet. Exim is v4.69, DC is v1.1.11. Here is
> the transactio info:
>
> % exim4 -bd -d-all+auth
> me: ehlo
> me: auth plain xxxxxxx
> exim: 435 Unable to authenticate at present
>
> Debug:
>  4230 dovecot authentication
>  4230 received: MECH    PLAIN   plaintext
>  4230 received: MECH    LOGIN   plaintext
>  4230 received: VERSION 1       0
>  4230 received: SPID    11422
>  4230 received: CUID    124
>  4230 received: DONE
>  4230 LOG: MAIN REJECT
>  4230   dovecot_plain authenticator failed for
>  foo.bar (example.com) [192.168.0.1]:
>  435 Unable to authenticate at present: authentication
>  socket protocol error

>
> Has anyone successfully gotten around this. The error
> suggests a version missmatch of some sort but I'm not sure
> what version of Dovecot Exim 4.69 wants.


Yes, I've it running with exim-4.69 and dovecot-1.2.beta1 but dovecot-1.1.11
                                                          also works.


"socket protocol error"? Did you set "driver = dovecot"?

The authenticators from my exim configuration file:

| begin authenticators
|
| plain:
| driver = dovecot
| public_name = PLAIN
| server_socket = /var/run/dovecot/auth-client
| server_set_id = $auth1
|
| login:
| driver = dovecot
| public_name = LOGIN
| server_socket = /var/run/dovecot/auth-client
| server_set_id = $auth1


In the dovecot.conf you have to set

# Number of authentication processes to create
count = 1

And my dovecot.conf contains (in the auth section)

|  # It's possible to export the authentication interface to other programs:
|  socket listen {
|    #master {
|      # Master socket provides access to userdb information. It's typically
|      # used to give Dovecot's local delivery agent access to userdb so it
|      # can find mailbox locations.
|      #path = /var/run/dovecot/auth-master
|      #mode = 0600
|      # Default user/group is the one who started dovecot-auth (root)
|      #user =
|      #group =
|    #}
|    client {
|      # The client socket is generally safe to export to everyone. Typical use
|      # is to export it to your SMTP server so it can do SMTP AUTH lookups
|      # using it.
|      path = /var/run/dovecot/auth-client
|      mode = 0666
|    }
|  }



Hope this helps.


--Frank Elsner (going to vacation on saturday morning)