diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2005-12-01 22:31:51 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2005-12-01 22:31:51 +0000 |
commit | 4268217f9e9742c5613cf5d5d9cabdc58d1c9b4b (patch) | |
tree | a207c32fe83c2a9e1ba6b5711831172ba3002eb6 /sys/netinet | |
parent | e1479e938b762ba4b093f11b37ce4a928e82406d (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.c | 5 |
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) { |