Hey all, I have configured dspam according to the docs/sendmail.txt and the sendmail howto doc on the wiki. I have attached all of the config files to this email.
Here's the problem. I have dspam set to OptIn, since we when/if we install dspam in production, it will have to be in OptIn mode first, and allow users to opt-in, then we will later move to an opt-out scenario. On my test system, I can send and receive email just fine and for my test OptIn user everything is marked as innocent, but when I forward an email to the "spam@" retraining address, I run into problems. Problem A) At first, the retraining spam address failed every time. The sendmail logs report this with an "unknown mailer error 1", which turned out to be dspam seeing the "root" user as having no OptIn preference, so it simply returned a "1" error code and exited. This seems strange, because the docs clearly state that the "--user root" flag in /etc/aliases will be overridden by the signature, and dspam will then look up that user's prefs. Problem B) OK, so I add the "OptIn on" preference for root, and try again. This time the message is accepted just fine by dspam, but it retrains the message as root. now my dspam_stats shows the following: root TP: 0 TN: 0 FP: 0 FN: 1 SC: 0 NC: 0 mmccoy TP: 0 TN: 31 FP: 0 FN: 0 SC: 0 NC: 0 Problem C) [minor problem] The sendmail logs a line like this for every message, is there a way to stop it? Jan 5 10:01:18 troy sendmail[24057]: [ID 801593 mail.error] NOQUEUE: Warning: mailer local: LMTP flag (F=z) turned off Here's the setup on my test system: Solaris 10 w/ Sun Sendmail 8.13.7 Mysql 4.1.21 from blastwave Dspam 3.6.8 compiled with: # ./configure --prefix=/usr/local/dspam --enable-large-scale --enable-daemon \ --enable-preferences-extension --enable-debug --enable-clamav --with-storage-driver=mysql_drv \ --with-mysql-includes=/opt/csw/mysql4/include/mysql --with-mysql-libraries=/opt/csw/mysql4/lib/mysql Here is -------- sendmail.mc: divert(0)dnl VERSIONID(`@(#)main.mc 1.5 (Sun) 08/10/00') OSTYPE(`solaris8')dnl DOMAIN(`solaris-antispam')dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet')dnl FEATURE(`access_db')dnl define(`LOCAL_MAILER_PATH', `/usr/local/dspam/bin/dspam') define(`LOCAL_MAILER_ARGS', `dspam "--deliver=innocent" --user $u -d %u') MAILER(`local')dnl MAILER(`smtp')dnl define(`confTO_IDENT', `0') define(`confMAX_HEADERS_LENGTH', `32768') define(`confSMTP_LOGIN_MSG', `$j\n\nYour attempt to get system information is unauthorized.\nThis attempt has been logged.\n $b\n') define(`confPRIVACY_FLAGS', `goaway') -------- The relevant lines from /etc/aliases: spam: "|/usr/local/dspam/bin/dspam --user root --class=spam --source=error" notspam: "|/usr/local/dspam/bin/dspam --user root --class=innocent --source=error" -------- dspam.conf (w/ comments removed for brevity) Home /usr/local/dspam/var/dspam StorageDriver /usr/local/dspam/lib/libmysql_drv.so TrustedDeliveryAgent "/usr/bin/mail" OnFail error Trust root Trust mail Trust mailnull Trust smmsp Trust daemon Trust dspam DebugOpt process classify spam fp inoculation corpus Debug * TrainingMode teft TestConditionalTraining on Feature chained Feature whitelist Feature tb=5 Algorithm graham burton PValue graham Preference "signatureLocation=message" # 'message' or 'headers' Preference "showFactors=on" Preference "spamAction=quarantine" AllowOverride trainingMode AllowOverride spamAction spamSubject AllowOverride statisticalSedation AllowOverride enableBNR AllowOverride enableWhitelist AllowOverride showFactors AllowOverride optIn optOut AllowOverride whitelistThreshold MySQLServer /tmp/mysql.sock MySQLUser dspam MySQLPass password_changed MySQLDb dspam MySQLSuppressQuote on MySQLUIDInSignature yes HashRecMax 98317 HashAutoExtend on HashMaxExtents 0 HashExtentSize 49157 HashMaxSeek 100 HashConnectionCache 10 Notifications off PurgeSignature 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 TrainPristine on Opt in ParseToHeaders on ChangeUserOnParse on ProcessorBias on -------- -- Mark McCoy -- Professional Unix geek Here in America we are descended in blood and in spirit from revolutionists and rebels - men and women who dared to dissent from accepted doctrine. As their heirs, may we never confuse honest dissent with disloyal subversion. -- Dwight D. Eisenhower
