I have the following /etc/mail/spamassassin/settings.cf:

=================================
user_scores_dsn                 DBI:mysql:spamassassin:localhost
user_scores_sql_username        mail
user_scores_sql_password        mypassword

bayes_store_module              Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn                   DBI:mysql:spamassassin:localhost
bayes_sql_username              mail
bayes_sql_password              mypassword

user_awl_dsn                    DBI:mysql:spamassassin:localhost
user_awl_sql_username           mail
user_awl_sql_password           mypassword
=================================

SA 3.0.0 is picking up the user scores and bayes from SQL without any
problems, but it seems to be ignoring the awl settings completely --
it is still writing to /root/.spamassassin/auto-whitelist.

I have the database set up correctly, I think:

=================================
mysql> show tables;
+------------------------+
| Tables_in_spamassassin |
+------------------------+
| awl                    |
| bayes_expire           |
| bayes_global_vars      |
| bayes_seen             |
| bayes_token            |
| bayes_vars             |
| userpref               |
+------------------------+
7 rows in set (0.00 sec)

mysql> describe awl;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| username | varchar(100) |      | PRI |         |       |
| email    | varchar(200) |      | PRI |         |       |
| ip       | varchar(10)  |      | PRI |         |       |
| count    | int(11)      | YES  |     | 0       |       |
| totscore | float        | YES  |     | 0       |       |
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
=================================

 ... and yet, after several thousand emails processed:
 
=================================
mysql> select * from awl;
Empty set (0.00 sec)
=================================

Here is output from spamd -D --sql-config --nouser-config :

=================================
trying to connect to syslog/unix...
no error connecting to syslog/unix
logging enabled:
        facility: mail
        socket:   unix
        output:   syslog
creating INET socket:
        Listen: 128
        LocalAddr: 127.0.0.1
        LocalPort: 783
        Proto: 6
        ReuseAddr: 1
        Type: 1
