Phillip helped me out with some debug statements in the code.
Turns out the problem was whitespace:
server_condition = ${if ldapauth { user="uid=...
^
It didn't like the space between the "{" and "user".
"David L. Harfst" wrote:
>
> Okay, I feel like beating my head against the wall.
>
> I'm trying to do LDAP authentication in Exim 4.0.5
>
> Here's my authenticators:
>
> # Authentication for PLAIN (Netscape)
> plain:
> driver = plaintext
> public_name = PLAIN
> server_condition = ${if ldapauth \
> { user="uid=${quote_ldap:$2},ou=People,ou=Email,o=CMS,c=US" pass="$3" \
> ldap:///} {yes} {no} }
> server_set_id= uid=$1,ou=People,ou=Email,o=CMS,c=US
>
> # Authentication for LOGIN (Outlook)
> login:
> driver = plaintext
> public_name = LOGIN
> server_prompts = Username:: : Password::
> server_condition = ${if ldapauth \
> { user="uid=${quote_ldap:$1},ou=People,ou=Email,o=CMS,c=US" \
> pass="$2" \
> ldap:///} {yes} {no} }
> server_set_id= uid=$1,ou=People,ou=Email,o=CMS,c=US
>
> I've tried both of these, using Netscape 6.2.3 and Outlook Express
> respectively.
>
> Running the exim server with the debug flag shows that the
> server condition expands to "no", however, my LDAP server does
> not show any attempt at a connection. What am I doing
> wrong?
>
> One thing to note: I'm using $2 and $3 as the username and
> password. Debugging showed that $1 was blank, $2 contained
> the username and $3 contained the password. Seems contrary
> to the documentation.
>
--
David L. Harfst Computerized Medical Systems
Senior Systems Engineer St. Louis, Missouri
mailto:harfst@cms-stl.com http://www.cms-stl.com