John Jetmore schrieb:
[...]
>>lookup_cram:
>> driver = cram_md5
>> public_name = CRAM-MD5
>> server_secret = \
>> ${if \
>> exists{/etc/exim/virtual/${lc:${domain:$1}}/passwd.cram}\
>> {${lookup\
>> {${lc:${local_part:$1}}}\
>> lsearch\
>> {/etc/exim/virtual/${lc:${domain:$1}}/passwd.cram}\
>> {$value}\
>> fail\
>> }\
>> }\
>> fail\
>> }
>> server_set_id = $1
>>
>>This doesn't exactly do what I want. If the passwd.cram file doesn't
>>exist, this authenticator (obviously) fails. What I want is that it is
>>simply skipped in this case. I expected to be able to use
>>
>> condition = ${if exists{}{yes}fail}
>>
>>but obviously this can't statement can't be used with authenticators.
>>
>>I'm sure I'm overlooking something, can someone help?
>
> server_advertise_condition?
As you have already noticed yourself, this won't work.
I'm looking for somethink like "server_condition" for the "plain"
authentication method. This would solve my problems, I guess, because I
can't see a substantial difference between the two authentication
methods (when it comes to missing password files that should be handled
graciously.)