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]