I use dspam 3.10.1, dovecot 2.1.7, and postfix 2.9.6 on Debian 7.

When I run dspam_stats without "-H u...@domain.com" or when
dspam_clean runs, it returns "Unable to attach DSPAM context" and
points to a variation of the mail/dspam directories, with "/local/""
injected, as below:

Mar 27 00:00:01 mars /USR/SBIN/CRON[7479]: (dspam) CMD (
/usr/bin/dspam_logrotate -a 30 -d /var/decrypted-mail/dspam/data/)
Mar 27 00:00:01 mars /USR/SBIN/CRON[7480]: (dspam) CMD (
/usr/bin/dspam_clean -s -p -u)
Mar 27 00:00:01 mars dspam[7482]: Unable to open file for writing:
/var/decrypted-mail/dspam/data/local/john/john.lock: No such file or
directory
Mar 27 00:00:01 mars dspam[7482]: unable to attach dspam context


This is from the email dspam sends warning of the problem:
-----
From: r...@mars.domain.com (Cron Daemon)
To: ds...@mars.domain.com
Subject: Cron <dspam@mars>   /usr/bin/dspam_clean -s -p -u
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/var/spool/dspam>
X-Cron-Env: <LOGNAME=dspam>

Unable to attach DSPAM context
dspam_clean starting
PROCESSING USER: john
-----


I only use virtual mailboxes and domains for both local linux uses and
virtual mail users. These are via mapped mailboxes, domains, and alias
in postfix and with authentication via dovecot. For example, "john" is
a local linux account and that same user is "j...@domain.com", via
virtual mail hosting.

/postfix/virtual_mailbox_domains
domain.com  OK

/postfix/virtual_alias_maps
j...@domain.com   j...@domain.com

/postfix/virtual_mailbox_maps
j...@domain.com   domain/john

/dovecot/users
j...@domain.com:{CRAM-MD5}::snipped_for_space:5000:5000

/dovecot/conf.d/10-mail.conf:
mail_location = maildir:~/mail
mail_home = /var/decrypted-mail/vhosts/%d/%n

/dspam/dspam.conf
Home /var/decrypted-mail/dspam


Where could it be picking up
/var/decrypted-mail/dspam/data/local/john/john.lock from? How can I
verify if it is processing j...@domain.com's virtual mailbox, too?
There doesn't seem to be any verbose switch on dspam_clean.

Other than this, it generally seems to work. Mail arrives with the
headers including a list of tags and scores and a spam/not-spam
determination (though [SPAM] is not appearing in subject line even
though set in the config) and it seems to train it when I move mail
into and out of the Junk folder...

Any guidance would be appreciated. I've seen some other discussion
elsewhere about user being searched for in /local/data/, but they've
either been inconclusive or seem not quite related to what I'm seeing
or my setup.

I did read a post from two years ago on this list that stated the
following for a similar incident:

----
"The data/local/username construct is used if you have a setup that
requires usernames formatted as email addresses (you have that) but
you use a login name without a domain. Dspam then uses the 'local'
string in stead of the domain you failed to use."
----

Of course, as demonstrated above, mail users are only virtual and only
use u...@domain.com to login. I suppose I should also ask -- where
does dspam even figure out the list of users to run dspam_clean or
dspam_stats against (if a user isn't provided on the command line), in
the first place, if it isn't just looking in the Home directory
provided in the dspam.conf?

I sincerely appreciate your time and input. Thank you. I'll include my
dspam.conf, below, because I'm not sure if doing it by pastebin is
accepted around here and I'd rather give you the information now than
waste your time asking me for it later.

Regards.


/dspam/dspam.conf
Home /var/decrypted-mail/dspam
StorageDriver /usr/lib/x86_64-linux-gnu/dspam/libhash_drv.so
TrustedDeliveryAgent "/usr/sbin/sendmail"
UntrustedDeliveryAgent "/usr/lib/dovecot/deliver -d %u"
OnFail error
Trust root
Trust dspam
Trust www-data
Trust mail
Trust daemon
Trust amavis
Trust vmail
Trust dovecot
TrainingMode teft
TestConditionalTraining on
Feature whitelist
Algorithm graham burton
Tokenizer osb
PValue bcr
WebStats on
Preference "trainingMode=TEFT"          # { TOE | TUM | TEFT | NOTRAIN
} -> default:teft
Preference "spamAction=tag"             # { 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=off"                # { 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
IgnoreHeader X-Spam-Status
IgnoreHeader X-Spam-Scanned
IgnoreHeader X-Virus-Scanner-Result
IgnoreHeader X-Virus-Scanned
IgnoreHeader X-DKIM
IgnoreHeader DKIM-Signature
IgnoreHeader DomainKey-Signature
IgnoreHeader X-Google-Dkim-Signature
Notifications   off
PurgeSignatures 28      # 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 off
ChangeUserOnParse full
ServerPID               /var/run/dspam/dspam.pid
ServerDomainSocketPath  "/var/run/dspam/dspam.sock"
ClientHost      /var/run/dspam/dspam.sock
ProcessorURLContext on
ProcessorBias on
StripRcptDomain off
Include /etc/dspam/dspam.d/

<span class="sewxdms72oa34c"><br></span>

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Dspam-user mailing list
Dspam-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-user

Reply via email to