Never mind..

I think I just found it..

The spamd server will not pay attention to SQL preferences by default,
even with user_scores_dsn set in the config files.  You must startup
spamd with the proper options (ie -q or -Q, see perldoc spamd for more
information).  If the user_scores_dsn option does not exist,
SpamAssassin will not attempt to use SQL for retrieving users'
preferences.


Grr.. ok.. I'll give that a shot. :)

Although, from the man page, the -q or -Q options seem a little threatening:

-q, --sql-config Enable SQL config (only useful with -x)
-Q, --setuid-with-sql Enable SQL config (only useful with -x,

-x, --nouser-config Disable user config files


Then again.. now that I read that.. maybe not so threatening.. :)

-Rich


Rich West wrote:

Now, I know I had this working with SA 3.0 and below on a previous incarnation of our mail server (Fedora Linux, SA 3.0.1, Sendmail 8.13.1, procmail), but I have noticed that it no longer picks up the individual user whitelist/blacklist information from the database as it should..

Our installation is somewhat simple. We have a global .procmailrc file that pipes everything through spamc (we have a running spamd process) to flag incoming spam. It worked wonderfully.

In the /etc/mai/spamassassin/local.cf, I have:
user_scores_dsn                 DBI:mysql:Email:localhost
user_scores_sql_username        mydbuser
user_scores_sql_password        mydbpasswd

Now, when I run spamd in the foreground with the -D option, and I run something through the spamc process, I never see it match the email against what exists in the whitelist entries in the database.

The database looks like the following:
mysql> show fields from userpref;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| username   | varchar(100) |      | MUL |         |                |
| preference | varchar(30)  |      |     |         |                |
| value      | varchar(100) |      |     |         |                |
| prefid     | int(11)      |      | PRI | NULL    | auto_increment |
+------------+--------------+------+-----+---------+----------------+

Now, on startup, it does mention that it was successful in getting a DB connection, but, aside from that, I have not seen any other activity relating to the database... Is there something that I have missed here?

In the debug tests I have run with a clean message from an address in my whitelist (stored in the database), I see:
debug: bayes: Database connection established
debug: bayes: found bayes db version 3
debug: bayes: Using userid: 2
debug: Score set 3 chosen.


But, it's like it is not using the database at all....

Any ideas as to where I can begin to look?
-Rich




Reply via email to