Incorrect return code when delivery fails
Brought to you by:
paulcockings,
sbajic
Man page specify :
"If the error involved an error in calling the delivery agent, the exit value of the delivery agent will be returned."
However dspam (3.6.8) returns 255 when delivery agent fails with error code 75. See this line of Postfix log :
Command died with status 255: "/usr/local/bin/dspam". Command output: 86436: [05/25/2009 19:54:32] Delivery agent returned exit code 75: /usr/local/libexec/dovecot/deliver
Can you reproduce this error with 3.8.0 or git version?
Reproduced with dspam 3.8.0 :
# cat /tmp/somemail | /usr/local/bin/dspam --user user@domain.tld --deliver=innocent,spam
66028: [05/25/2009 22:20:03] Delivery agent returned exit code 75: /usr/local/libexec/dovecot/deliver -d user@domain.tld
# echo $?
255
Can you check your dspam.conf and look what value you have set for the option "LMTPLDAErrorsPermanent"? Can you set it to "off" and try again?
Same effect with "LMTPLDAErrorsPermanent off". Note that i don't use server mode nor LMTP.
Here is my config (based on FreeBSD default config file) :
Algorithm graham burton
AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride optIn optOut
AllowOverride showFactors
AllowOverride signatureLocation
AllowOverride spamAction spamSubject
AllowOverride statisticalSedation
AllowOverride trainingMode
AllowOverride whitelistThreshold
Debug *
Feature whitelist
HashAutoExtend on
HashConnectionCache 10
HashExtentSize 49157
HashMaxExtents 0
HashMaxSeek 100
HashRecMax 98317
Home /var/db/dspam
LMTPLDAErrorsPermanent off
LocalMX 127.0.0.1
MaxMessageSize 307200
Notifications on
OnFail error
Opt out
PValue graham
Preference "showFactors=on"
Preference "signatureLocation=message" # 'message' or 'headers'
Preference "spamAction=quarantine"
ProcessorBias on
PurgeHapaxes 30 # Tokens with less than 5 hits (hapaxes)
PurgeHits1I 15 # Tokens with only 1 innocent hit
PurgeHits1S 15 # Tokens with only 1 spam hit
PurgeNeutral 90 # Tokens with neutralish probabilities
PurgeSignatures 14 # Stale signatures
PurgeUnused 90 # Unused tokens
StorageDriver /usr/local/lib/libhash_drv.so
SystemLog on
TestConditionalTraining on
TrainingMode teft
Trust daemon
Trust dspam
Trust mail
Trust mailnull
Trust root
Trust smmsp
TrustedDeliveryAgent "/usr/local/libexec/dovecot/deliver -d %u"
UserLog on
I am today out of office and can not look deeper into your problem right now. Would it be possible for you to submit the output of the following command:
ls -la /usr/local/libexec/dovecot/deliver
# ls -la /usr/local/libexec/dovecot/deliver
-rwsr-x--- 1 root mail 652148 May 17 12:31 /usr/local/libexec/dovecot/deliver
dspam is run as dspam:mail via the following master.cf entry in Postfix :
dspam unix - n n - 1 pipe flags=Rqu user=dspam:mail argv=/usr/local/bin/dspam --user ${recipient} --deliver=innocent,spam
Note that the failure of /usr/local/libexec/dovecot/deliver is volunteer during my tests.
Thomas. Can you please try to reproduce this error with 3.9.0 BETA1?
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).