tcp_input.c (1542) | tcp_input.c (1549) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994 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 --- 203 unchanged lines hidden (view full) --- 212void 213tcp_input(m, iphlen) 214 register struct mbuf *m; 215 int iphlen; 216{ 217 register struct tcpiphdr *ti; 218 register struct inpcb *inp; 219 caddr_t optp = NULL; | 1/* 2 * Copyright (c) 1982, 1986, 1988, 1990, 1993, 1994 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 --- 203 unchanged lines hidden (view full) --- 212void 213tcp_input(m, iphlen) 214 register struct mbuf *m; 215 int iphlen; 216{ 217 register struct tcpiphdr *ti; 218 register struct inpcb *inp; 219 caddr_t optp = NULL; |
220 int optlen; | 220 int optlen = 0; |
221 int len, tlen, off; 222 register struct tcpcb *tp = 0; 223 register int tiflags; | 221 int len, tlen, off; 222 register struct tcpcb *tp = 0; 223 register int tiflags; |
224 struct socket *so; | 224 struct socket *so = 0; |
225 int todrop, acked, ourfinisacked, needoutput = 0; | 225 int todrop, acked, ourfinisacked, needoutput = 0; |
226 short ostate; | 226 short ostate = 0; |
227 struct in_addr laddr; 228 int dropsocket = 0; 229 int iss = 0; 230 u_long tiwin, ts_val, ts_ecr; 231 int ts_present = 0; 232 233 tcpstat.tcps_rcvtotal++; 234 /* --- 933 unchanged lines hidden (view full) --- 1168 tp->t_oobflags &= ~(TCPOOB_HAVEDATA | TCPOOB_HADDATA); 1169 } 1170 /* 1171 * Remove out of band data so doesn't get presented to user. 1172 * This can happen independent of advancing the URG pointer, 1173 * but if two URG's are pending at once, some out-of-band 1174 * data may creep in... ick. 1175 */ | 227 struct in_addr laddr; 228 int dropsocket = 0; 229 int iss = 0; 230 u_long tiwin, ts_val, ts_ecr; 231 int ts_present = 0; 232 233 tcpstat.tcps_rcvtotal++; 234 /* --- 933 unchanged lines hidden (view full) --- 1168 tp->t_oobflags &= ~(TCPOOB_HAVEDATA | TCPOOB_HADDATA); 1169 } 1170 /* 1171 * Remove out of band data so doesn't get presented to user. 1172 * This can happen independent of advancing the URG pointer, 1173 * but if two URG's are pending at once, some out-of-band 1174 * data may creep in... ick. 1175 */ |
1176 if (ti->ti_urp <= ti->ti_len | 1176 if (ti->ti_urp <= (u_long)ti->ti_len |
1177#ifdef SO_OOBINLINE 1178 && (so->so_options & SO_OOBINLINE) == 0 1179#endif 1180 ) 1181 tcp_pulloutofband(so, ti, m); 1182 } else 1183 /* 1184 * If no out of band data is expected, --- 463 unchanged lines hidden --- | 1177#ifdef SO_OOBINLINE 1178 && (so->so_options & SO_OOBINLINE) == 0 1179#endif 1180 ) 1181 tcp_pulloutofband(so, ti, m); 1182 } else 1183 /* 1184 * If no out of band data is expected, --- 463 unchanged lines hidden --- |