curl/tests/data/test1096
Daniel Stenberg 7ea2e1d0c5
ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND
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
2020-09-14 12:53:12 +02:00

52 lines
671 B
Plaintext

<testcase>
<info>
<keywords>
FTP
PASV
RETR
FAILURE
</keywords>
</info>
# Server-side
<reply>
<servercmd>
REPLY RETR 550 no such file!
REPLY SIZE 500 command not understood
</servercmd>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
Two FTP downloads, with failed RETR but re-used control connection
</name>
<command>
ftp://%HOSTIP:%FTPPORT/dir/1096 ftp://%HOSTIP:%FTPPORT/dir/1096
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
78
</errorcode>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD dir
EPSV
TYPE I
SIZE 1096
RETR 1096
EPSV
SIZE 1096
RETR 1096
QUIT
</protocol>
</verify>
</testcase>