Date: Fri, 27 Oct 2000 17:56:06 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Darren Reed <darrenr@reed.wattle.id.au>, Darren Reed <darrenr@pobox.com> Cc: net@FreeBSD.org Subject: Re: [CFR] IPFILTER patch Message-ID: <20001027175606.A39062@sunbay.com> In-Reply-To: <200010271431.BAA19966@avalon.reed.wattle.id.au>; from darrenr@reed.wattle.id.au on Sat, Oct 28, 2000 at 01:31:23AM %2B1100 References: <20001027170933.A36523@sunbay.com> <200010271431.BAA19966@avalon.reed.wattle.id.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 28, 2000 at 01:31:23AM +1100, Darren Reed wrote: > In some email I received from Ruslan Ermilov, sie wrote: > > Hi! > > > > As we discussed yesterday, here are the patches to IPFILTER > > that are needed for my upcoming "byte-swapping elimination" > > patch. Sorry, it took a bit more than an hour... > > Hmm, there are some problems with this. > > In some cases, off is being put into an int (should always be > a u_short) > Huh, the only such a case I see is inside fr_makefrip(), and is easily fixed by: --- fil.c 2000/10/26 12:33:42 1.21 +++ fil.c 2000/10/27 14:50:40 @@ -204,8 +204,8 @@ int hlen; ip_t *ip; fr_info_t *fin; { - u_short optmsk = 0, secmsk = 0, auth = 0; - int i, mv, ol, off, p, plen, v; + u_short optmsk = 0, secmsk = 0, auth = 0, off; + int i, mv, ol, p, plen, v; fr_ip_t *fi = &fin->fin_fi; struct optlist *op; u_char *s, opt; > but of more concern is that you're treating fin_off > as both a byte address (you shift it left three times) and as > the eight byte offset it actually is in the packet. > Umm, not exactly. They are really EQUIVALENT for zero/non-zero tests. If the offset is zero, then offset*8 is also zero, and vice versa. As for the ip_frag.c code, I have explicitly stated that it now stores offsets of fragments in bytes (previously was in octets). So this should not be a problem. -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001027175606.A39062>