On Fri, 22 Jun 2007, Christopher Glanville wrote:
> For anyone who might be reading these e-mails some time down the
> track, here is the solution I finally came up with
> begin authenticators
>
> plain_login:
> driver = plaintext
> public_name = PLAIN
> client_send = ^username^password
> server_prompts = Username:: : Password::
> server_advertise_condition = ${if eq{$tls_cipher}{}{no}{yes}}
> server_condition = ${lookup{$1}lsearch{/etc/exim/passwd.client}{${if eq {$value }{$2}{yes}{no}}}}{no}}
> server_set_id = $1
>
> However for the LOGIN authenticator use:
> client_send = : username : password
I have not been following this closely, but is it right that you are
trying only to authenticate as a client? In which case, the server_xxx
options are redundant. That's fortunate, because they are not correct
for PLAIN authentication in a server. For PLAIN authentication you need
to use $auth2 and $auth3 (or $2 and $3) for the user name and password.
See the example here:
http://www.exim.org/exim-html-current/doc/html/spec_html/ch34.html#SECID172
For LOGIN it's 1 and 2. Don't blame me - I didn't design these
mechanisms. :-)
Also, you have "{$value }" rather than "{$value}" in your password
check. Notice the space - it will be included in the test, and so the
password probably won't match. But if this is indeed just a client, I'd
get rid of all those server_xxx options, which are just confusing.
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book