-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thu, 31 Jul 2014, Mildred Ki'Lya wrote:
On 30/07/2014 23:32, Gedalya wrote:
Could it be related to something in your dovecot configuration (which you didn't post)? Despite the fact that an interesting conversation is developing in the exim bug report, this setup does usually work, including on one of your servers as you have indicated. On my end, I never had issues between dovecot 2.1.7 and 2.2.13, using the exact same authenticator config in exim.
See at the end of the e-mail my dovecot configuration (my /etc/dovecot/local.conf). This configuration is included by the default dovecot configuration (as packaged by Debian, but I think there are not so many changes made by Debian).
I agree that it could be related to my configuration, but I don't see how the changes I made could have altered how the auth server is working.
I'm looking at the dovecot sources and found two different implementation for the auth protocol. One in auth-master-connection.c and one in auth-client-connection.c. One seems to send SPID and VERSION and wait for further commands before continuing. The other send the complete handshake.
I think I'm connecting to a socket speaking the wrong protocol.
exim is configured to use socket /var/run/dovecot/auth-userdb dovecot has the following configuration in 10-master.conf:
service auth { # ... some comments removed ... unix_listener auth-userdb { #mode = 0666 #user = #group = } }
I think I completely misunderstood how dovecot sockets were configured ... If I set up exim to connect to auth-client instead of auth-userdb, it fixes the problem (I get a meaningful error message, probably because things are not configured properly elsewhere).
What I don't understand is that the socket auth-client is nowhere to be found in the configuration. Where is it specified?
Also, I don't understand because the production server I have currently running have the following configuration in 10-master.conf:
service auth { unix_listener auth-userdb { mode = 0660 user = vmail group = vmail }
#SASL unix_listener auth-client { mode = 0660 user = vmail group = vmail } }
And exim is configured to use auth-client socket, and everything works. I naively thought that I could remove auth-client and use auth+userdb instead when I was looking at this configuration.
Could someone enlighten me how sockets are configured in dovecot?
Well, first of all auth-userdb and auth-client are completely different things.
exim must connect to auth-client and _not_ auth-userdb.
2nd: If the config does not enlist auth-client, look at the full config:
doveconf -a
There you see all effective settings. hence, I guess you need to replicate the setting from your running server into your local.conf in order to get exim access permissions.
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux)
iQEVAwUBU9obG3z1H7kL/d9rAQJ/owf9G8F1D4yaO6kGn+BB3gC+U0ZEwRmZp6DE kKkoIWBk82SCPsmwc7LIcpAbh+zhEPx0A2Sk2Vw4qlXAd+xp8awGXjifeN5cyS7H vDNRQ4BeeaH1rrqjpRugAp+Sk5i8dhlMI14/lWUFzz1JZyOzBwwdUbOaKeB7v54Q BUBsjCVjOH1R4Qc/QKMPSrRdsrC5HQ3lE357z4O0DQsqK88+aQZvfbHZe64+IhE8 fE5QRJ0Jn7OvpWCyEfFFF1pCAZkaYdJlyD1gkmw/P8geZ5PPZ+ljRpsrrarh+/ka cj4tS9BWOAr6kKfodHlYTal6n4wkDkg6w1MwPQ9brEdBJR3gSUCcfA== =DeKm -----END PGP SIGNATURE-----