tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 16 year old bug

On Mon, 23 Aug 2010 23:21:37 -0400 Thor Lancelot Simon
<> wrote:
> On Mon, Aug 23, 2010 at 10:15:58PM -0400, Perry E. Metzger wrote:
> > On Mon, 23 Aug 2010 21:46:16 -0400 (EDT) der Mouse
> > <mouse%Rodents-Montreal.ORG@localhost> wrote:
> > > The reason was exactly this: growing the space without
> > > renumbering when the original space's pair had alreayd been
> > > allocated elsewhere.  Was it necessary?  Not for most values of
> > > "necessary". Was it useful? Definitely.
> > 
> > Was it, for practical purposes, unsupportable? Was it something
> > likely to cause subtle bugs all over the networking stack? Was it
> > something obsoleted more or less 20 years ago? All yes.
> That's silly.  A bitmask is a bitmask, and there's nothing magical
> or difficult about masked compare.

It is difficult to reason about the effects of non-contiguous
bitmasks when dealing with security critical code. What happens when
one is using bitmasks as part of generating data structures in filter
code? What happens when you deal with non-contiguous blocks as part of
building routing data structures?

There are loads of places where odd effects can happen. Code that
is rarely or ever used is code where dragons lurk.

> I could care less whether support for noncontiguous subnet masks
> were to disappear,

Then don't argue against it.

> but I would strongly prefer that nothing _else_
> in the system that relies on the IP stack supporting them be
> needlessly broken in the process just so we can say we're modern
> and stylish. That's just irresponsible.

I don't think anyone was arguing in favor of breaking the stack in
order to be stylish. I think people were arguing in favor of getting
rid of a whole class of problems by doing input validation.

Perry E. Metzger      

Home | Main Index | Thread Index | Old Index