tcp_input.c (125396) | tcp_input.c (125680) |
---|---|
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 * $FreeBSD: head/sys/netinet/tcp_input.c 125396 2004-02-03 18:20:55Z ume $ | 34 * $FreeBSD: head/sys/netinet/tcp_input.c 125680 2004-02-11 04:26:04Z bms $ |
35 */ 36 37#include "opt_ipfw.h" /* for ipfw_fwd */ | 35 */ 36 37#include "opt_ipfw.h" /* for ipfw_fwd */ |
38#include "opt_inet.h" |
|
38#include "opt_inet6.h" 39#include "opt_ipsec.h" 40#include "opt_mac.h" 41#include "opt_tcpdebug.h" 42#include "opt_tcp_input.h" 43 44#include <sys/param.h> 45#include <sys/kernel.h> --- 298 unchanged lines hidden (view full) --- 344 int off0; 345{ 346 register struct tcphdr *th; 347 register struct ip *ip = NULL; 348 register struct ipovly *ipov; 349 register struct inpcb *inp = NULL; 350 u_char *optp = NULL; 351 int optlen = 0; | 39#include "opt_inet6.h" 40#include "opt_ipsec.h" 41#include "opt_mac.h" 42#include "opt_tcpdebug.h" 43#include "opt_tcp_input.h" 44 45#include <sys/param.h> 46#include <sys/kernel.h> --- 298 unchanged lines hidden (view full) --- 345 int off0; 346{ 347 register struct tcphdr *th; 348 register struct ip *ip = NULL; 349 register struct ipovly *ipov; 350 register struct inpcb *inp = NULL; 351 u_char *optp = NULL; 352 int optlen = 0; |
352 int len, tlen, off; | 353 int len = 0; 354 int tlen, off; |
353 int drop_hdrlen; 354 register struct tcpcb *tp = 0; 355 register int thflags; 356 struct socket *so = 0; 357 int todrop, acked, ourfinisacked, needoutput = 0; 358 u_long tiwin; 359 struct tcpopt to; /* options in this segment */ 360 struct rmxp_tao tao; /* our TAO cache entry */ --- 2158 unchanged lines hidden (view full) --- 2519 continue; 2520 if (!is_syn) 2521 continue; 2522 to->to_flags |= TOF_CCECHO; 2523 bcopy((char *)cp + 2, 2524 (char *)&to->to_ccecho, sizeof(to->to_ccecho)); 2525 to->to_ccecho = ntohl(to->to_ccecho); 2526 break; | 355 int drop_hdrlen; 356 register struct tcpcb *tp = 0; 357 register int thflags; 358 struct socket *so = 0; 359 int todrop, acked, ourfinisacked, needoutput = 0; 360 u_long tiwin; 361 struct tcpopt to; /* options in this segment */ 362 struct rmxp_tao tao; /* our TAO cache entry */ --- 2158 unchanged lines hidden (view full) --- 2521 continue; 2522 if (!is_syn) 2523 continue; 2524 to->to_flags |= TOF_CCECHO; 2525 bcopy((char *)cp + 2, 2526 (char *)&to->to_ccecho, sizeof(to->to_ccecho)); 2527 to->to_ccecho = ntohl(to->to_ccecho); 2528 break; |
2529#ifdef TCP_SIGNATURE 2530 /* 2531 * XXX In order to reply to a host which has set the 2532 * TCP_SIGNATURE option in its initial SYN, we have to 2533 * record the fact that the option was observed here 2534 * for the syncache code to perform the correct response. 2535 */ 2536 case TCPOPT_SIGNATURE: 2537 if (optlen != TCPOLEN_SIGNATURE) 2538 continue; 2539 to->to_flags |= (TOF_SIGNATURE | TOF_SIGLEN); 2540 break; 2541#endif /* TCP_SIGNATURE */ |
|
2527 default: 2528 continue; 2529 } 2530 } 2531} 2532 2533/* 2534 * Pull out of band byte out of a segment so --- 616 unchanged lines hidden --- | 2542 default: 2543 continue; 2544 } 2545 } 2546} 2547 2548/* 2549 * Pull out of band byte out of a segment so --- 616 unchanged lines hidden --- |