Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jul 2007 16:06:29 -0700
From:      Julian Elischer <julian@elischer.org>
To:        karels@karels.net
Cc:        Julian Elischer <julian@ironport.com>, FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: Wierd networking.
Message-ID:  <46A13FF5.9070806@elischer.org>
In-Reply-To: <200707202239.l6KMdSq4035780@redrock.karels.net>
References:  <200707202239.l6KMdSq4035780@redrock.karels.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike Karels wrote:
>> I think that the possible courses of action are:
> 
>> 1/ Ignore further incoming data, but ACK it.
>>       (this is basically what the userland code does in this case)
> 
> This could lead to indefinite data transfer, while misleading the sender
> into thinking the data are being delivered.
> 
>> 2/ Stop ACKing the data, and let the other end time out.
> 
> This seems like a waste of resources on both ends of the connection;
> both are doomed, but they both have to time out to go away.
> 
>> 3/ Send a RST
> 
> This is my choice, literally: I added the code to send a RST in this
> case sometime in the 1980s, after observing connections that hung
> with no reader, but with the writer in persist mode indefinitely.
> (That's choice 4: accept the data, let the receive buffer fill, then
> advertise a zero window forever.)
> 
> 		Mike

5/ throw away SOME data and then resort to RST.

the problem we ahve is that IE7 seems to send some data after the FIN 
is sent by the server, and complains when it gets the RST.\

The exact problem is when the FIN is because of a redirection (due to a 407,
(proxy auth required),
and IE aborts the whole transfer..  

so:
IE:         "POST (or GET) bla bla"
proxy:      "407 (proxy auth required)"... FIN
IE:         "CR/LF"   <don't ask me why..>
proxy:      "RST"
IE:         [displays erro screen and fails to continue]

We have changed the proxy to do a shutdown and keep receiving (and discarding) the data
until it gets an EOF but I worry about DOS possibilities..
I think I may add code to make this only accept some limited amount of data before 
doing the close().






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46A13FF5.9070806>