[7844] in bugtraq

home help back first fref pref prev next nref lref last post

Re: FreeBSD's RST validation

daemon@ATHENA.MIT.EDU (Bruce A. Mah)
Tue Sep 1 16:25:39 1998

Date: 	Mon, 31 Aug 1998 19:58:16 -0700
Reply-To: bmah@CA.Sandia.GOV
From: "Bruce A. Mah" <bmah@CA.SANDIA.GOV>
X-To:         Don Lewis <Don.Lewis@tsc.tdk.com>
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  Your message of "Mon, 31 Aug 1998 14:56:55 PDT." 
              <199808312156.OAA28434@salsa.gv.tsc.tdk.com>

If memory serves me right, Don Lewis wrote:

> Now that I look at this change some more, I think your added tests are
> a NOP because of the code just above this:
>
>               if ((tiflags & TH_ACK) &&
>                     (SEQ_LEQ(ti->ti_ack, tp->iss) ||
>                      SEQ_GT(ti->ti_ack, tp->snd_max))) {
>                       [ snip comment ]
>                         if (taop->tao_ccsent != 0)
>                                 goto drop;
>                         else
>                                 goto dropwithreset;
>
> If the ACK is outside the window, the packet will already have been
> dropped before we even look for the RST flag.

Ah, yes.  You're absolutely right.  So it appears only the second of the
original patches is useful (if it's correct, that is).

This was a good day for me...I learned something.

Thanks!

Bruce.

home help back first fref pref prev next nref lref last post