Здравствуйте.
В сообщении от Пятница 06 апреля 2007 aladdin написал(a):
> This should be a pretty easy question for an experienced exim user:
>
> I don't (at the moment have an encrypted link, so I'm using
> auth_advertise_hosts with AUTH LOGIN to only allow authentication from one
> host besides the localhost. I have the authentication configuration:
>
> login_server:
> driver = plaintext
> public_name = LOGIN
> server_prompts = "Username:: : Password::"
> server_condition = "${if {$auth2}{${extract{1}{:}
> {${lookup{$auth1}lsearch{CON\
> FDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
> server_set_id = $auth1
>
> where I took the original config file server_condition:
>
> server_condition = "${if crypteq{$auth2}{${extract{1}{:}
> {${lookup{$auth1}ls\
> earch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
>
> and just removed the "crypteq". When I try to authenticate with the base
> 64 encoded values, in the reject log I get:
>
> 435 Unable to authenticate at present: condi
> tion name expected, but found "{$auth2}{${extra"
>
> It obviously doesn't like what I did with the server_condition. Can
> someone out there who understands this syntax tell me what's wrong?
>
> Thanks-
> anw
You had ${if crypteq{something}{something other}}
Now you have ${if {something}{something other}}
You must have ${if <CONDITION>{something}{something other}}, where <CONDITION>
is something like 'crypteq', 'eq', '<', '>', etc.
See
http://exim.org/exim-html-4.66/doc/html/spec_html/ch11.html for help.