lkml.org 
[lkml]   [1997]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: TCP bug in 2.0.30 - increasing the sequence number after FIN
Date

Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de> writes:
>I think that ssh sometimes triggers a bug in the Linux TCP stack in
>version 2.0.30.
>
>I connect from a Linux box, using ssh 1.2.20, to a AIX 4.1.4 or HP-UX
>9.0.5 box, running the same version of the ssh daemon.

I think the following patch should fix this problem. Can anyone who
has seen this please try the patch and report back to me.
(BTW, the same bug is present in the 2.1.36 kernel. I'll drop
the fix in there as well once I get back a positive report.)

Thanks.

diff -r -u vanilla/linux/net/ipv4/tcp.c linux/net/ipv4/tcp.c
--- vanilla/linux/net/ipv4/tcp.c Wed Apr 9 20:31:10 1997
+++ linux/net/ipv4/tcp.c Mon May 5 21:57:17 1997
@@ -1838,7 +1844,10 @@
case TCP_CLOSE:
case TCP_LISTEN:
break;
- case TCP_LAST_ACK: /* Could have shutdown() then close()!*/
+ case TCP_LAST_ACK: /* Could have shutdown() then close().
+ Be careful not to send double fin. */
+ ns=TCP_LAST_ACK;
+ break;
case TCP_CLOSE_WAIT: /* They have FIN'd us. We send our FIN and
wait only for the ACK */
ns=TCP_LAST_ACK;

--
Eric Schenk www: http://www.dna.lth.se/~erics
Dept. of Comp. Sci., Lund University email: Eric.Schenk@dna.lth.se
Box 118, S-221 00 LUND, Sweden fax: +46-46 13 10 21 ph: +46-46 222 96 38




\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.022 / U:2.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site