Date: Mon, 19 Apr 1999 13:53:50 -0500
From: Taral <taral@TARAL.NET>
To: BUGTRAQ@netspace.org
Subject: Corrected Linux 2.2.5 FIN/NULL/XMAS block patch
Parts/Attachments:
   1 Shown      7 lines  Text
   2   OK    ~733 bytes  Text, ""
----------------------------------------

Here is the much awaited new patch which I have verified does not cause
loops.

Taral

P.S. Yes, I know it's simple, but I had to make sure that there were no
other problems with it.

    [ Part 2, ""  Text/PLAIN (Name: "tcp_input.c.fin.patch")  15 lines. ]


--- linux/net/ipv4/tcp_input.c.orig     Thu Apr 15 18:47:20 1999
+++ linux/net/ipv4/tcp_input.c  Thu Apr 15 18:51:24 1999
@@ -55,6 +55,7 @@
  *                                     work without delayed acks. 
  *             Andi Kleen:             Process packets with PSH set in the
  *                                     fast path.
+ *             Taral:                  Don't drop retransmitted FIN packets before looking at ACK field.
  */
 
 #include <linux/config.h>
@@ -2190,7 +2193,7 @@
        }
 
        /* step 1: check sequence number */
-       if (!tcp_sequence(tp, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq)) {
+       if (!tcp_sequence(tp, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq) && !(th->fin && TCP_SKB_CB(skb)->end_seq ==
tp->rcv_nxt)) {
                if (!th->rst) {
                        tcp_send_ack(sk);
                        goto discard;

-----------------------------------------------------------------------------------

Date: Tue, 20 Apr 1999 13:25:27 -0500
From: Taral <taral@TARAL.NET>
To: BUGTRAQ@netspace.org
Subject: Re: Corrected Linux 2.2.5 FIN/NULL/XMAS block patch
Parts/Attachments:
   1 Shown     14 lines  Text
   2   OK    ~247 bytes  Text, ""
----------------------------------------

ACK! Apologies to everyone, I sent the wrong patch!

Taral

On Mon, 19 Apr 1999, Taral wrote:

> Here is the much awaited new patch which I have verified does not cause
> loops.
>
> Taral
>
> P.S. Yes, I know it's simple, but I had to make sure that there were no
> other problems with it.
>

    [ Part 2, ""  Text/PLAIN (Name: "tcp_input.c.listen.patch")  5 lines. ]


--- linux/net/ipv4/tcp_input.c.orig     Thu Apr 15 18:47:20 1999
+++ linux/net/ipv4/tcp_input.c  Thu Apr 15 23:57:31 1999
@@ -2058,6 +2059,9 @@
                        goto discard;
                }
                
+               if (!th->rst)
+                       return 1;
+
                goto discard;
                break;

