kern/93236: [PATCH] Received out of window SYN in ESTABLISHED
connection isn't ACKed as required by RFC793
Grant Edwards
grante at visi.com
Sun Feb 12 10:40:10 PST 2006
The following reply was made to PR kern/93236; it has been noted by GNATS.
From: Grant Edwards <grante at visi.com>
To: bug-followup at FreeBSD.org, grante at visi.com
Cc:
Subject: Re: kern/93236: [PATCH] Received out of window SYN in ESTABLISHED
connection isn't ACKed as required by RFC793
Date: Sun, 12 Feb 2006 12:38:57 -0600
This is a multi-part message in MIME format.
--------------050209060503090801090106
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Here's the patch attached as a file.
--------------050209060503090801090106
Content-Type: text/plain;
name="tcp_input.c.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="tcp_input.c.patch"
--- tcp_input.c-orig 2006-02-12 10:24:35.988707395 -0600
+++ tcp_input.c 2006-02-12 10:25:28.877515703 -0600
@@ -1758,20 +1758,22 @@
/*
* If the ACK bit is off: if in SYN-RECEIVED state or SENDSYN
* flag is on (half-synchronized state), then queue data for
* later processing; else drop segment and return.
*/
if ((thflags & TH_ACK) == 0) {
if (tp->t_state == TCPS_SYN_RECEIVED ||
(tp->t_flags & TF_NEEDSYN))
goto step6;
+ else if (tp->t_flags & TF_ACKNOW)
+ goto dropafterack;
else
goto drop;
}
/*
* Ack processing.
*/
switch (tp->t_state) {
/*
--------------050209060503090801090106--
More information about the freebsd-bugs
mailing list