Victor Duchovni a écrit :
> On Sat, Jun 27, 2009 at 12:00:09AM +0200, mouss wrote:
>
>> Louis-David Mitterrand a ?crit :
>>> Hi,
>>>
>>> A lot of spam comes from certain ip ranges (e.g. west africa) through
>>> relays (large ISPs) that would be too onerous to block. To filter these
>>> I am presently matching:
>>>
>>> /^((Received|X-Originating-IP):.+\b(124\.120\.1\.(<IP RANGE IN
>>> REGEX>)\b/
>>> in pcre:/etc/postfix/header_access. But converting IP ranges to regex'es
>>> is time consuming and error prone.
>> except for simple cases, it is impossible.
>
> Impossible is too strong. Just painful if done by hand.
>
true. I meant there is no "simple" correspondence between cidr and
regular expressions. that is, one can't do
/....124\.120\.1\64\/28 .../
now, one nice feature would be the ability to pass some parts to a check:
<INVALID> (those reading this should be aware that the following is
fiction. it doesn't exist. so don't ask how you could make it work on
your system).
/^Received: ..... \[(\d\.]+)\] .../ check_ip $1
check_ip =
reject_unknown_client{$arg}
reject_rbl_client zen.spamhaus.org{$arg}
...
</INVALID>
but then again, we come back to "what would be generic control grammar?"
which is not a simple problem.