summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorNiels Provos <provos@cvs.openbsd.org>2002-02-05 17:03:12 +0000
committerNiels Provos <provos@cvs.openbsd.org>2002-02-05 17:03:12 +0000
commit4043a327dac0848a481a2a288b6707c0a211efdf (patch)
treec344f8a07acba24fd4badab324bcd660ef9c29ca /sys
parent81c3cc3136024cf7623633e688655e814208763a (diff)
when retransmitting a segment after FIN has been sent don't set FIN
unless we are transmitting the last of our data. report from jishac@grc.nasa.gov; pr/2368
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/tcp_output.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index 25161e896cb..b46f70a499c 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_output.c,v 1.46 2002/01/14 19:58:18 provos Exp $ */
+/* $OpenBSD: tcp_output.c,v 1.47 2002/02/05 17:03:11 provos Exp $ */
/* $NetBSD: tcp_output.c,v 1.16 1997/06/03 16:17:09 kml Exp $ */
/*
@@ -383,7 +383,7 @@ again:
len = tp->t_maxseg;
sendalot = 1;
}
- if (SEQ_LT(tp->snd_nxt + len, tp->snd_una + so->so_snd.sb_cc))
+ if (off + len < so->so_snd.sb_cc)
flags &= ~TH_FIN;
win = sbspace(&so->so_rcv);