Re: [Dovecot] VERY cool add-on request.
On Sat, 2006-03-18 at 09:25 -0500, David A. Lee wrote:
You refered to a specific one for dspam. Would it be easy to generalize ?
Yes, shouldn't be too hard. But the plugin also looks at headers etc. which would be very hard to capture in a config file. Well, not impossible, but cumbersome.
I'm not sure what you're after but say you want to be able to define folder actions in a config file. Let me draw up a hypothetical config file example with the logic of the dspam plugin. The syntax is sort of borrowed from Exim :)
----begin folder action config---- copy into "SPAM" fail condition !${defined:header:X-DSpam-Signature} fail message "Message doesn't have dspam signature!" run "dspam --signature ${header:X-DSpam-Signature} --is-spam"
copy outof "SPAM" ignore to "Trash" fail condition !${defined:header:X-DSpam-Signature} fail message "Message doesn't have dspam signature!" run "dspam --signature ${header:X-DSpam-Signature} --not-spam" ----end folder action config----
I'm sure others can come up with examples where the config file has to be even more elaborate... I can imagine having a 'pipe' action instead of 'run' that would give the command the message on stdin for example.
johannes
Thanks for re-itterating the existance of your plugin. I'm new to the mailing lists so I hadn't seen it before, but this is sort of what I was getting at. I would still love to see the idea incorporated into Dovecot with config file parameters, and I'm happy to see I'm not alone, but if a plugin works in the meantime that's all I care about at the moment.
Unfortunately I'm using the Spamassassin not Dspam, so I'm pooring over
the plugin code to try and figure out how to adapt it. I know
perl/php/shell/etc..., but nothing about C, so I'm having a little
difficulty, and really don't have time to learn it for this fix (although
C is on my list of things to learn :).
You say it should be fairly easy, so would someone be willing to take on this task of patching the plugin to make it more general, or at minimum point me to what I need to change?
thanks, Adam
On Sat, 18 Mar 2006, Johannes Berg wrote:
On Sat, 2006-03-18 at 09:25 -0500, David A. Lee wrote:
You refered to a specific one for dspam. Would it be easy to generalize ?
Yes, shouldn't be too hard. But the plugin also looks at headers etc. which would be very hard to capture in a config file. Well, not impossible, but cumbersome.
I'm not sure what you're after but say you want to be able to define folder actions in a config file. Let me draw up a hypothetical config file example with the logic of the dspam plugin. The syntax is sort of borrowed from Exim :)
----begin folder action config---- copy into "SPAM" fail condition !${defined:header:X-DSpam-Signature} fail message "Message doesn't have dspam signature!" run "dspam --signature ${header:X-DSpam-Signature} --is-spam"
copy outof "SPAM" ignore to "Trash" fail condition !${defined:header:X-DSpam-Signature} fail message "Message doesn't have dspam signature!" run "dspam --signature ${header:X-DSpam-Signature} --not-spam" ----end folder action config----
I'm sure others can come up with examples where the config file has to be even more elaborate... I can imagine having a 'pipe' action instead of 'run' that would give the command the message on stdin for example.
johannes
Someday I suspect I will do this. This is the sort of 'side job' I enjoy ... but I wouldnt hold my breath, it might be weeks or months before I get to it.
As for making changes to C code if you dont know C ... I wouldnt recommend this one as your first C experiment ...
This is why generalized plugins are a great idea ! I'm glad to see dovecot support them natively. Its much safer and actually more useful to support plugins then to encourage people to hack the core code.
You say it should be fairly easy, so would someone be willing to take on this task of patching the plugin to make it more general, or at minimum point me to what I need to change?
thanks, Adam
participants (3)
-
Adam M. Dunn
-
David A. Lee
-
Johannes Berg