Dear Chris,

Thank you for properly reading and understanding my question. The problem was 
solved.
The problem had two causes. One of them was related to DSPAM's home directory, 
as indicated by this message:

                using  /var/db/dspam/opt-out/orkhan.gasi...@example.xyz.nodspam 
 as path

and the other one was related to MySQL DB, as indicated by the message:

                mysql_drv_getpwnam: returning NULL for query on name: 
orkhan.gasi...@example.xyz

The second problem happened because arguments passed by Dovecot's antispam 
plugin to DSPAM client included "%u" for the user.
So, DSPAM tried to find specific user (in my case, 
"orkhan.gasi...@example.xyz") in the "dspam_virtual_uids" table in MySQL DB.
But the record for that user didn't exist, as (for test purposes) DSPAM was 
configured to do filtering for "globalgroup", not for individual users.
As soon as I changed the arguments passed by Dovecot's antispam plugin to 
include "globalgroup" instead of "%u",
and corrected the first problem, retraining worked.

So, it seems like FOR NOW I've done with this redundant and failover-viable 
mail system with spam filter.
Thanks to everyone for willing to help.


Среда,  8 апреля 2015, 14:58 +02:00 от Christoph Langguth 
<christoph+ds...@rosenkeller.org>:
>Hi,
>
>I'm not an expert, so I may be wrong on this, but I think that your 
>problem is not caused by a wrong path, but is only on the MySQL side. 
>specifically, it seems like this query:
>
>select uid from dspam_virtual_uids where 
>username='orkhan.gasi...@example.xyz';
>
>fails (returns nothing) when run on your dspam server against whatever 
>DB is configured there. I think you can focus on fixing this (maybe some 
>DB synchronization issue? Others already gave hints about that), and 
>that the other stuff you mention ("setting Home...") is irrelevant for 
>this problem. But as said, I might be wrong.
>
>HTH
>Chris
>
>On 08/04/15 09:32, Орхан Касумов wrote:
>> Good day.
>>
>> Still working on SPAM filtering system described previously in an
>> attempt to add redundancy/failover capabilities to it.
>> What I did is: on each IMAP server, local DSPAM instance now works as
>> server IN ADDITION to being called as client.
>> These local DSPAM servers are not used for initial spam filtering (it's
>> done by dedicated DSPAM servers between the SMTP servers and IMAP servers),
>> they will only be used for Spam/Innocent reclassification purposes (they
>> connect to the same MySQL database as dedicated DSPAM servers).
>>
>> Intended behavior is: no matter which IMAP server a user is connected
>> to, when the user drags a mail from "Inbox" folder to "DSPAM" folder,
>>    1) on IMAP server, Dovecot calls local DSPAM as a client,
>>    2) then DSPAM client talks to local DSPAM server,
>>    3) then DSPAM server talks to MySQL server to reclassify the message.
>>
>> The problem is, due to either incorrect arguments passed by Dovecot's
>> antispam plugin, or some missing setting in local dspam.conf,
>> local DSPAM server on IMAP server can't properly talk to MySQL: user is
>> not found is MySQL database because the path is incorrect:
>> (DSPAM debug output fragment)
>>
>>
>> input args: dspam --client --source=error --signature=<some value>
>> --class=innocent
>> processing user  orkhan.gasi...@example.xyz
>> uid = 0, euid = 0, gid = 0, egid = 0
>> loading preferences for user  orkhan.gasi...@example.xyz
>> default preferences empty. reverting to dspam.conf preferences.
>> -> found attribute 'Home' with value '/var/db/dspam'
>> -> read attribute 'Home' with value '/var/db/dspam'
>> using  /var/db/dspam/opt-in/orkhan.gasi...@example.xyz.dspam as path
>> using  /var/db/dspam/opt-out/orkhan.gasi...@example.xyz.nodspam as path
>> _mysql_drv_getpwnam: returning NULL for query on name:
>>  orkhan.gasi...@example.xyz
>> _mysql_drv_set_spamtotals: unable to
>> _mysql_drv_getpwnam(orkhan.gasi...@example.xyz)
>>
>>
>>
>> Please advise, what arguments could be passed by Dovecot's antispam
>> plugin, so that the path for a user is not constructed as:
>>
>>  /var/db/dspam/opt-in/orkhan.gasi...@example.xyz.dspam
>>
>> but constructed as:
>>
>>    /<mail storage directory>/<example.xyz>/< orkhan.gasi...@example.xyz >?
>> <mailto:orkhan.gasi...@example.xyz%3E?>
>>
>> Am I missing something obvious?
>> Thanks in advance for attention!
>>
>
>
>------------------------------------------------------------------------------
>BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
>Develop your own process in accordance with the BPMN 2 standard
>Learn Process modeling best practices with Bonita BPM through live exercises
>http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
>source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
>_______________________________________________
>Dspam-user mailing list
>Dspam-user@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/dspam-user

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Dspam-user mailing list
Dspam-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-user

Reply via email to