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>?

Am I missing something obvious?
Thanks in advance for attention!


Вторник, 31 марта 2015, 11:19 -05:00 от "k...@rice.edu" <k...@rice.edu>:
>On Tue, Mar 31, 2015 at 06:53:24PM +0300, Орхан Касумов wrote:
>>  The problem is, I can't achieve full redundancy and avoid the single point 
>> of failure.
>> Currently my setup consists of all separate VMs grouped in two chains:
>> 
>> MX1=> DSPAM1 => IMAP1
>> MX2=> DSPAM2 => IMAP2
>> 
>> Any node in one chain can inter-operate with any NEXT node in its own or the 
>> other chain,
>> so, there's no single point of failure when it comes to message delivery, 
>> BUT... 
>> 
>> A single point of failure still exists when it comes to DSPAM training. 
>> DSPAM client on each IMAP VM
>> interacts with only one DSPAM server specified as "ClientHost <IP address>" 
>> in dspam.conf.
>> If that DSPAM server is unavailable, the training won't work.
>> 
>> However, in the same dspam.conf file, the database server can be specified 
>> by providing a DNS name,
>> and the DNS name can then resolve to several IP addresses for failover 
>> purposes. The problem is, DSPAM server
>> listening on some port uses the "auto" mode to accept both standard LMTP 
>> messages from MX servers and
>> DSPAM-specific LMTP messages from DSPAM client. But MySQL server listens on 
>> a dedicated port
>> only for MySQL-specific messages. This is the most confusing part for me: 
>> how can DSPAM client inter-operate
>> with MySQL server to do training?
>> 
>> My colleague who offered this idea (unfortunately, he can't help me with 
>> configs personally)
>> says he did that before using some "training mode" setting in the standard 
>> dspam.conf file. Is it possible?
>> Can DSPAM client talk MySQL language to MySQL server (for "Spam"/"Innocent" 
>> reclassification purposes)
>> by changing some setting in the dspam.conf file?
>> 
>
>Use mail alias based training to avoid the single-point of failure.
>
>Regards,
>Ken
>
>------------------------------------------------------------------------------
>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

------------------------------------------------------------------------------
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