#
# For this test the server rejects the EPRT command,
# code in lib591 makes use of curl_multi_timeout()
# and server does not establish data connection.
#
<testcase>
<info>
<keywords>
FTP
PORT
STOR
multi
EPRT refused
NODATACONN
</keywords>
</info>

# Server-side
<reply>
<data>
</data>
<servercmd>
NODATACONN
REPLY EPRT 500 we don't like EPRT now
</servercmd>
</reply>

# Client-side
<client>
<server>
ftp
</server>
<tool>
lib591
</tool>
 <name>
FTP multi PORT upload, no data conn and no positive prelim. reply
 </name>
 <command>
ftp://%HOSTIP:%FTPPORT/path/594 %FTPTIME2 log/upload594
</command>
<file name="log/upload594">
Moooooooooooo for 594
 upload this
</file>
</client>

# Verify data after the test has been "shot"
<verify>
# Strip off parts of the PORT and EPRT commands that might differ
<strippart>
s/^PORT (.*)/PORT/
s/^EPRT \|1\|(.*)/EPRT \|1\|/
</strippart>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD path
EPRT |1|
PORT
TYPE I
STOR 594
QUIT
</protocol>
<errorcode>
28
</errorcode>
<upload>
</upload>
</verify>
</testcase>
