[Dovecot] Dovecot 2.2.7/2.2.8 failing to call dspam with antispam

Tom Hendrikx tom at whyscream.net
Mon Nov 25 14:54:30 EET 2013


On 11/25/2013 01:47 PM, Guillaume Hilt wrote:
> It works, there was just a mistake in my command line :
> 
> $ sudo -u vmail /usr/bin/dspam --source=error --class=spam
> --signature=89,52900600118151560172939 --client --user
> ghilt at shadowprojects.org
> 
> ...
> 16004: [11/25/2013 13:43:46] destroying/freeing configuration
> 16004: [11/25/2013 13:43:46] match attribute 'Broken' with value
> 'returnCodes'
> 16004: [11/25/2013 13:43:46] find attribute 'Broken'
> 16004: [11/25/2013 13:43:46]  -> found attribute 'Broken' with value
> 'returnCodes'
> 16004: [11/25/2013 13:43:46]  -> matched attribute 'Broken' with value
> 'returnCodes'
> 16004: [11/25/2013 13:43:46] DSPAM Instance Shutdown.  Exit Code: 99
> 16004: [11/25/2013 13:43:46] SEND: 250 2.6.0 <ghilt at apteo.com> Message
> accepted for delivery: SPAM
> 16004: [11/25/2013 13:43:46] checking trusted user list for root(0)
> 16004: [11/25/2013 13:43:46] SRECV: QUIT
> 
> The user ghilt@ exists in mysql dspam_virtual_uids table.
> 

The test is still different: dovecot config doesn't use '--client', but
commandline does. Also: the debug log for dspam shows a different
username as you are passing in.

Anyway: DSPAM is simply returning an error which is why the antispam
plugin reports failure. You're having a DSPAM config issue, not a
dovecot/antispam issue.

>   Guillaume Hilt
> 
> Le 25/11/2013 13:39, Tom Hendrikx a écrit :
>> On 11/25/2013 01:17 PM, Guillaume Hilt wrote:
>>>      Hello again,
>>>
>>> I'm running Gentoo AMD64 2013 with postfix, mysql, dovecot and dspam :
>>> dovecot 2.2.8 (it was working fine with 2.2.6 after doing a chmod 4511
>>> on dspam binary), dspam 3.10.2-r1 and dovecot-antispam-2.0_pre20130429
>>> (recompiled after each dovecot upgrade).
>>>
>>> I've set dspam to debug, and mail_debug to yes.
>>>
>>> uid 1001 is user vmail (dovecot is running under vmail)
>>> gid 12 is group mail (vmail is a member, with
>>> mail,postfix,dspam,dovecot,apache)
>>> All the necessary users are trusted in dspam configuration.
>>>
>>> Here's my plugin settings :
>>> antispam_verbose_debug = 1
>>> antispam_debug_target = syslog
>>> antispam_backend = dspam
>>> antispam_allow_append_to_spam = NO
>>> antispam_skip_from_line = NO
>>> antispam_spam = Spam
>>> antispam_trash = Trash
>>> antispam_signature = X-DSPAM-Signature
>>> antispam_signature_missing = error
>>> antispam_dspam_binary = /usr/bin/dspam
>>> antispam_dspam_args =
>>> --user;%u;--deliver=;--source=error;--signature=%%s
>> Configured to use the mail recipient
>>
>>> antispam_dspam_spam = --class=spam
>>> antispam_dspam_notspam = --class=innocent
>>> antispam_dspam_result_header = X-DSPAM-Result
>>>
>>> When i'm moving an email to the dspam folder, Thunderbird throw me an
>>> error : Failed to call dspam (email is dropped in the Spam folder
>>> anyway, but a copy stay on my INBOX)
>>>
>>> ==> /var/log/mail/mail/log <==
>>> Nov 25 13:01:04 srv1 dovecot: imap: Debug: Loading modules from
>>> directory: /usr/lib64/dovecot
>>> Nov 25 13:01:04 srv1 dovecot: imap: Debug: Module loaded:
>>> /usr/lib64/dovecot/lib90_antispam_plugin.so
>>> Nov 25 13:01:04 srv1 dovecot: imap: Debug: Added userdb setting:
>>> plugin/maildir=shadowprojects.org/ghilt/
>>> Nov 25 13:01:04 srv1 dovecot: imap(ghilt at shadowprojects.org): Debug:
>>> Effective uid=1001, gid=12, home=/home/vmail/shadowprojects.org/ghilt/
>>> Nov 25 13:01:04 srv1 dovecot: imap(ghilt at shadowprojects.org): Debug:
>>> Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no,
>>> list=yes, subscriptions=yes
>>> location=maildir:/home/vmail/shadowprojects.org/ghilt/.maildir
>>> Nov 25 13:01:04 srv1 dovecot: imap(ghilt at shadowprojects.org): Debug:
>>> maildir++: root=/home/vmail/shadowprojects.org/ghilt/.maildir, index=,
>>> indexpvt=, control=,
>>> inbox=/home/vmail/shadowprojects.org/ghilt/.maildir, alt=
>>> Nov 25 13:01:04 srv1 dovecot: imap(ghilt at shadowprojects.org): Debug:
>>> Namespace : Using permissions from
>>> /home/vmail/shadowprojects.org/ghilt/.maildir: mode=0770 gid=default
>>> Nov 25 13:01:04 srv1 dovecot: imap(ghilt at shadowprojects.org): Debug:
>>> dspam error:29764 prefix=imap(ghilt at shadowprojects.org):
>>> Nov 25 13:01:04 srv1 dovecot: imap(ghilt at shadowprojects.org): Debug:
>>> executing /usr/bin/dspam failed: 13 (uid=1001, gid=12)
>>> Nov 25 13:01:04 srv1 dovecot: imap: Error:
>>> Nov 25 13:01:04 srv1 dovecot: imap: Error:
>>>
>>> ==> /var/log/dspam/dspam.debug <==
>>> 9976: [11/25/2013 13:12:23] DSPAM Instance Startup
>>> 9976: [11/25/2013 13:12:23] input args: /usr/bin/dspam --user
>>> ghilt at shadowprojects.org --deliver= --source=error
>>> --signature=89,52900600118151560172939 --class=spam
>> Called using the mail recipient
>>
>>> 9976: [11/25/2013 13:12:23] pass-thru args:
>>> 9976: [11/25/2013 13:12:23] processing user ghilt at shadowprojects.org
>>> 9976: [11/25/2013 13:12:23] uid = 1001, euid = 0, gid = 12, egid = 12
>>> 9976: [11/25/2013 13:12:23] loading preferences for user
>>> ghilt at shadowprojects.org
>>> ...
>>> 9976: [11/25/2013 13:06:08] DSPAM Instance Shutdown.  Exit Code: 99
>>> 9976: [11/25/2013 13:06:08] process_users() failed on error 9
>>>
>>> If i try to call dspam like this, it works :
>>> sudo -u vmail /usr/bin/dspam --source=error --class=spam
>>> --signature=4be87a9f953248352114216 --client --user vmail
>> Called spam using some other user.
>>
>>> Any idea ?
>>>
>> The user ghilt at ... is not recognized in your dspam setup. You should
>> change the antispam config to use a static username, or make dspam
>> accept your recipient addresses.
>>
>>
>> Regards,
>>     Tom
>>
> 



More information about the dovecot mailing list