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)
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 \
\
--- /dev/null
+<testcase>
+#based off test 707 after bug report #1218
+<info>
+<keywords>
+FTP
+PASV
+RETR
+SOCKS5
+all_proxy
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+silly content
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+ftp
+socks5
+</server>
+<setenv>
+all_proxy=socks5://%HOSTIP:%SOCKSPORT
+</setenv>
+ <name>
+FTP fetch with all_proxy set to socks5
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/711
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS ftp@example.com\r
+PWD\r
+EPSV\r
+TYPE I\r
+SIZE 711\r
+RETR 711\r
+QUIT\r
+</protocol>
+</verify>
+</testcase>
--- /dev/null
+<testcase>
+#based off test 707 after bug report #1218
+<info>
+<keywords>
+FTP
+PASV
+RETR
+SOCKS5
+all_proxy
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+silly content
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+ftp
+socks5
+</server>
+ <name>
+FTP fetch with --proxy set to socks5://
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/712 --proxy socks5://%HOSTIP:%SOCKSPORT
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous\r
+PASS ftp@example.com\r
+PWD\r
+EPSV\r
+TYPE I\r
+SIZE 712\r
+RETR 712\r
+QUIT\r
+</protocol>
+</verify>
+</testcase>