Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Dec 2004 16:23:39 -0800
From:      Luigi Rizzo <rizzo@icir.org>
To:        Brooks Davis <brooks@one-eyed-alien.net>
Cc:        ipfw@freebsd.org
Subject:   Re: strncmp usage in ipfw
Message-ID:  <20041209162339.A6743@xorpc.icir.org>
In-Reply-To: <20041210001958.GA8377@odin.ac.hmc.edu>; from brooks@one-eyed-alien.net on Thu, Dec 09, 2004 at 04:19:58PM -0800
References:  <20041129192514.GA7331@odin.ac.hmc.edu> <20041130041932.B91746@xorpc.icir.org> <20041209150821.B5606@xorpc.icir.org> <20041210001958.GA8377@odin.ac.hmc.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 09, 2004 at 04:19:58PM -0800, Brooks Davis wrote:
...
> > i wonder if one couldn't temporarily replace strncmp with a wrapper that
> > does behave as strncmp, but issues a warning in those cases where
> > the results would be ambiguous.
> > At least in this way one could tell if there is a problem
> > anywhere before removing it.
> 
> That would be easy enough.  We could just ship 6.x that way and switch
> to only using explicit abbreviations in 7.x giving us a nice deprecation
> schedule without too much maintenance hassle.

i was actually thinking of putting the wrapper in 5.x as well
because there are no functional changes but the added bonus of
pointing out ambiguous and possibly unwanted behaviours

luigi
> -- Brooks
> 
> > On Thu, Dec 09, 2004 at 01:53:19PM -0800, Brooks Davis wrote:
> > > On Tue, Nov 30, 2004 at 04:19:32AM -0800, Luigi Rizzo wrote:
> > > > i believe the original, old ipfw code used strncmp() to allow for
> > > > abbreviations. When i rewrote ipfw2 i did not feel like removing
> > > > the feature for fear of introducing backward compatibility problems
> > > > with existing files. However I agree that this introduces a
> > > > maintainability nightmare and i believe we should move to strcmp(),
> > > > especially given that with ipfw2 new option names are coming out
> > > > quite frequently.
> > > 
> > > OK, that makes sense.
> > > 
> > > I'd like to propose the following plan:
> > > 
> > >  - Disallow new strncmp instances in all branches.
> > > 
> > >  - remove strncmp usage in HEAD with the intention of explicitly adding
> > >    back needed abbreviations when those abbreviations are both:
> > >     - sane (no single letter appreviations, reasionable edit distance
> > >       from other options, either obvious shorthand or reasionbly mnemonic).
> > >     - actually used be someone (this is key, espeicaly since there are
> > >       hundreds of possiable values and this isn't a documented
> > >       feature as far as I can tell.)
> > > 
> > > If need be we could implement a more complex stratigy for deprecation
> > > where we use a new matching function and warn about short matches, but
> > > I'm not sure that's necessicary.
> > > 
> > > -- Brooks
> > 
> -- 
> Any statement of the form "X is the one, true Y" is FALSE.
> PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041209162339.A6743>