mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
bf51f05a50
If EPSV, EPRT or LPRT is tried and doesn't work, it will not be retried on the same server again even if a following request is made using a persistent connection. If a second request is made to a server, requesting a file from the same directory as the previous request operated on, libcurl will no longer make that long series of CWD commands just to end up on the same spot. Note that this is only for *exactly* the same dir. There is still room for improvements to optimize the CWD-sending when the dirs are only slightly different. Added test 210, 211 and 212 to verify these changes. Had to improve the test script too and added a new primitive to the test file format.
48 lines
618 B
Plaintext
48 lines
618 B
Plaintext
# Server-side
|
|
<reply>
|
|
<data>
|
|
data blobb
|
|
</data>
|
|
<datacheck>
|
|
data blobb
|
|
data blobb
|
|
</datacheck>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
ftp
|
|
</server>
|
|
<name>
|
|
Get two FTP files with no remote EPSV support
|
|
</name>
|
|
<command>
|
|
ftp://%HOSTIP:%FTPPORT/a/path/211 ftp://%HOSTIP:%FTPPORT/a/path/211
|
|
</command>
|
|
<file name="log/ftpserver.cmd">
|
|
REPLY EPSV 500 no such command
|
|
</file>
|
|
</test>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
USER anonymous
|
|
PASS curl_by_daniel@haxx.se
|
|
PWD
|
|
CWD a
|
|
CWD path
|
|
EPSV
|
|
PASV
|
|
TYPE I
|
|
SIZE 211
|
|
RETR 211
|
|
PASV
|
|
TYPE I
|
|
SIZE 211
|
|
RETR 211
|
|
QUIT
|
|
</protocol>
|
|
</verify>
|