curl/lib
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
..
vauth ntlm: free target_info before (re-)malloc 2020-07-26 23:48:36 +02:00
vquic ngtcp2: adapt to the new pkt_info arguments 2020-08-26 22:40:30 +02:00
vssh libssh2: pass on the error from ssh_force_knownhost_key_type 2020-09-03 18:02:27 +02:00
vtls lib: fix -Wassign-enum warnings 2020-09-08 13:53:02 +02:00
.gitattributes
.gitignore
altsvc.c altsvc: clone setting in curl_easy_duphandle 2020-09-06 09:54:54 +02:00
altsvc.h altsvc: clone setting in curl_easy_duphandle 2020-09-06 09:54:54 +02:00
amigaos.c
amigaos.h
arpa_telnet.h
asyn-ares.c asyn-ares: correct some bad comments 2020-08-15 00:08:00 +02:00
asyn-thread.c build: disable more code/data when built without proxy support 2020-05-30 23:18:16 +02:00
asyn.h asyn.h: remove the Curl_resolver_getsock define 2020-07-12 18:06:50 +02:00
base64.c base64: also build for pop3 and imap 2020-09-10 08:50:04 +02:00
checksrc.pl checksrc: verify do-while and spaces between the braces 2020-08-24 16:38:17 +02:00
CMakeLists.txt
config-amigaos.h
config-dos.h
config-mac.h
config-os400.h
config-plan9.h
config-riscos.h
config-symbian.h
config-tpf.h
config-vxworks.h
config-win32.h windows: disable Unix Sockets for old mingw 2020-08-03 14:31:49 +00:00
config-win32ce.h
conncache.c hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
conncache.h hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
connect.c connect.c: remove superfluous 'else' in Curl_getconnectinfo 2020-09-04 13:31:51 +02:00
connect.h
content_encoding.c content_encoding: add zstd decoding support 2020-07-12 18:11:37 +02:00
content_encoding.h
cookie.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
cookie.h
curl_addrinfo.c Curl_addrinfo: use one malloc instead of three 2020-06-08 16:10:53 +02:00
curl_addrinfo.h copyright: updated year ranges out of sync 2020-05-24 00:02:33 +02:00
curl_base64.h
curl_config.h.cmake mqtt: enable by default 2020-08-31 09:45:09 +02:00
curl_ctype.c
curl_ctype.h
curl_des.c
curl_des.h
curl_endian.c
curl_endian.h
curl_fnmatch.c
curl_fnmatch.h
curl_get_line.c curl_get_line: build only if cookies or alt-svc are enabled 2020-08-26 22:56:26 +02:00
curl_get_line.h
curl_gethostname.c lib: make Curl_gethostname accept a const pointer 2020-08-27 22:52:22 +02:00
curl_gethostname.h lib: make Curl_gethostname accept a const pointer 2020-08-27 22:52:22 +02:00
curl_gssapi.c
curl_gssapi.h
curl_hmac.h
curl_ldap.h
curl_md4.h
curl_md5.h
curl_memory.h
curl_memrchr.c
curl_memrchr.h
curl_multibyte.c multibyte: Fixed access-> waccess to file for Windows Plarform 2020-06-21 19:31:39 +02:00
curl_multibyte.h
curl_ntlm_core.c ntlm: fix condition for curl_ntlm_core usage 2020-08-29 10:08:32 +02:00
curl_ntlm_core.h ntlm: fix condition for curl_ntlm_core usage 2020-08-29 10:08:32 +02:00
curl_ntlm_wb.c http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
curl_ntlm_wb.h
curl_path.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
curl_path.h
curl_printf.h
curl_range.c
curl_range.h
curl_rtmp.c
curl_rtmp.h
curl_sasl.c build: disable more code/data when built without proxy support 2020-05-30 23:18:16 +02:00
curl_sasl.h
curl_sec.h
curl_setup_once.h
curl_setup.h win32: drop support for WinSock version 1, require version 2 2020-09-02 16:30:39 +02:00
curl_sha256.h
curl_sspi.c win32: Add Curl_verify_windows_version() to curlx 2020-08-02 17:58:44 +02:00
curl_sspi.h
curl_threads.c curl_threads: make it 'struct Curl_actual_call' 2020-09-02 22:41:59 +02:00
curl_threads.h
curlx.h win32: Add Curl_verify_windows_version() to curlx 2020-08-02 17:58:44 +02:00
dict.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
dict.h
doh.c tls: add CURLOPT_SSL_EC_CURVES and --curves 2020-08-30 17:24:04 +02:00
doh.h
dotdot.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
dotdot.h
dynbuf.c dynbuf: provide curlx_ names for reuse by the curl tool 2020-09-14 08:32:35 +02:00
dynbuf.h dynbuf: provide curlx_ names for reuse by the curl tool 2020-09-14 08:32:35 +02:00
easy.c altsvc: clone setting in curl_easy_duphandle 2020-09-06 09:54:54 +02:00
easygetopt.c easygetopt: pass a valid enum to avoid compiler warning 2020-09-05 14:44:11 +02:00
easyif.h
easyoptions.c lib: fix -Wassign-enum warnings 2020-09-08 13:53:02 +02:00
easyoptions.h easyoptions: provide debug function when DEBUGBUILD 2020-08-28 23:35:12 +02:00
escape.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
escape.h escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
file.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
file.h
fileinfo.c
fileinfo.h llist: make it "struct Curl_llist" 2020-09-02 22:41:58 +02:00
firefox-db2pem.sh
formdata.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
formdata.h
ftp.c ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND 2020-09-14 12:53:12 +02:00
ftp.h
ftplistparser.c llist: make it "struct Curl_llist" 2020-09-02 22:41:58 +02:00
ftplistparser.h
getenv.c
getinfo.c CURLE_PROXY: new error code 2020-08-24 08:41:48 +02:00
getinfo.h
gopher.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
gopher.h
hash.c hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
hash.h hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
hmac.c
hostasyn.c
hostcheck.c
hostcheck.h
hostip4.c
hostip6.c hostip: make Curl_printable_address not return anything 2020-05-19 08:11:46 +02:00
hostip.c hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
hostip.h hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
hostsyn.c
http2.c http: consolidate nghttp2_session_mem_recv() call paths 2020-09-10 17:43:47 +02:00
http2.h
http_chunks.c trailers: switch h1-trailer logic to use dynbuf 2020-06-05 17:57:24 +02:00
http_chunks.h
http_digest.c http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
http_digest.h http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
http_negotiate.c http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
http_negotiate.h
http_ntlm.c http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
http_ntlm.h
http_proxy.c http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
http_proxy.h
http.c CURLINFO_EFFECTIVE_METHOD: added 2020-07-14 17:53:45 +02:00
http.h h2: repair trailer handling 2020-08-03 23:43:24 +02:00
idn_win32.c
if2ip.c Curl_inet_ntop: always check the return code 2020-06-24 16:04:54 +02:00
if2ip.h
imap.c imap: set cselect_bits to CURL_CSELECT_IN initially 2020-09-14 12:29:44 +02:00
imap.h
inet_ntop.c
inet_ntop.h
inet_pton.c
inet_pton.h
krb5.c
ldap.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
libcurl.plist
libcurl.rc
libcurl.vers.in
llist.c llist: make it "struct Curl_llist" 2020-09-02 22:41:58 +02:00
llist.h llist: make it "struct Curl_llist" 2020-09-02 22:41:58 +02:00
Makefile.am build: drop support for building with Watcom 2020-09-05 21:51:37 +02:00
makefile.amiga
makefile.dj
Makefile.inc options: API for meta-data about easy options 2020-08-27 14:17:36 +02:00
Makefile.m32 Makefile.m32: add ability to override zstd libs [ci skip] 2020-08-22 21:08:28 +00:00
Makefile.netware
Makefile.vxworks
md4.c md(4|5): don't use deprecated macOS functions 2020-07-19 10:34:52 +02:00
md5.c md(4|5): don't use deprecated macOS functions 2020-07-19 10:34:52 +02:00
memdebug.c curl: improve the existing file check with -J 2020-07-28 23:28:40 +02:00
memdebug.h curl: improve the existing file check with -J 2020-07-28 23:28:40 +02:00
mime.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
mime.h
mk-ca-bundle.pl
mk-ca-bundle.vbs
mprintf.c checksrc: verify do-while and spaces between the braces 2020-08-24 16:38:17 +02:00
mqtt.c mqtt.c: avoid curl_ prefix on local variable 2020-09-02 22:41:59 +02:00
mqtt.h mqtt: enable by default 2020-08-31 09:45:09 +02:00
multi.c hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
multihandle.h hash: make it 'struct Curl_hash' 2020-09-02 22:41:58 +02:00
multiif.h url: make sure pushed streams get an allocated download buffer 2020-06-23 15:13:27 +02:00
netrc.c
netrc.h
non-ascii.c
non-ascii.h
nonblock.c
nonblock.h
nwlib.c
nwos.c
openldap.c
optiontable.pl lib: fix -Wassign-enum warnings 2020-09-08 13:53:02 +02:00
parsedate.c checksrc: ban gmtime/localtime 2020-07-28 23:51:17 +02:00
parsedate.h
pingpong.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
pingpong.h timeouts: change millisecond timeouts to timediff_t from time_t 2020-05-30 23:10:57 +02:00
pop3.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
pop3.h
progress.c Curl_pgrsTime - return new time to avoid timeout integer overflow 2020-08-28 14:16:41 +02:00
progress.h Curl_pgrsTime - return new time to avoid timeout integer overflow 2020-08-28 14:16:41 +02:00
psl.c
psl.h
quic.h connect: improve happy eyeballs handling 2020-06-18 00:20:42 +02:00
rand.c
rand.h
rename.c WIN32: stop forcing narrow-character API 2020-07-27 10:42:38 +02:00
rename.h
rtsp.c http: move header storage to Curl_easy from connectdata 2020-06-15 22:56:25 +02:00
rtsp.h
security.c lib: fix -Wassign-enum warnings 2020-09-08 13:53:02 +02:00
select.c select: align poll emulation to return all relevant events 2020-09-02 16:26:20 +02:00
select.h select.h: make socket validation macros test for INVALID_SOCKET 2020-08-25 11:17:06 +02:00
sendf.c sendf: improve the message on client write errors 2020-06-24 16:03:40 +02:00
sendf.h
setopt.c setopt: avoid curl_ on local variable 2020-09-02 22:41:59 +02:00
setopt.h
setup-os400.h
setup-vms.h copyright: updated year ranges out of sync 2020-05-24 00:02:33 +02:00
setup-win32.h win32: drop support for WinSock version 1, require version 2 2020-09-02 16:30:39 +02:00
sha256.c sha256: move assign to the declaration line 2020-05-19 08:52:38 +02:00
share.c vtls: make it 'struct Curl_ssl_session' 2020-09-02 22:41:59 +02:00
share.h vtls: make it 'struct Curl_ssl_session' 2020-09-02 22:41:59 +02:00
sigpipe.h
slist.c
slist.h
smb.c ntlm: fix condition for curl_ntlm_core usage 2020-08-29 10:08:32 +02:00
smb.h ntlm: fix condition for curl_ntlm_core usage 2020-08-29 10:08:32 +02:00
smtp.c smtp_parse_address: handle blank input string properly 2020-08-07 11:49:36 +02:00
smtp.h
sockaddr.h
socketpair.c socketpair: allow CURL_DISABLE_SOCKETPAIR 2020-08-26 22:58:21 +02:00
socketpair.h
socks_gssapi.c all: fix codespell errors 2020-05-25 19:44:04 +00:00
socks_sspi.c all: fix codespell errors 2020-05-25 19:44:04 +00:00
socks.c CURLE_PROXY: new error code 2020-08-24 08:41:48 +02:00
socks.h CURLE_PROXY: new error code 2020-08-24 08:41:48 +02:00
speedcheck.c
speedcheck.h
splay.c
splay.h
strcase.c
strcase.h
strdup.c strdup: remove the odd strlen check 2020-07-18 12:37:25 +02:00
strdup.h
strerror.c CURLE_PROXY: new error code 2020-08-24 08:41:48 +02:00
strerror.h
strtok.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
strtok.h
strtoofft.c
strtoofft.h
system_win32.c win32: drop support for WinSock version 1, require version 2 2020-09-02 16:30:39 +02:00
system_win32.h copyright: update/correct the year range on a few files 2020-08-14 10:20:27 +02:00
telnet.c telnet.c: depend on static requirement of WinSock version 2 2020-09-02 16:33:03 +02:00
telnet.h
tftp.c escape: make the URL decode able to reject only %00 bytes 2020-06-25 09:57:18 +02:00
tftp.h
timeval.c
timeval.h
transfer.c transfer: move retrycount from connect struct to easy handle 2020-08-10 23:20:17 +02:00
transfer.h
url.c url: use blank credentials when using proxy w/o username and password 2020-09-08 00:48:09 +02:00
url.h build: disable more code/data when built without proxy support 2020-05-30 23:18:16 +02:00
urlapi-int.h
urlapi.c terminology: call them null-terminated strings 2020-06-28 00:31:24 +02:00
urldata.h vtls: make it 'struct Curl_ssl_session' 2020-09-02 22:41:59 +02:00
version_win32.c win32: Add Curl_verify_windows_version() to curlx 2020-08-02 17:58:44 +02:00
version_win32.h copyright: update/correct the year range on a few files 2020-08-14 10:20:27 +02:00
version.c mqtt: enable by default 2020-08-31 09:45:09 +02:00
warnless.c
warnless.h
wildcard.c
wildcard.h wildcard: strip "curl_" prefix from private symbols 2020-09-02 22:41:59 +02:00
x509asn1.c
x509asn1.h