dspam retraining issue
Al Zick <[email protected]> Mon, 20 Apr 2015 12:18:12 -0400
| Newsgroups | gmane.mail.spam.dspam.user |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I hope that someone can help me.
It really doesn't look like my retraining is working. My guess is
that I have something wrong in a config somewhere. However, I have
been working on this for months and still have not been able to solve
the problem.
agnus: {420} grep -v ^# /usr/local/etc/dspam/dspam.conf | grep -v ^$
Home /var/dspam
TrustedDeliveryAgent "/usr/local/bin/procmail"
OnFail unlearn
Trust root
Trust dspam
Trust apache
Trust mail
Trust mailnull
Trust smmsp
Trust daemon
Trust nobody
TrainingMode toe
TestConditionalTraining on
Feature noise
Feature whitelist
Feature tb=5
Algorithm graham burton
Tokenizer osb
PValue bcr
WebStats on
ImprobabilityDrive on
Preference "trainingMode=TOE" # { TOE | TUM | TEFT |
NOTRAIN } -> default:teft
Preference "spamAction=quarantine" # { quarantine | tag |
deliver } -> default:quarantine
Preference "spamSubject=[SPAM]" # { string } -> default:[SPAM]
Preference "statisticalSedation=5" # { 0 - 10 } -> default:0
Preference "enableBNR=on" # { on | off } -> default:off
Preference "enableWhitelist=on" # { on | off } -> default:on
Preference "signatureLocation=message" # { message | headers } ->
default:message
Preference "tagSpam=on" # { on | off }
Preference "tagNonspam=off" # { on | off }
Preference "showFactors=off" # { on | off } -> default:off
Preference "optIn=off" # { on | off }
Preference "optOut=off" # { on | off }
Preference "whitelistThreshold=10" # { Integer } -> default:10
Preference "makeCorpus=off" # { on | off } -> default:off
Preference "storeFragments=off" # { on | off } -> default:off
Preference "localStore=" # { on | off } ->
default:username
Preference "processorBias=on" # { on | off } -> default:on
Preference "fallbackDomain=off" # { on | off } -> default:off
Preference "trainPristine=off" # { on | off } -> default:off
Preference "optOutClamAV=off" # { on | off } -> default:off
Preference "ignoreRBLLookups=off" # { on | off } -> default:off
Preference "RBLInoculate=off" # { on | off } -> default:off
Preference "notifications=off" # { on | off } -> default:off
AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride fallbackDomain
AllowOverride ignoreGroups
AllowOverride ignoreRBLLookups
AllowOverride localStore
AllowOverride makeCorpus
AllowOverride optIn
AllowOverride optOut
AllowOverride optOutClamAV
AllowOverride processorBias
AllowOverride RBLInoculate
AllowOverride showFactors
AllowOverride signatureLocation
AllowOverride spamAction
AllowOverride spamSubject
AllowOverride statisticalSedation
AllowOverride storeFragments
AllowOverride tagNonspam
AllowOverride tagSpam
AllowOverride trainPristine
AllowOverride trainingMode
AllowOverride whitelistThreshold
AllowOverride dailyQuarantineSummary
AllowOverride notifications
HashRecMax 98317
HashAutoExtend on
HashMaxExtents 0
HashExtentSize 49157
HashPctIncrease 10
HashMaxSeek 10
HashConnectionCache 10
ExtLookup on # Turns on/
off external lookup
ExtLookupMode map # available
modes are 'verify', 'map' and 'strict'.
# 'strict'
enforces both verify and map
ExtLookupDriver program # Currently
only ldap and program are supported.
# There are
plans to support both MySQL and Postgres.
ExtLookupServer "/usr/local/bin/dspam_extlookup -u %u -f /etc/
dspam/dspam_extlookups.conf"
# an
executable lookup program and its arguments.
# and
ExtLookupMode 'map' or 'strict'
Notifications off
TxtDirectory /var/dspam/txt
PurgeSignatures 14 # Stale signatures
PurgeNeutral 90 # Tokens with neutralish probabilities
PurgeUnused 90 # Unused tokens
PurgeHapaxes 30 # Tokens with less than 5 hits (hapaxes)
PurgeHits1S 15 # Tokens with only 1 spam hit
PurgeHits1I 15 # Tokens with only 1 innocent hit
LocalMX 127.0.0.1
SystemLog on
UserLog on
Opt out
ParseToHeaders on
ChangeModeOnParse on
ChangeUserOnParse full
MaxMessageSize 2097152
ServerQueueSize 32
ServerPID /var/run/dspam/dspam.pid
ServerMode auto
ServerPass.Relay1 "secret"
ServerParameters "--deliver=innocent -d %u"
ServerIdent "localhost.localdomain"
ServerDomainSocketPath "/var/dspam/dspam.sock"
ClientHost /var/dspam/dspam.sock
ClientIdent "secret@Relay1"
ProcessorURLContext on
ProcessorBias on
StripRcptDomain off
GroupConfig /var/dspam/group
agnus: {421} cat /etc/postfix/aliases
#dspam retraining
retrain-as-ham: "|'/usr/local/bin/dspam' --user
'root' --class=innocent --source=error --mode=toe"
retrain-as-spam: "|'/usr/local/bin/dspam' --user
'root' --class=spam --source=error --mode=toe"
agnus: {423} cat /usr/local/etc/procmailrc
# dspam filtering:
:0fw
| /usr/local/bin/dspam --mode=toe --process --stdout --
deliver=spam,innocent --username antispam --client
# kick out spam
:0
* ^X-DSPAM-Result: Spam
{
:0
* ^X-DSPAM-Confidence: 0\.(9|8[5-9])
/dev/null
:0
/var/mail/spam
}
I run: "ccsclean /var/dspam/data/antispam/antispam.css" at least once
a day.
If I run: "cat spam.msg | /usr/local/bin/dspam --user antispam --
class=spam --source=error" on messages that have already been filter
by dspam. This will work for a while. I can retrain a few hundred
emails. Then I start getting segmentation fault.
If I run: "cat innocent.msg | /usr/local/bin/dspam --user antispam --
class=innocent --source=error" I get a segmentation fault right from
the start even if I removed /var/dspam/data/antispam and redid corpus
training.
If I change the command to "cat innocent.msg | /usr/local/bin/dspam --
mode=teft --user antispam --class=innocent --source=error" then it
works, but after a few hours the daemon process will crash.
Also, I tried using dspam-retrain-forward.pl
agnus: {427} more /etc/postfix/master.cf
#
# Dspam retaining transport
#
dspam-retrain unix - n n - - pipe flags=XRu user=dspam argv=/usr/
local/bin/dspam-retrain-forward.pl
--debug=no
--client
--user ${sender}
--class=${nexthop}
--source=error
--full=yes
--headers-only=no
--bodies-only=yes
--first-only=no
--skip-first=no
--bin-dir=/usr/bin
But it doesn't log anything and it crashes the dspam daemon.
I know that I have something wrong, but I just can't seem to find it.
Any ideas?
Also, how should retraining be done?
Thanks,
Al
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF