Hi,

On Jun 22, 2009, at 3:48 PM, Chris Lewis wrote:

Baltasar Cevc wrote:

What should be considered, when talking about switching to such a (even if only slightly) more complicated model: it makes the start with Qpsmtpd more difficult. I consider the simplicity of the plugin scheme one of the major strengths of qp. I can just install it and tweak one or two examples and have a first running system. Interdependence would add complexity and make that more difficult.

It makes it simpler, not more complicated. It even makes filter plugin coding simpler - you have a template that contains all the glue, and you just have to worry about the filter trigger code itself - don't have to do anything about "what to do if there's a hit".

If all the filtering plugins were solely concerned with configuring what they were supposed to filter _on_ (eg: regexps for MAIL FROM, From:, Subject, HELO, rDNS etc), and a single plugin did the configuration for reject, blackhole, quarantine, where in SMTP session to reject etc., you have to read far less to figure out how to use it, and you don't have to worry about the myriads of conflicting configuration syntaxes.

Most _other_ decent filtering environments work like this. Mailshield, SpamAssassin, etc.
I agree; however, their approach is unlike qpmsptd's. To tweak Spamassassin, for example, I will first proabably add one or two lines and never think about how the system works. Qpsmtpd is different - at least that's my point of view - we chose it exactly because it leaves all open. It is designed to enable the user to create its own system with it. That would still be the case with the change, but the how would be less obvious.

You want the filtering _methods_ to be orthogonal to to email _disposal_.
I totally agree here. That's why we use a similar thing to what has been described here in our own system.

My point was not on what is most effective for filtering but on what makes the system as a whole easily understandable. The core was - to be honest - dark black magic for me at the beginning (and if I want to know something I still have to jump around a bit to remember how it works). With interdependance between the plugins we could move them towards a similar situation. That would make it more difficult for new users to add something in between because they'd first have to understand how things relate to each other.

That said, the current plugin set is somewhat more a kind of documentation to me than a really ready-to-use system. As I said, I use something similar to what has been described and I'm the last one who is against such a system. Maybe - as an alternative to what I mentioned in my first mail, one could think about preserving some of the current plugins as documentation/examples (without the need of keeping them technically top-notch).


Cheers,
Baltasar


((( Baltasar Cevc


) World wide web:
# http://www.openairkino.net/ (a project for the local youth; German only)
  # http://technik.juz-kirchheim.de/ (programming and admin projects)
  # http://baltasar.cevc-topp.de/ (private homepage)
) Phone:
  +49 178 691 22 33
)





Reply via email to