mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 11:44:58 +00:00
Kernel: Do not send delayed ack in response to RST/ACK
In accordance with RFC 793, if the receiver is in the SYN-SENT state it should respond to a RST by aborting the connection and immediately move to the CLOSED state. Previously the system would ACK all RST/ACKs, and the remote peer would just respond with more RST packets.
This commit is contained in:
parent
b5d9b4e7ee
commit
63a15ed19d
1 changed files with 0 additions and 2 deletions
|
@ -460,8 +460,6 @@ void handle_tcp(IPv4Packet const& ipv4_packet, Time const& packet_timestamp)
|
|||
socket->set_setup_state(Socket::SetupState::Completed);
|
||||
return;
|
||||
case TCPFlags::ACK | TCPFlags::RST:
|
||||
socket->set_ack_number(tcp_packet.sequence_number() + payload_size);
|
||||
send_delayed_tcp_ack(socket);
|
||||
socket->set_state(TCPSocket::State::Closed);
|
||||
socket->set_error(TCPSocket::Error::RSTDuringConnect);
|
||||
socket->set_setup_state(Socket::SetupState::Completed);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue