Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netinet make "keep state" work for SYN without win scale...



details:   https://anonhg.NetBSD.org/src/rev/693689559d66
branches:  trunk
changeset: 532149:693689559d66
user:      yamt <yamt%NetBSD.org@localhost>
date:      Sat Jun 01 07:21:11 2002 +0000

description:
make "keep state" work for SYN without win scale option.

diffstat:

 sys/netinet/ip_state.c |  11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diffs (32 lines):

diff -r e7c55d39ab51 -r 693689559d66 sys/netinet/ip_state.c
--- a/sys/netinet/ip_state.c    Sat Jun 01 06:35:35 2002 +0000
+++ b/sys/netinet/ip_state.c    Sat Jun 01 07:21:11 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ip_state.c,v 1.38 2002/05/02 17:13:30 martti Exp $     */
+/*     $NetBSD: ip_state.c,v 1.39 2002/06/01 07:21:11 yamt Exp $       */
 
 /*
  * Copyright (C) 1995-2002 by Darren Reed.
@@ -96,7 +96,7 @@
 #if !defined(lint)
 #if defined(__NetBSD__)
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_state.c,v 1.38 2002/05/02 17:13:30 martti Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_state.c,v 1.39 2002/06/01 07:21:11 yamt Exp $");
 #else
 static const char sccsid[] = "@(#)ip_state.c   1.8 6/5/96 (C) 1993-2000 Darren Reed";
 static const char rcsid[] = "@(#)Id: ip_state.c,v 2.30.2.70 2002/04/27 16:06:15 darrenr Exp";
@@ -698,8 +698,11 @@
                        is->is_maxsend = is->is_send;
 
                        if ((tcp->th_flags & TH_SYN) &&
-                           ((tcp->th_off << 2) >= (sizeof(*tcp) + 4)))
-                               is->is_swscale = fr_tcpoptions(tcp);
+                           ((tcp->th_off << 2) >= (sizeof(*tcp) + 4))) {
+                               int wscale = fr_tcpoptions(tcp);
+                               if (wscale >= 0)
+                                       is->is_swscale = wscale;
+                       }
                }
 
                is->is_maxdwin = 1;



Home | Main Index | Thread Index | Old Index