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