mirror of
https://github.com/moparisthebest/curl
synced 2024-12-25 17:48:48 -05:00
7ea2e1d0c5
This is primarily interesting for cases where CURLOPT_NOBODY is set as previously curl would not return an error for this case. MDTM getting 550 now also returns this error (it returned CURLE_FTP_COULDNT_RETR_FILE before) in order to unify return codes for missing files across protocols and specific FTP commands. libcurl already returns error on a 550 as a MDTM response (when CURLOPT_FILETIME is set). If CURLOPT_NOBODY is not set, an error would happen subsequently anyway since the RETR command would fail. Add test 1913 and 1914 to verify. Updated several tests accordingly due to the updated SIZE behavior. Reported-by: Tomas Berger Fixes #5953 Closes #5957
52 lines
753 B
Plaintext
52 lines
753 B
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
FTP
|
|
PORT
|
|
RETR
|
|
FAILURE
|
|
</keywords>
|
|
</info>
|
|
# Server-side
|
|
<reply>
|
|
<servercmd>
|
|
REPLY RETR 314 bluah you f00l!
|
|
REPLY SIZE 500 command not understood
|
|
</servercmd>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
ftp
|
|
</server>
|
|
<name>
|
|
FTP download, failed RETR with PORT
|
|
</name>
|
|
<command>
|
|
ftp://%HOSTIP:%FTPPORT/119 -P -
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<errorcode>
|
|
19
|
|
</errorcode>
|
|
# Strip all valid kinds of PORT and EPRT that curl can send
|
|
<strip>
|
|
^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
|
|
^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
|
|
</strip>
|
|
<protocol>
|
|
USER anonymous
|
|
PASS ftp@example.com
|
|
PWD
|
|
TYPE I
|
|
SIZE 119
|
|
RETR 119
|
|
QUIT
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|