aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ftp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 49a1d82d0..f941fea37 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1826,10 +1826,17 @@ static CURLcode ftp_state_type_resp(struct connectdata *conn,
CURLcode result = CURLE_OK;
struct SessionHandle *data=conn->data;
- if(ftpcode != 200) {
+ if(ftpcode/100 != 2) {
+ /* "sasserftpd" and "(u)r(x)bot ftpd" both responds with 226 after a
+ successful 'TYPE I'. While that is not as RFC959 says, it is still a
+ positive response code and we allow that. */
failf(data, "Couldn't set desired mode");
return CURLE_FTP_COULDNT_SET_BINARY; /* FIX */
}
+ if(ftpcode != 200)
+ infof(data, "Got a %03d response code instead of the assumed 200\n",
+ ftpcode);
+
if(instate == FTP_TYPE)
result = ftp_state_post_type(conn);
else if(instate == FTP_LIST_TYPE)