Ticket #4925 (closed defect: obsolete)
Unidirectional close does not work on NAT port forwards
|Reported by:||mast||Owned by:|
Description (last modified by frank) (diff)
I have a setup with a tcp server in a windows vista guest. This server listens to a port which the NAT forwards connections to from the outside. I (normally) connect to the tcp server from a client on the linux host via the lo interface.
The client opens a connection, writes a request and then closes the write side of the connection (shutdown(2) with SHUT_WR). After this, the client waits for a response on the read end. The server sends several packets of response data, but the client only receives the first packet.
If I don't close the write side on the client, it gets all packets.
If I connect to the server from inside the vista guest, it works with the write side close in the client (using winsock shutdown).
I believe this worked in VirtualBox 2.1, but I'm not certain.
I've verified that the server does not depend on the close of its read end to start sending a response.