debug: SpamAssassin version 3.0.0
debug: Score set 0 chosen.
debug: Storable module v2.13 found
debug: Preloading modules with HOME=/tmp/spamd-12206-init
debug: ignore: test message to precompile patterns and load modules
debug: using "/etc/mail/spamassassin/init.pre" for site rules init.pre
debug: config: read file /etc/mail/spamassassin/init.pre
debug: using "/usr/share/spamassassin" for default rules dir
debug: config: read file /usr/share/spamassassin/10_misc.cf
debug: config: read file /usr/share/spamassassin/20_anti_ratware.cf
debug: config: read file /usr/share/spamassassin/20_body_tests.cf
debug: config: read file /usr/share/spamassassin/20_compensate.cf
debug: config: read file /usr/share/spamassassin/20_dnsbl_tests.cf
debug: config: read file /usr/share/spamassassin/20_drugs.cf
debug: config: read file /usr/share/spamassassin/20_fake_helo_tests.cf
debug: config: read file /usr/share/spamassassin/20_head_tests.cf
debug: config: read file /usr/share/spamassassin/20_html_tests.cf
debug: config: read file /usr/share/spamassassin/20_meta_tests.cf
debug: config: read file /usr/share/spamassassin/20_phrases.cf
debug: config: read file /usr/share/spamassassin/20_porn.cf
debug: config: read file /usr/share/spamassassin/20_ratware.cf
debug: config: read file /usr/share/spamassassin/20_uri_tests.cf
debug: config: read file /usr/share/spamassassin/23_bayes.cf
debug: config: read file /usr/share/spamassassin/25_body_tests_es.cf
debug: config: read file /usr/share/spamassassin/25_hashcash.cf
debug: config: read file /usr/share/spamassassin/25_spf.cf
debug: config: read file /usr/share/spamassassin/25_uribl.cf
debug: config: read file /usr/share/spamassassin/30_text_de.cf
debug: config: read file /usr/share/spamassassin/30_text_fr.cf
debug: config: read file /usr/share/spamassassin/30_text_nl.cf
debug: config: read file /usr/share/spamassassin/30_text_pl.cf
debug: config: read file /usr/share/spamassassin/50_scores.cf
debug: config: read file /usr/share/spamassassin/60_whitelist.cf
debug: using "/etc/mail/spamassassin" for site rules dir
debug: config: read file /etc/mail/spamassassin/misc.cf
debug: config: read file /etc/mail/spamassassin/settings.cf
debug: plugin: loading Mail::SpamAssassin::Plugin::URIDNSBL from @INC
debug: plugin: registered Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4)
debug: plugin: loading Mail::SpamAssassin::Plugin::Hashcash from @INC
debug: plugin: registered Mail::SpamAssassin::Plugin::Hashcash=HASH(0x8e08a5c)
debug: plugin: loading Mail::SpamAssassin::Plugin::SPF from @INC
debug: plugin: registered Mail::SpamAssassin::Plugin::SPF=HASH(0x8de65e4)
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) implements 
'parse_config'
debug: plugin: Mail::SpamAssassin::Plugin::Hashcash=HASH(0x8e08a5c) implements 
'parse_config'
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) inhibited 
further callbacks
debug: bayes: Using username: root
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 5
debug: bayes: Not available for scanning, only 0 spam(s) in Bayes DB < 200
debug: Score set 1 chosen.
debug: ---- MIME PARSER START ----
debug: main message type: text/plain
debug: parsing normal part
debug: added part, type: text/plain
debug: ---- MIME PARSER END ----
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 5
debug: bayes: Not available for scanning, only 0 spam(s) in Bayes DB < 200
debug: metadata: X-Spam-Relays-Trusted: 
debug: metadata: X-Spam-Relays-Untrusted: 
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) implements 
'parsed_metadata'
debug: is Net::DNS::Resolver available? yes
debug: Net::DNS version: 0.48
debug: trying (3) google.com...
debug: looking up NS for 'google.com'
debug: NS lookup of google.com succeeded => Dns available (set dns_available to 
hardcode)
debug: is DNS available? 1
debug: decoding: no encoding detected
debug: URIDNSBL: domains to query: 
debug: all '*From' addrs: [EMAIL PROTECTED]
debug: Running tests for priority: 0
debug: running header regexp tests; score so far=0
debug: registering glue method for check_uridnsbl 
(Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4))
debug: registering glue method for check_hashcash_double_spend 
(Mail::SpamAssassin::Plugin::Hashcash=HASH(0x8e08a5c))
debug: registering glue method for check_for_spf_helo_pass 
(Mail::SpamAssassin::Plugin::SPF=HASH(0x8de65e4))
debug: SPF: message was delivered entirely via trusted relays, not required
debug: registering glue method for check_hashcash_value 
(Mail::SpamAssassin::Plugin::Hashcash=HASH(0x8e08a5c))
debug: all '*To' addrs: 
debug: registering glue method for check_for_spf_softfail 
(Mail::SpamAssassin::Plugin::SPF=HASH(0x8de65e4))
debug: SPF: message was delivered entirely via trusted relays, not required
debug: registering glue method for check_for_spf_pass 
(Mail::SpamAssassin::Plugin::SPF=HASH(0x8de65e4))
debug: registering glue method for check_for_spf_helo_softfail 
(Mail::SpamAssassin::Plugin::SPF=HASH(0x8de65e4))
debug: registering glue method for check_for_spf_helo_fail 
(Mail::SpamAssassin::Plugin::SPF=HASH(0x8de65e4))
debug: running body-text per-line regexp tests; score so far=-2.623
debug: running uri tests; score so far=-2.623
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) implements 
'check_tick'
debug: running raw-body-text per-line regexp tests; score so far=-2.623
debug: running full-text regexp tests; score so far=-2.623
debug: Current PATH is: 
/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin
debug: executable for pyzor was found at /usr/bin/pyzor
debug: Pyzor is available: /usr/bin/pyzor
debug: entering helper-app run mode
debug: setuid: helper proc 12210: ruid=0 euid=0
debug: Pyzor: got response: 66.250.40.33:24441  (200, 'OK')     0       0
debug: leaving helper-app run mode
debug: DCCifd is not available: no r/w dccifd socket found.
debug: executable for dccproc was found at /usr/local/bin/dccproc
debug: DCC is available: /usr/local/bin/dccproc
debug: entering helper-app run mode
debug: setuid: helper proc 12211: ruid=0 euid=0
debug: DCC: got response: X-DCC-xmailer-Metrics: eco.3e.org 1192; Body=46636 
Fuz1=3490472 Fuz2=3490793
debug: leaving helper-app run mode
debug: DCC: Listed! BODY: 46636 of 999999 FUZ1: 3490472 of 999999 FUZ2: 3490793 
of 999999
debug: Running tests for priority: 500
debug: RBL: success for 1 of 1 queries
debug: plugin: Mail::SpamAssassin::Plugin::URIDNSBL=HASH(0x83b4ba4) implements 
'check_post_dnsbl'
debug: running meta tests; score so far=-1.25
debug: running header regexp tests; score so far=0.32
debug: running body-text per-line regexp tests; score so far=0.32
debug: running uri tests; score so far=0.32
debug: running raw-body-text per-line regexp tests; score so far=0.32
debug: running full-text regexp tests; score so far=0.32
debug: Running tests for priority: 1000
debug: running meta tests; score so far=0.32
debug: running header regexp tests; score so far=0.32
debug: lock: 12206 created 
/tmp/spamd-12206-init/.spamassassin/auto-whitelist.lock.eco.3e.org.12206
debug: lock: 12206 trying to get lock on 
/tmp/spamd-12206-init/.spamassassin/auto-whitelist with 0 retries
debug: lock: 12206 link to 
/tmp/spamd-12206-init/.spamassassin/auto-whitelist.lock: link ok
debug: Tie-ing to DB file R/W in 
/tmp/spamd-12206-init/.spamassassin/auto-whitelist
debug: auto-whitelist (db-based): [EMAIL PROTECTED]|ip=none scores 0/0
debug: AWL active, pre-score: 0.32, autolearn score: 0.32, mean: undef, IP: 
undef
debug: DB addr list: untie-ing and unlocking.
debug: DB addr list: file locked, breaking lock.
debug: unlock: 12206 unlink 
/tmp/spamd-12206-init/.spamassassin/auto-whitelist.lock
debug: Post AWL score: 0.32
debug: running body-text per-line regexp tests; score so far=0.32
debug: running uri tests; score so far=0.32
debug: running raw-body-text per-line regexp tests; score so far=0.32
debug: running full-text regexp tests; score so far=0.32
debug: is spam? score=0.32 required=5
debug: tests=ALL_TRUSTED,DCC_CHECK,MISSING_DATE,MISSING_SUBJECT,NO_REAL_NAME
debug: 
subtests=__HAS_MSGID,__MSGID_OK_DIGITS,__MSGID_OK_HOST,__SANE_MSGID,__UNUSABLE_MSGID
server started on port 783/tcp (running version 3.0.0)
logmsg: server started on port 783/tcp (running version 3.0.0)
logmsg: server successfully spawned child process, pid 12212
logmsg: server successfully spawned child process, pid 12213
logmsg: server successfully spawned child process, pid 12214
logmsg: server successfully spawned child process, pid 12215
logmsg: server successfully spawned child process, pid 12216
server pid: 12206
logmsg: connection from localhost.localdomain [127.0.0.1] at port 36146
debug: Conf::SQL: executing SQL: select preference, value  from userpref where 
username = '[EMAIL PROTECTED]' or username = '@GLOBAL' order by username asc
debug: retrieving prefs for [EMAIL PROTECTED] from SQL server
debug: user has changed
debug: bayes: Using username: [EMAIL PROTECTED]
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 25
debug: bayes: Not available for scanning, only 153 spam(s) in Bayes DB < 200
debug: Score set 1 chosen.
logmsg: processing message <[EMAIL PROTECTED]> for [EMAIL PROTECTED]:0.
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 25
debug: bayes: Not available for scanning, only 153 spam(s) in Bayes DB < 200
debug: metadata: X-Spam-Relays-Trusted: 
debug: metadata: X-Spam-Relays-Untrusted: 
debug: ---- MIME PARSER START ----
debug: main message type: text/plain
debug: parsing normal part
debug: added part, type: text/plain
debug: ---- MIME PARSER END ----
debug: decoding: no encoding detected
debug: Message too short for language analysis
debug: URIDNSBL: domains to query: 
debug: is Net::DNS::Resolver available? yes
debug: Net::DNS version: 0.48
debug: all '*From' addrs: [EMAIL PROTECTED]
debug: Running tests for priority: 0
debug: running header regexp tests; score so far=0
debug: SPF: message was delivered entirely via trusted relays, not required
debug: all '*To' addrs: [EMAIL PROTECTED]
debug: SPF: message was delivered entirely via trusted relays, not required
debug: running body-text per-line regexp tests; score so far=-2.82
debug: running uri tests; score so far=-2.82
debug: running raw-body-text per-line regexp tests; score so far=-2.82
debug: running full-text regexp tests; score so far=-2.82
debug: Pyzor is available: /usr/bin/pyzor
debug: entering helper-app run mode
debug: setuid: helper proc 12274: ruid=0 euid=0
debug: Pyzor: got response: Traceback (most recent call last):
debug: leaving helper-app run mode
debug: Pyzor: couldn't grok response "Traceback (most recent call last):"
debug: DCCifd is not available: no r/w dccifd socket found.
debug: DCC is available: /usr/local/bin/dccproc
debug: entering helper-app run mode
debug: setuid: helper proc 12275: ruid=0 euid=0
debug: DCC: got response: X-DCC-xmailer-Metrics: eco.3e.org 1192; Body=0
debug: leaving helper-app run mode
debug: Running tests for priority: 500
debug: RBL: success for 1 of 1 queries
debug: running meta tests; score so far=-2.82
debug: running header regexp tests; score so far=-2.82
debug: running body-text per-line regexp tests; score so far=-2.82
debug: running uri tests; score so far=-2.82
debug: running raw-body-text per-line regexp tests; score so far=-2.82
debug: running full-text regexp tests; score so far=-2.82
debug: Running tests for priority: 1000
debug: running meta tests; score so far=-2.82
debug: running header regexp tests; score so far=-2.82
debug: lock: 12212 created 
/root/.spamassassin/auto-whitelist.lock.eco.3e.org.12212
debug: lock: 12212 trying to get lock on /root/.spamassassin/auto-whitelist 
with 0 retries
debug: lock: 12212 link to /root/.spamassassin/auto-whitelist.lock: link ok
debug: Tie-ing to DB file R/W in /root/.spamassassin/auto-whitelist
debug: auto-whitelist (db-based): [EMAIL PROTECTED]|ip=none scores 0/0
debug: AWL active, pre-score: -2.82, autolearn score: -2.82, mean: undef, IP: 
undef
debug: add_score: New count: 1, new totscore: -2.82
debug: DB addr list: untie-ing and unlocking.
debug: DB addr list: file locked, breaking lock.
debug: unlock: 12212 unlink /root/.spamassassin/auto-whitelist.lock
debug: Post AWL score: -2.82
debug: running body-text per-line regexp tests; score so far=-2.82
debug: running uri tests; score so far=-2.82
debug: running raw-body-text per-line regexp tests; score so far=-2.82
debug: running full-text regexp tests; score so far=-2.82
debug: auto-learn: currently using scoreset 1.
debug: auto-learn: message score: -2.82, computed score for autolearn: -2.82
debug: auto-learn? ham=0.1, spam=12, body-points=0, head-points=-2.82, 
learned-points=0
debug: auto-learn? yes, ham (-2.82 < 0.1)
debug: Learning Ham
debug: all '*From' addrs: [EMAIL PROTECTED]
debug: all '*To' addrs: [EMAIL PROTECTED]
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 25
debug: tokenize: header tokens for To = "U*dmd D*3e.org D*org"
debug: tokenize: header tokens for *m = "  E1CBgPg 0003Bf 7F eco 3e org "
debug: tokenize: header tokens for *F = "U*dmd D*3e.org D*org"
debug: tokenize: header tokens for *RT = " "
debug: tokenize: header tokens for *RU = " "
debug: tokenize: header tokens for *r = "   dmd by eco.3e.org   local (Exim 
4.41) id 1CBgPg-0003Bf-7F   [EMAIL PROTECTED]; "
debug: tokenize: header tokens for *r = "   dmd by eco.3e.org   local (Exim 
4.41) id 1CBgPg-0003Bf-7F   [EMAIL PROTECTED];     amavis by eco.3e.org   
scanned-ok (Exim 4.41) id 1CBgPh-0003Bn-5h   [EMAIL PROTECTED]; "
debug: bayes: seen ([EMAIL PROTECTED]) put
debug: bayes: Learned '[EMAIL PROTECTED]', atime: 1096233513
debug: is spam? score=-2.82 required=4
debug: tests=ALL_TRUSTED
debug: subtests=__HAS_MSGID,__HAS_SUBJECT,__SANE_MSGID
logmsg: clean message (-2.8/4.0) for [EMAIL PROTECTED]:0 in 0.6 seconds, 451 
bytes.
logmsg: result: . -2 - ALL_TRUSTED scantime=0.6,size=451,mid=<[EMAIL 
PROTECTED]>,autolearn=ham
logmsg: server killed by SIGINT, shutting down
=================================


Can anyone tell me what I'm doing wrong?

-- 
Daniel Drucker / [EMAIL PROTECTED]

Reply via email to