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>