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