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 @@ -# Server-side + + +FTP +CURLE_PARTIAL_FILE +RETR +PASV + + 1oooooooooooooooooooooooooooooooooooooooooo2 @@ -25,6 +32,8 @@ ftp://%HOSTIP:%FTPPORT/161 # Verify data after the test has been "shot" +# This gets QUIT sent because CURLE_PARTIAL_FILE does NOT mark the control +# connection as bad USER anonymous PASS ftp@example.com @@ -33,6 +42,7 @@ EPSV TYPE I SIZE 161 RETR 161 +QUIT 18