You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Andrew <an...@arda.homeunix.net> on 2006/04/19 05:54:45 UTC

problem with AWL and SQL

I'm trying to set up SA to use MySQL to store the Auto WhiteList but 
it's just not working out for me. SA seems to be trying to create a lock 
file on disk. The problem is that I run spamd as a user which doesn't 
have a home directory. Here is what I find in my spamd log files.

@400000004445b038302e5f9c [59195] error: locker: safe_lock: cannot 
create tmp lockfile 
/nonexistent/.spamassassin/auto-whitelist.lock.lorien.arda.homeunix.net.59195 
for /nonexistent/.spamassassin/auto-whitelist.lock: No such file or 
directory
@400000004445b0383030c4e4 [59195] warn: auto-whitelist: open of 
auto-whitelist file failed: locker: safe_lock: cannot create tmp 
lockfile 
/nonexistent/.spamassassin/auto-whitelist.lock.lorien.arda.homeunix.net.59195 
for /nonexistent/.spamassassin/auto-whitelist.lock: No such file or 
directory

(The funny strings with the '@' sign at the beginning of lines is a 
timestamp. I use daemontools to run spamd instead of inetd.)

Is this normal behaviour even when using an SQL database to store the AWL?

Here are the relevant parameters from my local.cf file.

user_awl_dsn                 DBI:mysql:saawl:localhost:3306
user_awl_sql_username        sa
user_awl_sql_password        <password>
user_awl_sql_table           awl

I use MySQL with the same credentials to store the Bayesian database and 
that's working fine. Only the AWL is giving me a problem. I can manually 
log into the saawl database and even insert and delete rows as the sa user.

Andrew


Re: problem with AWL and SQL

Posted by Matt Kettler <mk...@comcast.net>.
Andrew wrote:
>
>
> Is this normal behaviour even when using an SQL database to store the
> AWL?
No, but you're not using a SQL database for the AWL, read on.
>
> Here are the relevant parameters from my local.cf file.
>
> user_awl_dsn                 DBI:mysql:saawl:localhost:3306
> user_awl_sql_username        sa
> user_awl_sql_password        <password>
> user_awl_sql_table           awl 

Where's your auto_whitelist_factory statement? You can't just enable SQL
by setting those parameters. You have to tell SA to stop using DB files
as a storage method and use SQL instead.

Try adding this to your config file:

auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList

And be sure to read this document:

http://spamassassin.apache.org/full/3.1.x/dist/sql/README.awl