How does unix_listener works? [Was: Issue with exim and auth protocol]
Mildred Ki'Lya
mildred-ml at mildred.fr
Thu Jul 31 11:01:22 UTC 2014
>
> 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.
Thank you.
What I don't understand is how unix_listener works and how to specify
independently the socket file used and the protocol spoken on the socket.
For example, to get postfix to work (I was using postfix before I used
exim), we configure the auth service this way:
service auth {
unix_listener /var/spool/postfix/private/auth { ... }
}
What I deduced from this is that the unix_listener command took a file
path as argument and the permissions inside the {} block.
Now, when I look at the configuration for auth-userdb and auth-client, I
see:
service auth {
unix_listener auth-client {... }
unix_listener auth-userdb { ... }
}
Using the rule deduced above, I see two sockets being declared.
auth-client is a path relative to /var/run/dovecot, and auth-userdb is
also a path in /var/run/dovecot. I see no difference between the two,
except the file path. I deduce then that those two sockets respond to
the same protocol provided by the service auth.
Obviously, I am wrong.
Then, how does the auth service knows which protocol to speak on
/var/run/dovecot/auth-userdb, /var/run/dovecot/auth-client and
/var/spool/postfix/private/auth? This is not specified in the
configuration (even doveconf -a).
If I specify:
service auth {
unix_listener some-socket-file {... }
}
I suppose I'll find a socket in /var/run/dovecot/some-socket-file. Which
protocol does it speak?
More generally, is there somewhere when the configuration file is
documented? I always wondered what happened when I redefined a section
("service auth" for example). Will it replace completely the previous
section or will it only overwrite the variables specified?
Thank you
Mildred
More information about the dovecot
mailing list