diff options
-rw-r--r-- | CHANGES | 9 | ||||
-rw-r--r-- | lib/ftp.c | 1 | ||||
-rw-r--r-- | tests/data/Makefile.am | 2 | ||||
-rw-r--r-- | tests/data/test283 | 1 | ||||
-rw-r--r-- | tests/data/test290 | 45 | ||||
-rw-r--r-- | tests/data/test291 | 47 |
6 files changed, 104 insertions, 1 deletions
@@ -6,6 +6,15 @@ Changelog +Dan F (29 March 2007) +- Don't tear down the ftp connection if the maximum filesize was exceeded + and added tests 290 and 291 to check. + +- Added ftps upload and SSL required tests 401 and 402. + +- Send an EOF message before closing an SCP channel, as recommended by + RFC4254. Enable libssh2 tracing when ssh debugging is turned on. + Yang Tse (27 March 2007) - Internal function Curl_select() renamed to Curl_socket_ready() @@ -3020,6 +3020,7 @@ CURLcode Curl_ftp_done(struct connectdata *conn, CURLcode status, bool premature case CURLE_FTP_COULDNT_RETR_FILE: case CURLE_FTP_COULDNT_STOR_FILE: case CURLE_FTP_ACCESS_DENIED: + case CURLE_FILESIZE_EXCEEDED: /* the connection stays alive fine even though this happened */ /* fall-through */ case CURLE_OK: /* doesn't affect the control connection's status */ diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 21345a565..205ca1c1f 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -38,4 +38,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test530 DISABLED test278 test279 test531 test280 test529 test532 test533 \ test534 test535 test281 test537 test282 test283 test284 test538 test285 \ test286 test307 test308 test287 test400 test288 test600 test601 test602 \ - test603 test401 test402 + test603 test401 test402 test290 test291 diff --git a/tests/data/test283 b/tests/data/test283 index e470c87fc..922de51e0 100644 --- a/tests/data/test283 +++ b/tests/data/test283 @@ -3,6 +3,7 @@ <keywords> TFTP TFTP RRQ +FAILURE </keywords> </info> diff --git a/tests/data/test290 b/tests/data/test290 new file mode 100644 index 000000000..82477cba0 --- /dev/null +++ b/tests/data/test290 @@ -0,0 +1,45 @@ +<testcase> +<info> +<keywords> +FTP +--max-filesize +</keywords> +</info> +# Server-side +<reply> +<size> +85 +</size> +</reply> + +# Client-side +<client> +<server> +ftp +</server> + <name> +FTP download maximum filesize exceeded + </name> + <command> +ftp://%HOSTIP:%FTPPORT/290 --max-filesize 30 +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<errorcode> +63 +</errorcode> +<strip> +</strip> +<protocol> +USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 290
+QUIT
+</protocol> +</verify> +</testcase> diff --git a/tests/data/test291 b/tests/data/test291 new file mode 100644 index 000000000..18e039e4f --- /dev/null +++ b/tests/data/test291 @@ -0,0 +1,47 @@ +<testcase> +<info> +<keywords> +FTP +RETR +--max-filesize +</keywords> +</info> +# Server-side +<reply> +<data> +data + to + see +that FTP +works + so does it? +</data> +</reply> + +# Client-side +<client> +<server> +ftp +</server> + <name> +FTP download maximum filesize not exceeded + </name> + <command> +ftp://%HOSTIP:%FTPPORT/291 --max-filesize 100 +</command> +</client> + +# Verify data after the test has been "shot" +<verify> +<protocol> +USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+SIZE 291
+RETR 291
+QUIT
+</protocol> +</verify> +</testcase> |