[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: