<testcase>
<info>
<keywords>
FTP
EPRT
</keywords>
</info>

# Server-side
<reply>
<data>
data blobb
</data>
<servercmd>
REPLY EPRT 500 no such command
</servercmd>
</reply>

# Client-side
<client>
<server>
ftp
</server>
# EPRT is only sent when IPv6 is enabled
<features>
ipv6
</features>
<name>
Get two FTP files with no remote EPRT support
</name>
<command>
ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/a/path/%TESTNUMBER -P -
</command>
<stdout>
data blobb
data blobb
</stdout>
</client>

# Verify data after the test has been "shot"
<verify>
# Strip the addresses and port number but leave the rest
<strippart>
s/^(EPRT \|1\|)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|/$1/
s/^(PORT )\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}/$1/
</strippart>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD a
CWD path
EPRT |1|
PORT 
TYPE I
SIZE %TESTNUMBER
RETR %TESTNUMBER
PORT 
SIZE %TESTNUMBER
RETR %TESTNUMBER
QUIT
</protocol>
</verify>
</testcase>
