diff --git a/lib/ftp.c b/lib/ftp.c index fb7c5737e..5d78ad6ba 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -1951,13 +1951,11 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, return CURLE_FTP_WEIRD_PASV_REPLY; } - if(data->set.str[STRING_PROXY] && *data->set.str[STRING_PROXY]) { + if(conn->bits.proxy) { /* - * This is a tunnel through a http proxy and we need to connect to the - * proxy again here. - * - * We don't want to rely on a former host lookup that might've expired - * now, instead we remake the lookup here and now! + * This connection uses a proxy and we need to connect to the proxy again + * here. We don't want to rely on a former host lookup that might've + * expired now, instead we remake the lookup here and now! */ rc = Curl_resolv(conn, conn->proxy.name, (int)conn->port, &addr); if(rc == CURLRESOLV_PENDING) diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 7ec47f895..6bc8ce3c5 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -61,7 +61,7 @@ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ -test709 test710 \ +test709 test710 test711 test712 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ \ diff --git a/tests/data/test711 b/tests/data/test711 new file mode 100644 index 000000000..7be1f3cb5 --- /dev/null +++ b/tests/data/test711 @@ -0,0 +1,52 @@ + +#based off test 707 after bug report #1218 + + +FTP +PASV +RETR +SOCKS5 +all_proxy + + +# +# Server-side + + +silly content + + + +# +# Client-side + + +ftp +socks5 + + +all_proxy=socks5://%HOSTIP:%SOCKSPORT + + +FTP fetch with all_proxy set to socks5 + + +ftp://%HOSTIP:%FTPPORT/711 + + + +# +# Verify data after the test has been "shot" + + +USER anonymous +PASS ftp@example.com +PWD +EPSV +TYPE I +SIZE 711 +RETR 711 +QUIT + + + diff --git a/tests/data/test712 b/tests/data/test712 new file mode 100644 index 000000000..c62e9f2c5 --- /dev/null +++ b/tests/data/test712 @@ -0,0 +1,49 @@ + +#based off test 707 after bug report #1218 + + +FTP +PASV +RETR +SOCKS5 +all_proxy + + +# +# Server-side + + +silly content + + + +# +# Client-side + + +ftp +socks5 + + +FTP fetch with --proxy set to socks5:// + + +ftp://%HOSTIP:%FTPPORT/712 --proxy socks5://%HOSTIP:%SOCKSPORT + + + +# +# Verify data after the test has been "shot" + + +USER anonymous +PASS ftp@example.com +PWD +EPSV +TYPE I +SIZE 712 +RETR 712 +QUIT + + +