1<testcase> 2<info> 3<keywords> 4FTP 5PORT 6RETR 7NODATACONN150 8timeout 9FAILURE 10flaky 11timing-dependent 12</keywords> 13</info> 14# Server-side 15<reply> 16<data nocheck="yes"> 17some bytes 18</data> 19<servercmd> 20NODATACONN150 21</servercmd> 22</reply> 23 24# Client-side 25<client> 26<server> 27ftp 28</server> 29<name> 30FTP PORT download, no data conn and no transient negative reply 31</name> 32<command> 33--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P - 34</command> 35 36</client> 37 38# Verify data after the test has been "shot" 39<verify> 40<strippart> 41s/^EPRT \|1\|(.*)/EPRT \|1\|/ 42</strippart> 43 44# This test doesn't send a QUIT because the main state machine in multi.c 45# triggers the timeout and sets the CURLE_OPERATION_TIMEDOUT error (28) for 46# which the FTP disconnect code generically has to assume could mean the 47# control the connection and thus it cannot send any command. 48<protocol> 49USER anonymous 50PASS ftp@example.com 51PWD 52EPRT |1| 53TYPE I 54SIZE %TESTNUMBER 55RETR %TESTNUMBER 56</protocol> 57# 28 is CURLE_OPERATION_TIMEDOUT 58<errorcode> 5928 60</errorcode> 61</verify> 62</testcase> 63