tcp_input.c (46381) | tcp_input.c (46568) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994, 1995 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 | 1/* 2 * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994, 1995 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 |
34 * $Id: tcp_input.c,v 1.84 1999/02/06 00:47:45 fenner Exp $ | 34 * $Id: tcp_input.c,v 1.85 1999/05/03 23:57:30 billf Exp $ |
35 */ 36 37#include "opt_ipfw.h" /* for ipfw_fwd */ 38#include "opt_tcpdebug.h" 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> --- 796 unchanged lines hidden (view full) --- 839 * Our SYN was acked. If segment contains CC.ECHO 840 * option, check it to make sure this segment really 841 * matches our SYN. If not, just drop it as old 842 * duplicate, but send an RST if we're still playing 843 * by the old rules. If no CC.ECHO option, make sure 844 * we don't get fooled into using T/TCP. 845 */ 846 if (to.to_flag & TOF_CCECHO) { | 35 */ 36 37#include "opt_ipfw.h" /* for ipfw_fwd */ 38#include "opt_tcpdebug.h" 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> --- 796 unchanged lines hidden (view full) --- 839 * Our SYN was acked. If segment contains CC.ECHO 840 * option, check it to make sure this segment really 841 * matches our SYN. If not, just drop it as old 842 * duplicate, but send an RST if we're still playing 843 * by the old rules. If no CC.ECHO option, make sure 844 * we don't get fooled into using T/TCP. 845 */ 846 if (to.to_flag & TOF_CCECHO) { |
847 if (tp->cc_send != to.to_ccecho) | 847 if (tp->cc_send != to.to_ccecho) { |
848 if (taop->tao_ccsent != 0) 849 goto drop; 850 else 851 goto dropwithreset; | 848 if (taop->tao_ccsent != 0) 849 goto drop; 850 else 851 goto dropwithreset; |
852 } |
|
852 } else 853 tp->t_flags &= ~TF_RCVD_CC; 854 tcpstat.tcps_connects++; 855 soisconnected(so); 856 /* Do window scaling on this connection? */ 857 if ((tp->t_flags & (TF_RCVD_SCALE|TF_REQ_SCALE)) == 858 (TF_RCVD_SCALE|TF_REQ_SCALE)) { 859 tp->snd_scale = tp->requested_s_scale; --- 1373 unchanged lines hidden --- | 853 } else 854 tp->t_flags &= ~TF_RCVD_CC; 855 tcpstat.tcps_connects++; 856 soisconnected(so); 857 /* Do window scaling on this connection? */ 858 if ((tp->t_flags & (TF_RCVD_SCALE|TF_REQ_SCALE)) == 859 (TF_RCVD_SCALE|TF_REQ_SCALE)) { 860 tp->snd_scale = tp->requested_s_scale; --- 1373 unchanged lines hidden --- |