[EMAIL PROTECTED] wrote:
From: Jim McCullars [mailto:[EMAIL PROTECTED] On Fri, 9 Jul 2004, Vivek Kumar wrote:
Hi Matthew,
I tried both the following syntax you suggested but I got
compliation
error.
How about just:
if ($hostip =~ /^191\.0\.(?:0|1)/) { return("ACCEPT_AND_NO_MORE_FILTERING","OK") }
That would aslo match 191.0.12.38, for example.
This might work though: if ($hostip =~ /^(?:191\.0\.(?:0|1)|127\.0\.0)\./) { return("ACCEPT_AND_NO_MORE_FILTERING","OK") }
I use a subroutine that allows me to be creative and/or easily expand my list of machines/networks that can send email unfiltered. The code had been posted to the list awhile back so i'm not going to take credit for writing it. I obviously modified it for my own use.
I personally don't use ACCEPT_AND_NO_MORE_FILTERING because I still force virus scans of outgoing mail, but i use these tests to bypass the SpamAssassin tests as necessary.
hope this helps,
alan
code follows: -----------------------------------------------------------------
use Socket;
sub valid_local_network { my ($hostip) = @_;
my $addr ='';
my $network_string = '';
my $mask_string = '';my %exempt_subnets = (
'127.0.0.0','255.0.0.0',
'192.168.0.0','255.255.255.0',
'192.168.1.0','255.255.255.0',
);$addr = inet_aton $hostip;
while ( ($network_string,$mask_string) = each %exempt_subnets) {
my $network = inet_aton $network_string;
my $mask = inet_aton $mask_string;if ( ($addr & $mask) eq $network) {
return 1;
}
}
return 0;
}
then in filter_relay you could have:
sub filter_relay ($$$) {
my ($hostip, $hostname, $helo) = @_; if (valid_local_network($hostip)) {
return('ACCEPT_AND_NO_MORE_FILTERING', "It's from us.");
}# ... other relay tests here
return('CONTINUE',"");
}
_______________________________________________
Visit http://www.mimedefang.org and http://www.canit.ca
MIMEDefang mailing list
[EMAIL PROTECTED]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

