[Bug 250360] [tcp] connections should be closed if a same packet without FIN is received after FIN received

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Feb 20 21:26:12 UTC 2021


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250360

Michael Tuexen <tuexen at freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Closed
         Resolution|---                         |Works As Intended

--- Comment #1 from Michael Tuexen <tuexen at freebsd.org> ---
According to RFC 793, page 75, the segment text is ignored in the CLOSE-WAIT
state.
No state change should happen, the missing FIN bit is ignored.

The following packetdrill script shows the behaviour, which is in tune with RFC
793:

 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0.000 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.000 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0.000 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0.000 > S    0:0(0)               win 65535 <mss 1460,nop,wscale 6,sackOK,TS
val 100 ecr 0>
+0.050 < S.   0:0(0)       ack   1 win 65535 <mss 1460,sackOK,eol,eol>
+0.000 >  .   1:1(0)       ack   1 win 65535
+0.050 < F.   1:513(512)   ack   1 win 65535
+0.000 >  .   1:1(0)       ack 514 win 65188
+0.000 recv(3, ..., 256, 0) = 256
+0.050 <  .   1:1025(1024) ack   1 win 65535
+0.000 >  .   1:1(0)       ack 514 win 65444 <nop,nop,sack 1:514>
+0.000 recv(3, ..., 1024, 0) = 256
+0.000 send(3, ..., 512, 0) = 512
+0.000 > P.   1:513(512)   ack 514 win 65535
+0.000 <  . 514:514(0)     ack 513 win 65535
+0.000 close(3) = 0
+0.000 > F. 513:513(0)     ack 514 win 65535
+0.000 <  . 514:514(0)     ack 514 win 65535

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-net mailing list