Opened 15 years ago
Last modified 10 years ago
#4925 closed defect
Unidirectional close does not work on NAT port forwards — at Initial Version
Reported by: | Martin Stjernholm | Owned by: | |
---|---|---|---|
Component: | network/NAT | Version: | VirtualBox 3.0.4 |
Keywords: | Cc: | ||
Guest type: | Windows | Host type: | Linux |
Description
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.
Observations:
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.