I'm running my qpsmtpd on quite and old and slow machine, and I was thinking 
it might be an idea to run different sets of plugins depending on the source 
IP - trusted senders (my internal network) can be sent without spamassassin 
and clamav and the rest, where mail from external IP's still need full 
testing.

Now I know this isn't what large-scale users will want to do (ISPs will want 
to stop their users sending as well as receiving spam) and my internal 
network could still be subject to trojans etc but subject to the "is this a 
good idea" comment, I was wondering about the best way to do this.

I see the immediate different options to do this as being
 - run multiple but different qpsmtpd setups on different ports for internal 
and external users
 - a single qpsmtpd setup, but use tcprules with tcpserver to set an 
environment variable which could point at a different config folder in 
Qpsmtpd::get_qmail_config()
 - modify individual plugins to do nothing depending on remote-ip
 - change the core config mechanism to understand some generic "run this 
plugin if..." mechanism
 - like above but also let plugins get/set internal state flags per connection 
and adjust their behaviour

#1 is the most easily done, but seems a bit of a dead end. And I'd be loathe 
to jump in to #5 if there's no general desire to see such a feature and it 
involves so many patches that no one would adopt it.

Is anyone else interested in the idea of dynamically choosing plugin sets ? 
You may decide, for example, that certain IP ranges should be subject to 
stricter tests, or that authenticated SMTP conversations are subject to 
less...

Could just throw some more cycles at it, of course...

--
T

Reply via email to