1*88395c07SSoham Chakradeo// SPDX-License-Identifier: GPL-2.0 2*88395c07SSoham Chakradeo// Test to make sure no RST is being sent when close() 3*88395c07SSoham Chakradeo// is called on a socket with SYN_SENT state. 4*88395c07SSoham Chakradeo 5*88395c07SSoham Chakradeo`./defaults.sh` 6*88395c07SSoham Chakradeo 7*88395c07SSoham Chakradeo 0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 8*88395c07SSoham Chakradeo +0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 9*88395c07SSoham Chakradeo 10*88395c07SSoham Chakradeo +0 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress) 11*88395c07SSoham Chakradeo +0 > S 0:0(0) <...> 12*88395c07SSoham Chakradeo 13*88395c07SSoham Chakradeo// Application decideds to close the socket in SYN_SENT state 14*88395c07SSoham Chakradeo// Make sure no RST is sent after close(). 15*88395c07SSoham Chakradeo +0 close(3) = 0 16*88395c07SSoham Chakradeo 17*88395c07SSoham Chakradeo// Receive syn-ack to trigger the send side packet examination: 18*88395c07SSoham Chakradeo// If a RESET were sent right after close(), it would have failed with 19*88395c07SSoham Chakradeo// a mismatched timestamp. 20*88395c07SSoham Chakradeo +.1 < S. 0:0(0) ack 1 win 32000 <mss 1460,nop,wscale 7> 21*88395c07SSoham Chakradeo +0 > R 1:1(0) 22