Re: 2.2 generating odd TCP resets?

2000-10-19 Thread David S. Miller
Date: Thu, 19 Oct 2000 12:42:58 -0700 (PDT) From: dean gaudet <[EMAIL PROTECTED]> i'm not saying this totally explains the problems you're seeing, but i think it's suspect. This isn't it at all. Only when _real data_ (not FIN etc.) sits in receive queue does the RST get emitted on e

Re: 2.2 generating odd TCP resets?

2000-10-19 Thread dean gaudet
On Wed, 18 Oct 2000, Brian Craft wrote: > In the code below, I removed the shutdown() and added the block > after do_scan() to eliminate the RST. The read() never finds any data. > If there's no data pending, why does read() have any affect? EOF is considered pending data... and has to be read.

Re: 2.2 generating odd TCP resets?

2000-10-19 Thread kuznet
Hello! > Well, there were quite a few TCP bugs fixed after 2.2.14. Seems, it is that bug, which you have seen talking from (sorry, I cannot pronounce this host name publically 8)) to amber. ACK, following FIN was considered as illegal data. We have fixed it both in 2.2 and 2.3. Alexey - To un

Re: 2.2 generating odd TCP resets?

2000-10-19 Thread David S. Miller
Date: Wed, 18 Oct 2000 21:20:40 -0700 From: Brian Craft <[EMAIL PROTECTED]> Is there any reason this should fail? It does not fail when talking to a linux host. The only obvious difference is windows generates two ACK's of the server's FIN. Well, there were quite a few TCP bugs fi

Re: 2.2 generating odd TCP resets?

2000-10-18 Thread Brian Craft
> Looks like the application on the Linux system is issuing a close() on > the socket before reading all of the available data. That always > causes a RST to be sent. Here's some stripped down code to generate bogus (I think) TCP resets on 2.2.14-17. The RST is generated when the server closes

Re: 2.2 generating odd TCP resets?

2000-10-18 Thread Brian Craft
Well, this seems to be half the story. If I remove the close() and let server bleed file descriptors, the RST goes away. If I add a read() on the socket after sending all the data, the RST goes away. However, there's NO DATA on the socket. read() returns zero until the client closes the socket.

RE: 2.2 generating odd TCP resets?

2000-10-18 Thread Tony Gale
Most likely reason is that the server calls close() while there is still data pending to be read. As TCP is a reliable transport, this loss of data causes a RST. An application bug. -tony On 18-Oct-2000 Brian Craft wrote: > I've been trying to get xsane-win32 working with a linux server. > I

Re: 2.2 generating odd TCP resets?

2000-10-18 Thread David S. Miller
Date:Wed, 18 Oct 2000 00:37:44 -0700 From: Brian Craft <[EMAIL PROTECTED]> Why is it sending a reset? Because the FIN was ACK'ed twice? Is this correct behavior? I've tried 2.2.14 and 2.2.17, with the same result. Looks like the application on the Linux system is issuing a

2.2 generating odd TCP resets?

2000-10-18 Thread Brian Craft
I've been trying to get xsane-win32 working with a linux server. It keeps failing because read() on the win95 box returns an error just before the data transfer is complete. Dumping the conversation, I see linux sending a TCP RST: 00:26:29.260171 > porky.cisco.com.1034 > scan.1029: P 2185689:21