On Fri, 13 Nov 1998, Greg A. Woods wrote:
Just to add a little fuel to the fire:
I've been experiencing TCP related connection failures from most/all hosts at internic.net, with at least whois and http (though not SMTP).
For example when I attempt to do a whois I'll normally only get back the first two lines of output (i.e. "\nRegistrant:\n"). Then the connection hangs and times out. From my point of view it seems that the connection
This same thing is happening to me, but in my case it is a bug in the InterNIC's whois server that must have just been introduced recently. AFAIK, the whois protocol is supposed to consist of a request terminated by a '\n'. However, the InterNIC's server is sending a response as soon as it gets the first packet, even if there is no \n termination. There is at least one common whois replacement client that sends the \n in a separate packet. What happens is the first packet with the request but without the \n arrives at the InterNIC, then they send a response and close the socket. In the meantime, the second packet from the client with the \n in arrives after the socket is closed for reading, prompting a RST from the server. Even though the full response is either in socket buffers at the InterNIC or on the wire or even in socket buffers on the client, once the RST arrives that response will be (correctly) thrown away if it hasn't been actually read() by the client. The reason you see part of it is that the whois server is sending separate packets for the "\nRegistrant:\n" part and the rest of the response. The fix is for the InterNIC to fix their whois server to conform to the "protocol" and/or do a lingering close so it doesn't send a RST. Simply waiting for the end of the line should be enough and should be correct, although if they really want to do a lingering close then see the lingering_close() function in Apache for an example. Note that I'm not sending this to the InterNIC, because I don't have time to wade through and try to find a contact address that isn't ignored and which is appropriate. I would hope someone from the InterNIC is reading this list and will fix it.