From 8c1d813591c186e078f540e496caafbeaff0186d Mon Sep 17 00:00:00 2001 From: ps Date: Mon, 28 Feb 2000 21:18:21 +0000 Subject: Limit the maximum permissible TCP window size to 65535 octets if window scaling is disabled. PR: kern/16914 Submitted by: Jayanth Vijayaraghavan Reviewed by: wollman Approved by: jkh --- sys/netinet/tcp_subr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sys/netinet/tcp_subr.c') diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index b15c7d1..ee62998 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -314,8 +314,11 @@ tcp_respond(tp, ipgen, th, m, ack, seq, flags) ipov = ipgen; if (tp) { - if (!(flags & TH_RST)) + if (!(flags & TH_RST)) { win = sbspace(&tp->t_inpcb->inp_socket->so_rcv); + if (win > (long)TCP_MAXWIN << tp->rcv_scale) + win = (long)TCP_MAXWIN << tp->rcv_scale; + } #ifdef INET6 if (isipv6) ro6 = &tp->t_inpcb->in6p_route; -- cgit v1.1