Wolfgang Hennerbichler wrote:
> On 10.10.2007, at 21:30, W B Hacker wrote:
>> Wolfgang Hennerbichler wrote:
>>> The file looks like this (example IP's):
>>>
>>> cat /etc/exim4/relay_access
>>> !10.0.0.1
>>> 10.0.0.0/8
>>>
>>> basically I want to prevent 10.0.0.1 from relaying. So I have this  
>>> ACL:
>>>    accept  hosts         =  /etc/exim4/relay_access
>>> which works. As I want to re-use that list in a router, I'd like to
>>> put it in a host-list. So I have thought of something like this:
>> We do almost the identical thing as your pre-hostlist example.
>>
>> But having never thought to apply the 'negation' simply maintain  
>> two files,
>> ....
> 
> before you replied, I decided to do something different - don't know  
> if this is considered hack-ish or not:
> I set an ACL variable if somebody is actively relaying. I do this  
> with one simple line in the ACL:
> 
> accept  hosts         = /etc/exim4/relay_access
>            set acl_c1    = true
> 
> so now I can deal with this variable in my router-condition:
> 
> condition = ${if and { {!eq {$received_protocol}{spam-scanned}} {<  
> {$message_size }{300K}} {!eq {$acl_c1}{true}} } }
> 
> I hope this is "a good way" to do this.

Dunno if all here would consider it such, but whatever gets the job done.

JFWIW, I'm using *far* more complex acl_[c|m] variable handling, such as 
iterating thru the recipients to SELECT, adjust, and store both the 
most-tolerant and least-tolerant preference integers of the recipients 
specified 
for a given message.

On arrival to DATA phase, I am carrying MIN and MAX tolerance thresholds for 
that ad hoc group.

If the *message* has then scored below MIN when RFC, rDNS, HELO, etc 'demerits' 
  + SA's spam_int scores are summed, accept for all.

If above MAX deny for all.

If in between MIN MAX, then 'fakereject' and distribute per prefs in routers - 
some normal Inbox, some quarantined, some blackholed.

Doesn't *quite* cover true individualized per-recipient handling post DATA 
phase, but does give an in-session message, so no need for post-smtp-session 
potentially-collateral-spam bounce generation.


> 
>> CAVEAT: AFAIK hostlists AND DNS lookups are cached by Exim, but  
>> results of SQL
>> or flat-file reads are NOT.  So there can be a performance hit.
> 
> the file is very small (not more than 10 lines). I rely on OS-Caching  
> to not make that my performance bottleneck.
>

Hadn't thought of that, but sure - given the 2 to 4 GB GB of RAM we run, it 
probably would do..


> thanks for your reply;
> wogri
> 


Not only does 'one hand wash the other' here, but even an off-the-wall thought 
can trigger a better one...

As time-zones change, we'll no doubt hear several better ways yet...

Bill Hacker

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to