Date: Wed, 16 Dec 1998 14:02:44 +0100 From: Guido van Rooij <guido@gvr.org> To: freebsd-hackers@FreeBSD.ORG Subject: tcp bug on reeBSD Message-ID: <19981216140244.A5966@gvr.org>
next in thread | raw e-mail | index | archive | help
Underneath a log of a connection between my system and wcarchive. 03:00:04.014342 194.151.74.97.4871 > 209.155.82.18.21: S 3641921983:3641921983(0 ) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp[|tcp]> (DF) 03:00:04.552606 209.155.82.18.21 > 194.151.74.97.4871: S 3383878865:3383878865(0 ) ack 3641921984 win 17520 <mss 1460> 03:00:04.554559 194.151.74.97.4871 > 209.155.82.18.21: . ack 3383878866 win 1752 0 (DF) 03:00:09.621134 209.155.82.18.21 > 194.151.74.97.4871: P 3383878866:3383878957(9 1) ack 3641921984 win 17520 [tos 0x10] 03:00:09.625468 194.151.74.97.4871 > 209.155.82.18.21: P 3641921984:3641922000(1 6) ack 3383878957 win 17520 (DF) 03:00:10.696185 209.155.82.18.21 > 194.151.74.97.4871: . ack 3641922000 win 1750 4 [tos 0x10] 03:00:10.789549 209.155.82.18.21 > 194.151.74.97.4871: F 3383879419:3383879419(0 ) ack 3641922000 win 17520 [tos 0x10] 03:00:10.791439 194.151.74.97.4871 > 209.155.82.18.21: . ack 3383878957 win 1752 0 (DF) 03:00:10.865450 209.155.82.18.21 > 194.151.74.97.4871: P 3383878957:3383879419(4 62) ack 3641922000 win 17520 [tos 0x10] 03:00:10.868537 194.151.74.97.4871 > 209.155.82.18.21: . ack 3383879420 win 1705 8 (DF) 03:00:10.874507 194.151.74.97.4871 > 209.155.82.18.21: P 3641922000:3641922006(6 ) ack 3383879420 win 17520 (DF) 03:00:10.893632 194.151.74.97.4871 > 209.155.82.18.21: F 3641922006:3641922006(0 ) ack 3383879420 win 17520 (DF) 03:00:11.381719 209.155.82.18.21 > 194.151.74.97.4871: R 3383879420:3383879420(0 ) win 0 I think wcarchive is not behaving okay by sending the RST. Wcarchive is in the FIN-WAIT-1 or FIN-WAIT-2 state and from what I see in the rfc, wcarchive may only send an RST if: 3. If the connection is in a synchronized state (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT), any unacceptable segment (out of window sequence number or unacceptible acknowledgment number) must elicit only an empty acknowledgment segment containing the current send-sequence number and an acknowledgment indicating the next sequence number expected to be received, and the connection remains in the same state. But the RST did not ack anything. But besides, the segment (3641922000:3641922006) is not an unacceptable segment accoriding to what thr RFC says. A half-close is a perfectly valid mechanism and my host is allowed to send additional segments to wcarchive. However, from looking at the RFC I can not discover how wcarchive should act. I think it should just ack 3641922000 again and have my host discover that the other end closed the connection. What do you guys think? -Guido To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981216140244.A5966>