I'm trying to reject certain connections based upon the IP range they're in.
I have this in my SMTP Mail ACL:
#====================================================================#
# DENY problem RANGES #
#====================================================================#
deny
message = Call email admin xxx xxx-xxxx \
- Error_local_rejection
hosts = ${if exists \
{/etc/exim4/_databases/_special_reject_R.rtf}\
{/etc/exim4/_databases/_special_reject_R.rtf}{}}
delay = 30s
logwrite = Special_rejection $sender_host_address
The file that it references is a regular file with 105 entries such as:
63.145.183.0/24
63.145.188.0/24
63.218.48.0/24
Most of the time it works fine. But I'm still seeing email being delivered
despite the range being listed there. I'm running Exim 4.5 on Debian Sarge
but I've written the exim4.conf file myself so it has none of the default
Debian entries.
Is there a more efficent method of comparing IP's to ranges or is there some
other problem/solution?
TIA