aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2007-03-30 01:13:47 +0000
committerDan Fandrich <dan@coneharvesters.com>2007-03-30 01:13:47 +0000
commitffb11ad5c69a71f12b8e28912019e87bdfa76d35 (patch)
tree311d56de43d2a34a88266d63b7b26dafc5705214
parentfbb1e49215e613b0462ba2d154c545424640f4bf (diff)
Don't tear down the ftp connection if the maximum filesize was exceeded
and added tests 290 and 291 to check.
-rw-r--r--CHANGES9
-rw-r--r--lib/ftp.c1
-rw-r--r--tests/data/Makefile.am2
-rw-r--r--tests/data/test2831
-rw-r--r--tests/data/test29045
-rw-r--r--tests/data/test29147
6 files changed, 104 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index d4d9f5837..ba60cb202 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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()
diff --git a/lib/ftp.c b/lib/ftp.c
index 69243684e..4fe25dc97 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -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>