summaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2006-02-26 17:50:46 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2006-02-26 17:50:46 +0000
commitde4b673e0b6c1464f97ad378e5ca02d1764be91c (patch)
treed4f2dab66039c5d81f36b46a3c86e0c6661c4e8a /sys/netinet
parent480fd612dccb10193f1efcfeb4b11ece1b75870e (diff)
unbreak tcp window update (restore 4.4lite code); netbsd pr 13952;
ok claudio, henning, brad, djm, tedu
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/tcp_input.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index f7385892c4c..3cceaacfa10 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_input.c,v 1.194 2005/12/01 22:31:50 markus Exp $ */
+/* $OpenBSD: tcp_input.c,v 1.195 2006/02/26 17:50:45 markus Exp $ */
/* $NetBSD: tcp_input.c,v 1.23 1996/02/13 23:43:44 christos Exp $ */
/*
@@ -1938,9 +1938,10 @@ step6:
* Update window information.
* Don't look at window if no ACK: TAC's send garbage on first SYN.
*/
- if ((tiflags & TH_ACK) && (SEQ_LT(tp->snd_wl1, th->th_seq) ||
- (tp->snd_wl1 == th->th_seq && SEQ_LT(tp->snd_wl2, th->th_ack)) ||
- (tp->snd_wl2 == th->th_ack && tiwin > tp->snd_wnd))) {
+ if ((tiflags & TH_ACK) &&
+ (SEQ_LT(tp->snd_wl1, th->th_seq) || (tp->snd_wl1 == th->th_seq &&
+ (SEQ_LT(tp->snd_wl2, th->th_ack) ||
+ (tp->snd_wl2 == th->th_ack && tiwin > tp->snd_wnd))))) {
/* keep track of pure window updates */
if (tlen == 0 &&
tp->snd_wl2 == th->th_ack && tiwin > tp->snd_wnd)