Re: Exim AUTH problems
On Mon, 2003-02-03 at 13:20, David H. Clymer wrote:
> I'm attempting to set up SMTP authentication using exim. I can get it to
> work if i dont check for null values, but when i try to add some extra
> logic to do that i get an error that I dont quite understand, and so It
> isnt really helpful in debugging this issue.
>
> note: i'm only working on the AUTH PLAIN facility ATM
>
> original config:
>
> plain:
> driver = plaintext
> public_name = PLAIN
> server_condition = ${if eq{$2}{${lookup mysql{SELECT password FROM
> user WHERE username='$1'}{$value}fail}}{1}{0}}
> server_set_id = $1
>
> original result (excerpt from: exim -d9 -bs):
>
> plain authenticator:
> $1 = david@0x44.org
> $2 = hackme
> expanded string: 1
> SMTP>> 235 Authentication succeeded
> 235 Authentication succeeded
>
>
> null checking config:
>
> plain:
> driver = plaintext
> public_name = PLAIN
> server_condition = ${if !eq{$1}{} and{ !eq{$2}{}} and
> {eq{$2}{${lookup mysql{SELECT password FROM user WHERE
> username='$1'}{$value}fail}}}{1}{0}}
> server_set_id = $1
>
> null checking result (exerpt from exim -d9 -bs):
>
> plain authenticator:
> $1 = david@0x44.org
> $2 = hackme
> expanded string: nd{ !eq{hackme and {eq{hackme}{hackme}}{1}{0}}
> SMTP>> 435 Unable to authenticate at present: nd{ !eq{hackme and
> {eq{hackme}{hackme}}{1}{0}}
> 435 Unable to authenticate at present: nd{ !eq{hackme and
> {eq{hackme}{hackme}}{1}{0}}
> LOG: 0 MAIN REJECT
> Authentication failed for : 435 Unable to authenticate at present: nd{
> !eq{hackme and {eq{hackme}{hackme}}{1}{0}}
>
> what does the nd{ * signify? it looks like its the last part of "and".
> if that is the case, why is the expanded string truncated at that point?
> i'm a bit confused. if anyone can unconfuse me or just help me help
> myself, that would be great.
>
> davidc
>
I wasn't using the correct AND syntax in server_condition. the correct
way
is:
and{ {..subcondition0..} {..subcondition1..} ...}
davidc
Reply to: