[Mimedefang] Filter_relay, global variable help
Dan Tulovsky
dtulovsky at sbigroup.com
Mon Nov 3 13:59:45 EST 2003
Hi.
I am hoping this is something very easy. I would like to use the
filter_relay sub to check if the connection is coming from a local
network. If it is, I would like to set a variable that will be visible
in filter_end, which is where I do the spamassassin check. That way I
can skip the check from local networks.
I tried defining a variable $IsLocal at the top of mimedefang-filter
outside of all subs and then setting it inside filter_relay if the
network is local. I then check this variable in filter_end. I am not,
though getting the expected results.
I have something like (among everything else)
--------------
$IsLocal = 0;
Sub filter_relay($$$) {
--- much skipped ----
if (($addr & $mask) eq $network) {
# mail is local (going out - don't scan for SPAM)
$IsLocal = 1;
return ('CONTINUE', 'ok');
}
}
Sub filter_end($) {
# don't spam check local stuff
if ($IsLocal == 1) {
action_add_header("X-Spam-Status", "Skipped, internal relay:
$RelayAddr");
return action_accept();
$IsLocal = 0;
}
}
--------------------------------------------------------
Any pointers much appreciated.
Thank you,
Dan
More information about the MIMEDefang
mailing list