aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ftp.c1
-rw-r--r--tests/data/test16112
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 8f4ac1e7f..63a0463bd 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3287,6 +3287,7 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
case CURLE_FTP_ACCEPT_TIMEOUT:
case CURLE_FTP_COULDNT_SET_TYPE:
case CURLE_FTP_COULDNT_RETR_FILE:
+ case CURLE_PARTIAL_FILE:
case CURLE_UPLOAD_FAILED:
case CURLE_REMOTE_ACCESS_DENIED:
case CURLE_FILESIZE_EXCEEDED:
diff --git a/tests/data/test161 b/tests/data/test161
index bc6820ce1..045835998 100644
--- a/tests/data/test161
+++ b/tests/data/test161
@@ -1,5 +1,12 @@
<testcase>
-# Server-side
+<info>
+<keywords>
+FTP
+CURLE_PARTIAL_FILE
+RETR
+PASV
+</keywords>
+</info>
<reply>
<data>
1oooooooooooooooooooooooooooooooooooooooooo2
@@ -25,6 +32,8 @@ ftp://%HOSTIP:%FTPPORT/161
# Verify data after the test has been "shot"
<verify>
+# This gets QUIT sent because CURLE_PARTIAL_FILE does NOT mark the control
+# connection as bad
<protocol>
USER anonymous
PASS ftp@example.com
@@ -33,6 +42,7 @@ EPSV
TYPE I
SIZE 161
RETR 161
+QUIT
</protocol>
<errorcode>
18