Date: Tue, 3 Jun 1997 21:23:49 +1000 (EST) From: Darren Reed <darrenr@cyber.com.au> To: dg@root.com Cc: security@freebsd.org Subject: Re: TCP RST Handling in 2.2 (fwd) Message-ID: <199706031123.VAA03044@plum.cyber.com.au> In-Reply-To: <199706031120.EAA06181@implode.root.com> from "David Greenman" at Jun 3, 97 04:20:16 am
next in thread | previous in thread | raw e-mail | index | archive | help
In some mail I received from David Greenman, sie wrote > > >! if (tiflags&TH_RST) { > > > >! if ((ti->ti_seq != tp->rcv_nxt) || > >! (ti->ti_ack && ((SEQ_LEQ(ti->ti_ack, tp->iss) || > >! SEQ_GT(ti->ti_ack, tp->snd_max))))) > >! goto drop; > > This looks highly bogus to me. What happens if the server crashes and comes > back up? The code as written above appears to drop all attempts by the server > to issue an RST...right? No. An RST must be issued for a packet that it has received. These usually come out of tcp_respond() which uses the original packet (with the SEQ & ACK numbers). Or is there a situation which I'm missing here ? Darren
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706031123.VAA03044>