diff options
author | Bhasker Hariharan <bhaskerh@google.com> | 2019-09-04 14:58:32 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-09-04 14:59:53 -0700 |
commit | 3dc3cffb2ddb09291822fc37d00f2e62f41956b5 (patch) | |
tree | 51099e09646a98bc0d8ac458743ad4e191fc50f4 /pkg/unet | |
parent | 7bf1d426d5f8ba5a3ddfc8f0cd73cc12e8a83c16 (diff) |
Fix RST generation bugs.
There are a few cases addressed by this change
- We no longer generate a RST in response to a RST packet.
- When we receive a RST we cleanup and release all reservations immediately as
the connection is now aborted.
- An ACK received by a listening socket generates a RST when SYN cookies are not
in-use. The only reason an ACK should land at the listening socket is if we
are using SYN cookies otherwise the goroutine for the handshake in progress
should have gotten the packet and it should never have arrived at the
listening endpoint.
- Also fixes the error returned when a connection times out due to a
Keepalive timer expiration from ECONNRESET to a ETIMEDOUT.
PiperOrigin-RevId: 267238427
Diffstat (limited to 'pkg/unet')
0 files changed, 0 insertions, 0 deletions