1<testcase> 2<info> 3<keywords> 4FTP 5PORT 6RETR 7NODATACONN 8timeout 9FAILURE 10</keywords> 11</info> 12# Server-side 13<reply> 14<data nocheck="yes"> 15some bytes 16</data> 17<servercmd> 18NODATACONN 19</servercmd> 20</reply> 21 22# Client-side 23<client> 24<server> 25ftp 26</server> 27<name> 28FTP PORT download, no data conn and no positive preliminary reply 29</name> 30<command> 31--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P - 32</command> 33 34</client> 35 36# Verify data after the test has been "shot" 37<verify> 38<strippart> 39s/^EPRT \|1\|(.*)/EPRT \|1\|/ 40</strippart> 41 42# The protocol part does not include QUIT simply because the error is 43# CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout error without 44# specifically saying for which connection it concerns, and for timeouts libcurl 45# marks the control channel as "invalid". As this test case times out for the 46# data connection it could still use the control channel. 47<protocol> 48USER anonymous 49PASS ftp@example.com 50PWD 51EPRT |1| 52TYPE I 53SIZE %TESTNUMBER 54RETR %TESTNUMBER 55</protocol> 56<errorcode> 5728 58</errorcode> 59</verify> 60</testcase> 61