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

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

diff -urN linux-2.4.19/net/ipv4/tcp_minisocks.c linux-2.4.20/net/ipv4/tcp_minisocks.c
@@ -894,13 +894,13 @@
 	 *                  and the incoming segment acknowledges something not yet
 	 *                  sent (the segment carries an unaccaptable ACK) ...
 	 *                  a reset is sent."
+	 *
+	 * Invalid ACK: reset will be sent by listening socket
 	 */
-	if (!(flg & TCP_FLAG_ACK))
-		return NULL;
-
-	/* Invalid ACK: reset will be sent by listening socket */
-	if (TCP_SKB_CB(skb)->ack_seq != req->snt_isn+1)
+	if ((flg & TCP_FLAG_ACK) &&
+	    (TCP_SKB_CB(skb)->ack_seq != req->snt_isn+1))
 		return sk;
+
 	/* Also, it would be not so bad idea to check rcv_tsecr, which
 	 * is essentially ACK extension and too early or too late values
 	 * should cause reset in unsynchronized states.

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