Re: [exim] Recipient verify only for non-authenticated users

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] Recipient verify only for non-authenticated users
Colin wrote:
>
> On 27/10/2011 11:18, Graeme Fowler wrote:
>> On Thu, 2011-10-27 at 11:05 +0100, Colin wrote:
>>> Hi Graeme, thanks for the reply,
>>> I am unsure that I follow it completely. In my understanding, the
>>> require verify should only apply if the condition is met.
>> "require" is a verb, along with "warn", "deny" and friends. This means
>> you actually have two ACL statements there - the first is the "warn",
>> with the condition but no action; the second the "require" with no
>> condition.
>>
>> What you probably want is something like:
>>
>> require log_message = Couldn't verify recipient
>> condition = ${if eq {1}\
>> {${lookup{$domain}lsearch{/etc/staticroutes}\
>> {1}{0}}}}
>> verify = recipient/callout=30s,defer_ok,use_sender
>>
>> Graeme
>>
>>
> Thank you for that, unfortunately it exhibits exactly the same
> behaviour. I get the message logged for every message that does not
> exist in staticroutes and it looks like they are also failing so I had
> to remove it.
>
> It looks like something in the condition isn't working and is either
> passing everything, or is passing messages where the sender is in
> staticroutes rather than just the recipient.
>
> I need to have a play about with the ACL later when it is out of hours
> and not breaking people's mail I think.
>
> Regards,
> Colin.
>
>


I'm a believer in 'instrumented' configure files - warn verbs that get
changed later..

.. coupled with 'logwrite' to show entry of a clause

and 'log_message' to show IF it fired.

ether/both also writing variables of interest into the log.

And with unique 'codes' attached to all clauses.

A code of interest shows up in the log, have your editor-of-choice find
it in the configure file so you know you are changing the guilty party.
Only.


This won't break anything:

=====

# XSR Static route test
#
#deny
warn

logwrite = entering XSR test
condition  =  ${if eq {1}{${lookup{$domain}lsearch \
         {/etc/staticroutes}{1}{0}}}}
!condition = verify recipient/callout=30s,defer_ok,use_sender
log_message = XSR found $domain in static route file


=====

Then 'tail -f -n 300 ~/exim/mainlog'

Comment OFF the logging and swap the 'warn' and 'deny' when the logs
show it is working.

Bill

--
韓家標