From: Daniel Stenberg Date: Tue, 24 May 2005 09:39:56 +0000 (+0000) Subject: Now allow TYPE responses to be any 2xx code, and log if it isn't 200. X-Git-Tag: curl-7_14_1~167 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7012a515cb4a66d11e4d22cba87d23ca748fbee;p=thirdparty%2Fcurl.git Now allow TYPE responses to be any 2xx code, and log if it isn't 200. --- diff --git a/lib/ftp.c b/lib/ftp.c index 49a1d82d0b..f941fea373 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)