On Wed, Feb 21, 2007, Guy Hulbert <[EMAIL PROTECTED]> said:

> On Wed, 2007-21-02 at 14:26 +0000, [EMAIL PROTECTED] wrote:
>> > My wish would be: I can configure inside the plugins-config which
>> > plugins where used normally and which are used while relaying.
>> 
>> i can see several ways to do this:
>> 
>> 1. each plugin gets a 'skip_relayclients' boolean config option
>> 2. a special 'accept_relay' plugin gets loaded repeatedly, once per
>>    hook, in just the right spot to break before certain plugins
>> 3. have just two plugins in control/plugins, check_relay and
>> 'uber_plugin'
>>    which will read control/relay_plugins and control/nonrelay_plugins,
>> and
>>    will rebuild the hook chains based on the relay status.
>> 
>> 2 is easiest, 1 and 3 more flexible.
>> 
>> comments?
> 
> This seems to require major changes to the core code.
> 

#3 certainly does. #1 and #2 are just plugin changes, with #2 only
requiring that we cutout the relay handling from existing plugins, and add
a new plugin.

control/plugins looks something like:

check_relay
sender_permitted_from
accept_relay:0 hook=mail_from
greylisting
accept_relay:1 hook=rcpt_to
..

note that those are complete gibberish, but you get the idea- you can
break
out of any hook chain at any point. unfortunately, it does require you to
understand exactly which hooks each plugin uses...

allan

-- 
m. allan noah
IT Director, TfHS.net
ph# (804) 355-5489
tf# (866) 724-9722
fx# (804) 355-0477


Reply via email to