[Dovecot] dspam integration
Hi,
I see http://johannes.sipsolutions.net/Projects/dovecot-antispam and http://blog.cynapses.org/2007/09/13/dovecot-dspam-plugin/ solutions. Second git repo is not answer, first one is cloned, but I see some drawbacks with it.
Dspam backend is more native solution but libdspam using instead of dspam external binary looks like preffered way to integrate dspam. Another problem is waiting for dspam child process exit, so IMAP session is blocked. Why not to fork and forget dspam child process?
Email sender backend is non-blocking, but using MTA is great overhead. Calling external program with some args and mail body via pipe can be more suitable way, so external program may be dspam binary directly or shell/perl/python filter to any antispam engine via sendmail or something else.
Has anybody plans to implement this features or it will be better to try it myself?
I see http://johannes.sipsolutions.net/Projects/dovecot-antispam and http://blog.cynapses.org/2007/09/13/dovecot-dspam-plugin/ solutions. Second git repo is not answer, first one is cloned, but I see some drawbacks with it.
The first git repo is my source, and the second one is Andreas's but I think last he was working on integrating libdspam into my antispam plugin.
Dspam backend is more native solution but libdspam using instead of dspam external binary looks like preffered way to integrate dspam.
Not really. libdspam pretty much sucks. you're entitled to your own opinion :)
Another problem is waiting for dspam child process exit, so IMAP session is blocked. Why not to fork and forget dspam child process?
Because we need to know whether it liked us?
Email sender backend is non-blocking, but using MTA is great overhead. Calling external program with some args and mail body via pipe can be more suitable way, so external program may be dspam binary directly or shell/perl/python filter to any antispam engine via sendmail or something else.
Has anybody plans to implement this features or it will be better to try it myself?
Go ahead. I don't think it's good wrt. error reporting so I probably wouldn't integrate it unless it's really clean code :)
joahnnes
Johannes Berg wrote:
I see http://johannes.sipsolutions.net/Projects/dovecot-antispam and http://blog.cynapses.org/2007/09/13/dovecot-dspam-plugin/ solutions. Second git repo is not answer, first one is cloned, but I see some drawbacks with it.
The first git repo is my source, and the second one is Andreas's but I think last he was working on integrating libdspam into my antispam plugin.
Dspam backend is more native solution but libdspam using instead of dspam external binary looks like preffered way to integrate dspam.
Not really. libdspam pretty much sucks. you're entitled to your own opinion :)
Before I can use libdspam I need some changes and it is possible that dpsam will be forked soon.
A nice solution is to run dspam as daemon and configure dovecot-antispam to use
dspamc --client
I haven't configured it yet but it should work.
-- andreas
-- http://www.cynapses.org/ - cybernetic synapses
Johannes Berg wrote:
Another problem is waiting for dspam child process exit, so IMAP session is blocked. Why not to fork and forget dspam child process?
Because we need to know whether it liked us?
But it's slow. Especially with bulk moves - I had users complain about this so often that I ended up moving to DMT style batch processing using the code here:
http://members.plug.org.au/~linuxalien/dokuwiki/projects:dovecot-mysql-dspam...
Users are happy - it's fast, and let's be honest - the majority of users really don't care if there's some transient error with the spam classifier, they just find it confusing. And if there are errors, you can have them reported by the daemon or cron job that processes the batch data.
But it's slow. Especially with bulk moves
True. I use crm114 now which is a lot faster :)
- I had users complain about this so often that I ended up moving to DMT style batch processing using the code here:
http://members.plug.org.au/~linuxalien/dokuwiki/projects:dovecot-mysql-dspam...
Right. I have a backend for my plugin using the dict API, but unfortunately the dict API is broken enough to not work. If you want to implement a mysql backend rather than that plugin I'd take a patch and commit it to my plugin. That above plugin is based on an older version of mine that directly overrides the COPY command which is less flexible and much harder to do for 1.1.
Users are happy - it's fast, and let's be honest - the majority of users really don't care if there's some transient error with the spam classifier, they just find it confusing. And if there are errors, you can have them reported by the daemon or cron job that processes the batch data.
True as well.
johannes
Johannes Berg wrote:
But it's slow. Especially with bulk moves
True. I use crm114 now which is a lot faster :)
Looks shiny, I'll have to give it a try :)
Right. I have a backend for my plugin using the dict API, but unfortunately the dict API is broken enough to not work. If you want to implement a mysql backend rather than that plugin I'd take a patch and commit it to my plugin. That above plugin is based on an older version of mine that directly overrides the COPY command which is less flexible and much harder to do for 1.1.
I'll look into it (hopefully) in the next week or two as my schedule allows - this sounds like a possible solution.
Johannes, et al.
On Tue, 2007-11-20 at 14:29 +0100, Johannes Berg wrote:
But it's slow. Especially with bulk moves
True. I use crm114 now which is a lot faster :)
How are you finding CRM114? Is it faster than dspam w/ the hash driver? How is the accuracy? Are there any other important facts I should ask about?
Which MTA are you using? How are you integrating it?
Thank you, Trever Adams
P.S. Johannes, last time I tried your new plugin I was having problems with Thunderbird appending to the "Sent" folder. I haven't had time to track it down yet.
"Whatever you do will be insignificant, but it is very important that you do it." -- Gandhi
Yes, bad form to reply to myself. I forgot to ask, does CRM114 have database backends or just filesystem backends?
Trever
On Sat, 2007-11-24 at 01:16 -0700, Trever L. Adams wrote:
Johannes, et al.
On Tue, 2007-11-20 at 14:29 +0100, Johannes Berg wrote:
But it's slow. Especially with bulk moves
True. I use crm114 now which is a lot faster :)
How are you finding CRM114? Is it faster than dspam w/ the hash driver? How is the accuracy? Are there any other important facts I should ask about?
Which MTA are you using? How are you integrating it?
Thank you, Trever Adams
P.S. Johannes, last time I tried your new plugin I was having problems with Thunderbird appending to the "Sent" folder. I haven't had time to track it down yet.
"Whatever you do will be insignificant, but it is very important that you do it." -- Gandhi
"Stop searching forever. Happiness is just next to you." -- Unknown
True. I use crm114 now which is a lot faster :)
How are you finding CRM114? Is it faster than dspam w/ the hash driver?
Yes, I think it's faster, and dspam seemed to grow my database indefinitely even with all cleanups present.
How is the accuracy? Are there any other important facts I should ask about?
Dunno I just tried it and am pretty happy. It does have this "unsure" thing though which may not be good for many users.
Which MTA are you using? How are you integrating it?
exim, I'm running it either from maildrop, or if the mail was just to a single person I'm even running it within the smtp transaction, see my homepage: http://johannes.sipsolutions.net/Projects/crm114-spamd
Yes, bad form to reply to myself. I forgot to ask, does CRM114 have database backends or just filesystem backends?
That's being discussed, but right now only the css files.
P.S. Johannes, last time I tried your new plugin I was having problems with Thunderbird appending to the "Sent" folder. I haven't had time to track it down yet.
I have. It was a stupid bug, I fixed it.
joahnnes
participants (5)
-
Andreas Schneider
-
Eugene Prokopiev
-
Johannes Berg
-
Peter Fern
-
Trever L. Adams