Spamassassin notes
Rich Braun
richb at pioneer.ci.net
Fri Sep 5 17:36:50 EDT 2003
Getting spamassassin to work correctly on my new system environment was a
royal pain. Here are some comments that will others will hopefully be able to
find via google. I searched high and low for these errors and found
*nothing*, so it's been quite a few hours to come up with this info for the
benefit of other victims of *sloppy* Perl/python coding practices. (We're
now, er-hum, celebrating 25 years of loose Unix morality: when in doubt,
don't check for an error condition, and in the event one is found 7 levels of
subroutines up, do *not* print out a useful error message. *Sigh*.)
1. DCC_CHECK. The DCC package stopped working on my system. Putting spamd
into -D (debug) interactive mode, I found that the default installation put
dccproc into /usr/local/bin instead of /usr/bin. Added a symlink.
2. PYZOR_CHECK. Even with -D, the only error message I could get it to print
out was 'Traceback (most recent call last):'. To get the rest of the error, I
had to insert a shell stub between spamd and pyzor, which redirected stdout to
a file in /tmp. Turned out spamd was attempting to access /root/.pyzor
instead of the correct home directory. Added the command 'pyzor_options
--homedir /var/run/spamd/.pyzor' to the userpref file (in my case, it's a
Mysql database entry.)
3. OSIRUSOFT. Added 'score RCVD_IN_OSIRUSOFT_COM 0' to userpref. The
maintainer shut off this service. If you leave it enabled, your messages will
be flagged as spam.
4. RAZOR2_CHECK. I don't remember what I had to do to fix this, but the -D
option to spamd shed enough light on it to go in and perform the appropriate
tweak.
5. BAYES. Nothing worked about this, and it failed almost silently. Turns
out to be three problems:
First, my old bayes_seen / bayes_toks files were in an old database format;
the error message was something like:
Cannot open bayes_path /var/adm/spamd/.spamassassin/bayes R/O:
To clear this, blow away your old bayes data files. Sorry, I don't think
there's any way to convert to the new format.
Second, if you're going to a new rev of Spamassassin (given the hair I was
tearing out, I went ahead to the 2.60 release candidate), you need to go into
CPAN and install DB_File. The first time this runs, it will give a warning
message in spamd debug output (if you've done any sa-learn previously) that
your database is in format 0 and needs to be convereted to format 2. It will
do the conversion for you and next time the warning won't appear.
Third, if you're still not getting BAYES_XX output in your email, it's
probably because you haven't issued sa-learn on enough messages. You have to
feed it a mailbox of at least 200 messages of spam *and* another of 200 valid
"ham" messages.
Now back to our regularly-scheduled background noise of spam. I used to have
99% accurate spam detection, without all 5 of the above tests it dropped to
just over 60%.
*flame on*
Spamassassin is exceedingly useful software, but it's surely not great softare
given the kludginess and the difficulty of administration. I'd hate to
imagine the stress of administering it for a commercial ISP. Do they teach
good coding practices in computer-science courses anymore?
*there, that's better*
-rich
More information about the Discuss
mailing list