On Thu, Jul 15, 2010 at 03:37:02PM -0400, Wietse Venema wrote:

> > One might suggest that CIDR is not a good fit for this even if stored
> > just once, an IPC based server that walks trees rather than lists
> > would be far more suitable...
> 
> I agree that the Postfix CIDR implementation achieves simplicity
> of implementation (including correctness) by sacrificing space and
> speed.
> 
> It seems that speed-wise improvements could be made cheaply by
> adding IF/ENDIF support, similar to the regexp/pcre tables.

Yes, this did occur to me:

        IF 192.0.0.0/4
        IF 192.0.0.0/12
        IF 192.0.0.0/20
        192.0.2.1       REJECT example address
        ENDIF optional text
        ENDIF 192.0.0.0/12
        ENDIF 192.0.0.0/4

plus a suitable "compiler" script that constructs a sensibly
efficient nested IF structure from a list of CIDR blocks.

-- 
        Viktor.

Reply via email to