patch-2.4.4 linux/net/ipv4/tcp_minisocks.c

Next file: linux/net/ipv4/tcp_output.c
Previous file: linux/net/ipv4/tcp_ipv4.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.3/linux/net/ipv4/tcp_minisocks.c linux/net/ipv4/tcp_minisocks.c
@@ -5,7 +5,7 @@
  *
  *		Implementation of the Transmission Control Protocol(TCP).
  *
- * Version:	$Id: tcp_minisocks.c,v 1.5 2000/11/28 17:04:10 davem Exp $
+ * Version:	$Id: tcp_minisocks.c,v 1.9 2001/03/06 22:42:56 davem Exp $
  *
  * Authors:	Ross Biro, <bir7@leland.Stanford.Edu>
  *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
@@ -105,7 +105,7 @@
  *   lifetime in the internet, which results in wrong conclusion, that
  *   it is set to catch "old duplicate segments" wandering out of their path.
  *   It is not quite correct. This timeout is calculated so that it exceeds
- *   maximal retransmision timeout enough to allow to lose one (or more)
+ *   maximal retransmission timeout enough to allow to lose one (or more)
  *   segments sent by peer and our ACKs. This time may be calculated from RTO.
  * * When TIME-WAIT socket receives RST, it means that another end
  *   finally closed and we are allowed to kill TIME-WAIT too.
@@ -155,7 +155,7 @@
 		if (th->rst)
 			goto kill;
 
-		if (th->syn && TCP_SKB_CB(skb)->seq != tw->syn_seq)
+		if (th->syn && !before(TCP_SKB_CB(skb)->seq, tw->rcv_nxt))
 			goto kill_with_rst;
 
 		/* Dup ACK? */
@@ -377,7 +377,6 @@
 		tw->rcv_nxt	= tp->rcv_nxt;
 		tw->snd_nxt	= tp->snd_nxt;
 		tw->rcv_wnd	= tcp_receive_window(tp);
-		tw->syn_seq	= tp->syn_seq;
 		tw->ts_recent	= tp->ts_recent;
 		tw->ts_recent_stamp= tp->ts_recent_stamp;
 		tw->pprev_death = NULL;
@@ -691,8 +690,6 @@
 		newtp->snd_una = req->snt_isn + 1;
 		newtp->snd_sml = req->snt_isn + 1;
 
-		tcp_delack_init(newtp);
-
 		tcp_prequeue_init(newtp);
 
 		tcp_init_wl(newtp, req->snt_isn, req->rcv_isn);
@@ -734,8 +731,6 @@
 
 		newtp->probes_out = 0;
 		newtp->num_sacks = 0;
-		newtp->syn_seq = req->rcv_isn;
-		newtp->fin_seq = req->rcv_isn;
 		newtp->urg_data = 0;
 		newtp->listen_opt = NULL;
 		newtp->accept_queue = newtp->accept_queue_tail = NULL;
@@ -822,7 +817,7 @@
 		}
 	}
 
-	/* Check for pure retransmited SYN. */
+	/* Check for pure retransmitted SYN. */
 	if (TCP_SKB_CB(skb)->seq == req->rcv_isn &&
 	    flg == TCP_FLAG_SYN &&
 	    !paws_reject) {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)