<testcase>
#
# 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.
#
<info>
<keywords>
FTP
PORT
STOR
multi
EPRT refused
NODATACONN
timeout
FAILURE
</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/%TESTNUMBER %FTPTIME2 %LOGDIR/upload%TESTNUMBER
</command>
<file name="%LOGDIR/upload%TESTNUMBER">
Moooooooooooo for %TESTNUMBER
 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 %TESTNUMBER
QUIT
</protocol>
<errorcode>
28
</errorcode>
<upload>
</upload>
</verify>
</testcase>
