Bug 5663 - virtual-config-dir: create-prefs mutually exclusive?
Summary: virtual-config-dir: create-prefs mutually exclusive?
Status: NEW
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamc/spamd (show other bugs)
Version: 3.2.1
Hardware: PC Linux
: P5 normal
Target Milestone: Undefined
Assignee: SpamAssassin Developer Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-29 21:24 UTC by Jon Daley
Modified: 2007-09-29 21:24 UTC (History)
0 users



Attachment Type Modified Status Actions Submitter/CLA Status

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Daley 2007-09-29 21:24:12 UTC
I have just started using --virtual-config-dir after using spamd/spamc for a
long time.

When I turned on --virtual-config-dir, the --create-prefs stopped working.  I
poked around in the code for a while; it looked like it might work better
without --nouser-config, which the docs said was required, but isn't.

I finally settled on modifying spamd slightly, by adding:
create_default_cf_if_needed($prefsfile, $username, $userdir );
at line 2152 (and commenting out the info() message above.

This works almost perfectly, but as some others have said, there is some
strangeness going on with extra .spamassassin/.spamassassin directories being
created.
It is somewhat related to bug 1511, but I am not using vpopmail, but as I look
through the code, I am pretty sure the recent fix for vpopmail weren't exactly
correct, but I couldn't figure out a method that would work for me, and not
break the vpopmail folks, so I decided to just leave the additional
.spamassassin directory there.  bug 5611 also looks somewhat relevant.  and bug
3256 would also help some, though I agree with Justin's comment about taking a
step backward to look at the whole picture.

Related to this is that the bayesian db was also not created automatically,
though it was looking for the right file name, since it didn't exist, it
wouldn't create it.  The way I solved that was to run:
sa-learn --dbpath /home/vmail/mail/{domain}/{user}/.spamassassin/bayes --ham <
/dev/null

whenever creating new accounts.  I didn't look for a similar fix like:
create_default_cf_if_needed for the bayesian db.

Here are the interesting config options, if that helps anything:
OPTIONS="--port=784 --create-prefs --max-children 8 --nouser-config
--helper-home-dir --virtual-config-dir=/home/vmail/mail/%d/%l/.spamassassin
--username=vmail"

I created this additional server on port 784, since I couldn't figure out how to
make one spamd work for virtual and non-virtual users at the same time.

Hopefully, this wasn't too long and rambling, so that it gets ignored.