Michal Marek provided a patch for FTP that makes libcurl continue to try PASV

even after EPSV returned a positive response code, if libcurl failed to
connect to the port number the EPSV response said. Obviously some people are
going through protocol-sensitive firewalls (or similar) that don't understand
EPSV and then they don't allow the second connection unless PASV was
used. This also called for a minor fix of test case 238.
This commit is contained in:
Daniel Stenberg 2006-01-24 14:40:43 +00:00
parent 803582f8ac
commit 67bf4f28ff
4 changed files with 31 additions and 4 deletions

View file

@ -8,26 +8,32 @@
ftp
</server>
<name>
FTP getting bad port in 229-response to EPSV
FTP getting bad port in response to EPSV and in response to PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/238
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 229 Entering Passiv Mode (|||1000000|)
REPLY PASV 227 Entering Passiv Mode (1216,256,2,127,127,127)
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# 7 => CURLE_COULDNT_CONNECT
# curl: (15) Can't resolve new host 1216.256.2.127:32639
# 15 => CURLE_FTP_CANT_GET_HOST
# some systems just don't fail on the illegal host name/address but instead
# moves on and attempt to connect to... yes, to what?
# 7= CURLE_COULDNT_CONNECT
<errorcode>
7
7, 15
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
</protocol>
</verify>