[Dovecot] Developing new Dspam Plugin

Timothy White dovecot.user at weirdo.bur.st
Tue Jun 27 04:21:27 EEST 2006


On 6/26/06, Johannes Berg <johannes at sipsolutions.net> wrote:
> On Fri, 2006-06-23 at 20:27 +0800, Timothy White wrote:
>
> > I have successfully modified Johannes plugin to call SPAM and HAM in
> > the database, with the signatures,
>
> Your call_dspam routine is a bit bogus, the neither exit(127) nor return
> -1 can ever execute ;) The original code must have had something like
> that because it was forking, but your code doesn't.

The original code had those 2 lines.
    exit(127); /* fall through if dspam can't be found */
    return -1; /* never executed */
Now I look at it, I can do without both of them.

>
> Same goes for mysqlinit(), you shouldn't exit() from a plugin, just
> return an error to the imap connection. If you exit(), the imap
> connection dies.

Done.

>
> Also, you should lazily init the mysql connection and then either close
> it, or keep it open and re-use it, currently you don't close it but
> re-init the mysql context and reconnect, that's probably going to create
> a bunch of stale connections to the database.

Hmmm, show's that I'm a bad programmer. I can't believe I left
connections open, I don't normally do that! This lib-dict stuff sounds
good.
Timo, do you have an example of how to use it? Otherwise, for now I'll
just close the connections.

Tim
-- 
Linux Counter user #273956


More information about the dovecot mailing list