Date: Wed, 1 Oct 1997 18:37:36 -0700 From: Don Lewis <Don.Lewis@tsc.tdk.com> To: Richard Jones <richard@a42.deep-thought.org>, Paul Traina <pst@juniper.net> Cc: "Jordan K. Hubbard" <jkh@time.cdrom.com>, dg@root.com, Don Lewis <Don.Lewis@tsc.tdk.com>, hackers@FreeBSD.ORG, bugs@FreeBSD.ORG Subject: Re: FreeBSD TCP stack and RST processing [subj changed] Message-ID: <199710020137.SAA16461@salsa.gv.tsc.tdk.com> In-Reply-To: Richard Jones <richard@a42.deep-thought.org> "Re: FreeBSD TCP stack and RST processing [subj changed]" (Oct 2, 11:09am)
next in thread | previous in thread | raw e-mail | index | archive | help
On Oct 2, 11:09am, Richard Jones wrote:
} Subject: Re: FreeBSD TCP stack and RST processing [subj changed]
} Paul Traina <pst@juniper.net> wrote:
} > I put it in there for a reason, Steven's III showed a case where you could
} > pummel the box with a barage of, I believe, syn ack's and basicly melt things.
} > Sorry my memory is so foggy on the issue now. I'll go back and try to
} > remember.
Steven's III? I don't have that one, since I figured that I already knew
how NNTP worked.
} Hmm..but if you barrage the system with SYN ACK's when the system is in a
} listen state, you shouldn't jump into SYN_RECEIVED should you?
Nope. This case is handled earlier:
case TCPS_LISTEN: {
struct mbuf *am;
register struct sockaddr_in *sin;
if (tiflags & TH_RST)
goto drop;
if (tiflags & TH_ACK)
goto dropwithreset;
if ((tiflags & TH_SYN) == 0)
goto drop;
} The code
} which does the if (TH_RST) stuff is prolly ok...its the addition of the
} case SYN_RECEIVED up the top that does the trick.
As in goobers it up.
} Its ok to look for
} an ACK when in SYN_SENT on RST's coz thats what is expected, and if you
} get other than expected and drop then its no big deal unless you can force
} a remote freebsd system to send out (pure) SYN's to non-connected
} ports, unlikely. I only have the snippets posted to the list available, but
} based on them I'd say remove the case SYN_RECEIVED that was added.
That's what I did in my local source tree.
} You might
} get away with getting rid of the ACK flag check without losing anything, but
} any side effects should be thought through.
Yeah, the case of what to do if you receive an ACK in the SYN_RECEIVED
case bothers me as well.
--- Truck
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710020137.SAA16461>
