curl mustn't try to use the control connection after the 421 is received
test1108 test1109 test1110 test1111 test1112 test129 test567 test568 \
test569 test570 test571 test572 test804 test805 test806 test807 test573 \
test313 test1115 test578 test579 test1116 test1200 test1201 test1202 \
- test1203 test1117 test1118 test1119
+ test1203 test1117 test1118 test1119 test1120
filecheck:
@mkdir test-place; \
--- /dev/null
+<testcase>
+<info>
+<keywords>
+FTP
+PORT
+RETR
+421
+</keywords>
+</info>
+# Server-side
+<reply>
+<servercmd>
+REPLY CWD 421 Timeout!
+</server>
+</reply>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+ <name>
+FTP with 421 timeout response
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/a/path/1120
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+# Strip all valid kinds of PORT and EPRT that curl can send
+<protocol>
+USER anonymous\r
+PASS ftp@example.com\r
+PWD\r
+CWD a\r
+</protocol>
+# CURLE_OPERATION_TIMEDOUT is 28
+<errorcode>
+28
+</errorcode>
+</verify>
+</testcase>