diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-12-08 20:20:51 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-12-08 20:20:51 +0000 |
commit | 18371aaff999d4862a32d060f03d8f668e8fa1b1 (patch) | |
tree | 3f2ea6ffedbcb1f43e26f418078ad18ced2db6e0 /tests | |
parent | f36eab2608f473a7054f2c75c411abd676657a70 (diff) |
- Fred Machado posted about a weird FTP problem on the curl-users list and when
researching it, it turned out he got a 550 response back from a SIZE command
and then I fell over the text in RFC3659 that says:
The presence of the 550 error response to a SIZE command MUST NOT be taken
by the client as an indication that the file cannot be transferred in the
current MODE and TYPE.
In other words: the change I did on September 30th 2008 and that has been
included in the last two releases were a regression and a bad idea. We MUST
NOT take a 550 response from SIZE as a hint that the file doesn't exist.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/test118 | 3 | ||||
-rw-r--r-- | tests/data/test533 | 2 | ||||
-rw-r--r-- | tests/data/test534 | 1 | ||||
-rw-r--r-- | tests/data/test546 | 3 | ||||
-rw-r--r-- | tests/ftpserver.pl | 8 |
5 files changed, 9 insertions, 8 deletions
diff --git a/tests/data/test118 b/tests/data/test118 index b2b10c235..6cd086ca2 100644 --- a/tests/data/test118 +++ b/tests/data/test118 @@ -9,9 +9,6 @@ FAILURE </info> # Server-side <reply> -<size> -1 -</size> <servercmd> REPLY RETR 314 bluah you f00l! REPLY EPSV 314 bluah you f00l! diff --git a/tests/data/test533 b/tests/data/test533 index a7a57b9a7..f4446cbe0 100644 --- a/tests/data/test533 +++ b/tests/data/test533 @@ -45,8 +45,10 @@ CWD path EPSV
TYPE I
SIZE 533
+RETR 533
EPSV
SIZE 533
+RETR 533
QUIT
</protocol> </verify> diff --git a/tests/data/test534 b/tests/data/test534 index 1f02df551..52bb1e260 100644 --- a/tests/data/test534 +++ b/tests/data/test534 @@ -45,6 +45,7 @@ CWD path EPSV
TYPE I
SIZE 534
+RETR 534
QUIT
</protocol> </verify> diff --git a/tests/data/test546 b/tests/data/test546 index 415848792..1dd1cd41e 100644 --- a/tests/data/test546 +++ b/tests/data/test546 @@ -19,6 +19,8 @@ works </data> <servercmd> +REPLY RETR 550 the file doesn't exist +COUNT RETR 1 REPLY SIZE 550 Can't check for file existence COUNT SIZE 1 </servercmd> @@ -50,6 +52,7 @@ CWD path EPSV
TYPE I
SIZE 546
+RETR 546
EPSV
SIZE 546
RETR 546
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index 7a2ffe529..f2acd72d8 100644 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -407,14 +407,12 @@ sub SIZE_command { my $size = $data[0]; - if($size ne "") { - # we check for "" to be able to explictly set the size to 0 and yet have - # that send a 213 + if($size) { if($size > -1) { sendcontrol "213 $size\r\n"; } else { - sendcontrol "350 $testno: SIZE is not supported.\r\n"; + sendcontrol "550 $testno: No such file or directory.\r\n"; } } else { @@ -427,7 +425,7 @@ sub SIZE_command { sendcontrol "213 $size\r\n"; } else { - sendcontrol "350 $testno: SIZE is not supported.\r\n"; + sendcontrol "550 $testno: No such file or directory.\r\n"; } } return 0; |