summaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2005-12-01 22:31:51 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2005-12-01 22:31:51 +0000
commit4268217f9e9742c5613cf5d5d9cabdc58d1c9b4b (patch)
treea207c32fe83c2a9e1ba6b5711831172ba3002eb6 /sys/netinet
parente1479e938b762ba4b093f11b37ce4a928e82406d (diff)
allow RST if the th_seq matches rcv_nxt in case the RST follows the
data immediately. otherwise we would ignore RST for delayed acks; ok deraadt, dhartmei
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/tcp_input.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index c95c45db243..f7385892c4c 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_input.c,v 1.193 2005/11/15 21:09:45 miod Exp $ */
+/* $OpenBSD: tcp_input.c,v 1.194 2005/12/01 22:31:50 markus Exp $ */
/* $NetBSD: tcp_input.c,v 1.23 1996/02/13 23:43:44 christos Exp $ */
/*
@@ -1423,7 +1423,8 @@ trimthenstep6:
* Close the tcb.
*/
if (tiflags & TH_RST) {
- if (th->th_seq != tp->last_ack_sent)
+ if (th->th_seq != tp->last_ack_sent &&
+ th->th_seq != tp->rcv_nxt)
goto drop;
switch (tp->t_state) {