1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-05 00:55:04 -05:00
curl/tests/data/test546
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

71 lines
859 B
Plaintext

<testcase>
<info>
<keywords>
FTP
PASV
RETR
multi
</keywords>
</info>
# Server-side
<reply>
<data nocheck="yes">
data
to
see
that FTP
works
so does it?
</data>
<servercmd>
REPLY RETR 550 the file doesn't exist
COUNT RETR 1
REPLY SIZE 500 Can't check for file existence
COUNT SIZE 1
</servercmd>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<tool>
lib533
</tool>
<name>
FTP RETR a non-existing file then a found one using the multi interface
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/546 ftp://%HOSTIP:%FTPPORT/path/546
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
CWD path
EPSV
TYPE I
SIZE 546
RETR 546
EPSV
SIZE 546
RETR 546
QUIT
</protocol>
<stdout>
data
to
see
that FTP
works
so does it?
</stdout>
</verify>
</testcase>