summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authordwmalone <dwmalone@FreeBSD.org>2006-06-19 12:33:52 +0000
committerdwmalone <dwmalone@FreeBSD.org>2006-06-19 12:33:52 +0000
commit10047ad61993e797838e8e24e9c83f64fc5d9de5 (patch)
treecfffb118d87d3063994930a58474b7562209b949 /sys/netinet
parentb24bbb5c56fbe33183b32a10701302ad941e47a1 (diff)
downloadFreeBSD-src-10047ad61993e797838e8e24e9c83f64fc5d9de5.zip
FreeBSD-src-10047ad61993e797838e8e24e9c83f64fc5d9de5.tar.gz
When we receive an out-of-window SYN for an "ESTABLISHED" connection,
ACK the SYN as required by RFC793, rather than ignoring it. NetBSD have had a similar change since 1999. PR: 93236 Submitted by: Grant Edwards <grante@visi.com> MFC after: 1 month
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/tcp_input.c2
-rw-r--r--sys/netinet/tcp_reass.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 70b524c..7c59d2a 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1786,6 +1786,8 @@ trimthenstep6:
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;
}
diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c
index 70b524c..7c59d2a 100644
--- a/sys/netinet/tcp_reass.c
+++ b/sys/netinet/tcp_reass.c
@@ -1786,6 +1786,8 @@ trimthenstep6:
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;
}
OpenPOWER on IntegriCloud