Re: [Exim] How to only run CRAM authenticator when certain f…

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Ralf G. R. Bergs
Fecha:  
A: exim-users
Asunto: Re: [Exim] How to only run CRAM authenticator when certain file exists?
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.)