ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



Mail::SpamAssassin::SQLBasedAddrList(er Contributed Perl Documentatl::SpamAssassin::SQLBasedAddrList(3)



NAME
       Mail::SpamAssassin::SQLBasedAddrList - SpamAssassin SQL Based Auto Whitelist

SYNOPSIS
           my $factory = Mail::SpamAssassin::SQLBasedAddrList->new()
           $spamtest->set_persistent_addr_list_factory ($factory);
         ... call into SpamAssassin classes...

       SpamAssassin will call:

           my $addrlist = $factory->new_checker($spamtest);
           $entry = $addrlist->get_addr_entry ($addr, $origip);
         ...

DESCRIPTION
       A SQL based persistent address list implementation.

       See "Mail::SpamAssassin::PersistentAddrList" for more information.

       Uses DBI::DBD module access to your favorite database (tested with MySQL, SQLite and PostgreSQL) to
       store user auto-whitelists.

       The default table structure looks like this: CREATE TABLE awl (
         username VARCHAR NOT NULL,
         email VARCHAR NOT NULL,
         ip VARCHAR NOT NULL,
         count INT NOT NULL,
         totscore FLOAT NOT NULL,
         PRIMARY KEY (username, email, ip) )

       You're table definition may change depending on which database driver you choose.  There is a config
       option to override the table name.

       This module introduces several new config variables:

       user_awl_dsn

       user_awl_sql_username

       user_awl_sql_password

       user_awl_sql_table

       user_awl_sql_override_username

       see "Mail::SpamAssassin::Conf" for more information.

       new

       public class (Mail::SpamAssassin::SQLBasedAddrList) new ()

       Description: This method creates a new instance of the SQLBasedAddrList factory and calls the
       parent's (PersistentAddrList) new method.

       new_checker

       public instance (Mail::SpamAssassin::SQLBasedAddrList) new_checker (\% $main)

       Description: This method is called to setup a new checker interface and return a blessed copy of
       itself.  Here is where we setup the SQL database connection based on the config values.

       get_addr_entry

       public instance (\%) get_addr_entry (String $addr)

       Description: This method takes a given $addr and splits it between the email address component and
       the ip component and performs a lookup in the database. If nothing is found in the database then a
       blank entry hash is created and returned, otherwise an entry containing the found information is
       returned.

       A key, "exists_p", is set to 1 if an entry already exists in the database, otherwise it is set to 0.

       add_score

       public instance (\%) add_score (\% $entry, Integer $score)

       Description: This method adds a given $score to a given $entry.  If the entry was marked as not
       existing in the database then an entry will be inserted, otherwise a simple update will be performed.

       NOTE: This code uses a self referential SQL call (ie set foo = foo + 1) which is supported by most
       modern database backends, but not everything calling itself a SQL database.

       remove_entry

       public instance () remove_entry (\% $entry)

       Description: This method removes a given $entry from the database.  If the ip portion of the entry
       address is equal to "none" then remove any perl-IP entries for this address as well.

       finish

       public instance () finish ()

       Description: This method provides the necessary cleanup for the address list.

       _unpack_addr

       private instance (String, String) _unpack_addr(string $addr)

       Description: This method splits an autowhitelist address into it's two components, email and ip
       address.



perl v5.8.8                                      2007-04-03          Mail::SpamAssassin::SQLBasedAddrList(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.