strncmp usage in ipfw

Brooks Davis brooks at one-eyed-alien.net
Thu Dec 9 16:33:54 PST 2004


On Thu, Dec 09, 2004 at 04:23:39PM -0800, Luigi Rizzo wrote:
> 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

Sounds reasionable.

-- Brooks

> 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
> 
-- 
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ipfw/attachments/20041209/9365ed3b/attachment.bin


More information about the freebsd-ipfw mailing list