Hello,
The dovecot sasl method sounds good... however, I'm not positive that we're actually using sasl with exim in the first place, making switching a bit redundant. Right now, our authenticators are done by "us" in the /etc/exim.pl using perl.
If we were actually using sasl with exim, the login would look something like this:
Code:
server_condition = ${if saslauthd{{$1}{$2}}{1}{0}}
but ours is:
Code:
server_condition = "${perl{smtpauth}}"
so we're not using it there (at least). I also checked through our Makefile's for exim, and I did not find CYRUS_SASLAUTHD_SOCKET in it anywhere, eg:
Code:
CYRUS_SASLAUTHD_SOCKET=/var/lib/sasl2/mux
is nowhere in the Makefile, so if it is being compiled in, that's not our intention.
It may be possible that exim is wanting it due to some internal default during compiles that we're not aware of (hence the compile dependancy in some cases)... perhaps there is a flag to shut that off, if that's actually the case (I couldn't find any after a quick google).
As for the requirement to maintain the external sasl library, if my assumption that we're not actually using it.. even if it's compiled in and an older version of sasl.. again since we're not using it, keeping it updated wouldn't be much of a priority.
Perhaps someone knows more about it being compiled in that I do.. but as far as I can tell, we don't need it, and don't use it.
Since we're successfully using perl for our authentication, I would see no reason to go through the trouble of changing the default to use dovecot, even if it was slightly more efficient than the exim.pl.
Note that our exim.pl method also allows us to make other customizations if we need to (like block sending if the /etc/virtual/limit file is set, and the limit is reached).. something dovecot sasl wouldn't know about. (Even though the check is done in the lookuphost, and not the auth check, it still allows for more flexibility if we need it)
John