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