Custom Config
Webmaster
webmaster at NWDHOSTING.COM
Tue Apr 27 23:02:53 IST 2004
Oops, lazyness...
> Brian,
>
> shouldn't you be putting a
> my $dbh;
> before all your SACustomCheck within the same file?
>
> El 27 Apr 2004 a las 17:06, Webmaster escribió:
>
>> That enables scanning for everyone. We host multiple domains, and I
>> wanted the admins of those domains to be able to disable scannng for
>> their
>> domain only, the information being pulled from a database. I was able
>> to
>> resolve the problem though, the logging routine was killing it. All is
>> working as expected now... If anyone wants to know:
>>
>> Virus Scanning = &SACustomCheck
>> Spam Checks = &SACustomCheck
>>
>>
>>
>> Here are the functions for CustomConfig.pm
>>
>> sub InitSACustomCheck {
>> return if defined $dbh;
>>
>> MailScanner::Log::InfoLog("Initializing database connection");
>>
>> $dbh = DBI->connect("DBI:mysql:database=$db_name;host=$db_host",
>> $db_user, $db_pass,
>> {PrintError => 0});
>>
>> if (!$dbh) {
>> MailScanner::Log::WarnLog("Unable to initialize database connection:
>> %s", $DBI::errstr);
>> return;
>> }
>>
>> MailScanner::Log::InfoLog("Finished initializing database connection");
>> }
>>
>> sub EndSACustomCheck {
>> $dbh->disconnect if defined $dbh;
>> MailScanner::Log::InfoLog("Disconnected from the database");
>> }
>>
>> sub SACustomCheck {
>> my($message) = @_;
>>
>> return unless $message;
>>
>> if(!$dbh->ping) {
>> undef $dbh;
>> MailScanner::Log::InfoLog("Database ping failure attempting to
>> re-connect");
>> InitSACustomCheck();
>> }
>>
>> return unless defined $dbh;
>>
>> foreach (@{$message->{to}}) {
>> ($to, $domain)=split("\@", $_);
>> push(@domains, "domain='$domain'");
>> }
>>
>> $where=join(" OR ", @domains);
>>
>> my $sth = $dbh->prepare("SELECT value FROM custom_score WHERE
>> opt='checks' AND ($where)");
>> $sth->execute();
>>
>> # was there any options returned, if not, defauly yes
>> if ($sth->rows == 0){
>> $checks=1;
>> }else{
>> # if any domain is set to yes, it gets scanned
>> while (my $ref = $sth->fetchrow_hashref()) {
>> if ($ref->{'value'} eq "yes") {
>> $checks=1;
>> }
>> }
>> }
>> # otherwise, no
>> if ($checks != 1) {
>> $checks=0;
>> }
>>
>> return $checks;
>>
>> }
>>
>>
>>
>> Brian :)
>>
>>
>>
>> > Webmaster wrote:
>> >> I am trying to do a custom function so each domain we host can have
>> >> their
>> >> own options. I was able to get the "Required SpamAssassin Score"
>> option
>> >> to work properly, I get the domain from the to address, get that
>> domains
>> >> score from a database, and return it. I tried to do the same thing
>> with
>> >> "Spam Checks", but it does not work, Ms seems to go into a loop. I
>> >> tried
>> >> the return value as 1 or 0 as the CostomCinfig.pm file said, even
>> tried
>> >> returning "yes" or "no", but no luck. Any ideas? Some of our
>> customers
>> >> have asked that we do not scan their mail at all (go figure, paranoid
>> >> people)
>> >
>> > Wouldn't this do that?
>> >
>> > # If you want to be able to switch scanning on/off for different users
>> or
>> > # different domains, set this to the filename of a ruleset.
>> > # This can also be the filename of a ruleset.
>> > Virus Scanning = yes
>> >
>
> --
> Mariano Absatz
> El Baby
> ----------------------------------------------------------
> Those who cannot remember the past are doomed to buy Microsoft products.
>
> -------------------------- MailScanner list ----------------------
> To leave, send leave mailscanner to jiscmail at jiscmail.ac.uk
> For further info about MailScanner, please see the Most Asked
> Questions at http://www.mailscanner.biz/maq/ and the archives
> at http://www.jiscmail.ac.uk/lists/mailscanner.html
>
-------------------------- MailScanner list ----------------------
To leave, send leave mailscanner to jiscmail at jiscmail.ac.uk
For further info about MailScanner, please see the Most Asked
Questions at http://www.mailscanner.biz/maq/ and the archives
at http://www.jiscmail.ac.uk/lists/mailscanner.html
More information about the MailScanner
mailing list