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