aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2012-03-08 23:31:38 +0100
committerDaniel Stenberg <daniel@haxx.se>2012-03-08 23:31:38 +0100
commit41b02378342322aa8e264260057502f4d7493239 (patch)
tree2c36f9555820464145d4153d00f24834c6df62e4 /lib/ftp.c
parentcabd010dd46ae4d37d91e20e1127cb00e67ec0a7 (diff)
CONNECT: made generically not per-protocol
Curl_protocol_connect() now does the tunneling through the HTTP proxy if requested instead of letting each protocol specific connection function do it.
Diffstat (limited to 'lib/ftp.c')
-rw-r--r--lib/ftp.c27
1 files changed, 0 insertions, 27 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 106d5bc9d..1308696fc 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3197,33 +3197,6 @@ static CURLcode ftp_connect(struct connectdata *conn,
pp->endofresp = ftp_endofresp;
pp->conn = conn;
- if(conn->bits.tunnel_proxy && conn->bits.httpproxy) {
- /* for FTP over HTTP proxy */
- struct HTTP http_proxy;
- struct FTP *ftp_save;
-
- /* BLOCKING */
- /* We want "seamless" FTP operations through HTTP proxy tunnel */
-
- /* Curl_proxyCONNECT is based on a pointer to a struct HTTP at the member
- * conn->proto.http; we want FTP through HTTP and we have to change the
- * member temporarily for connecting to the HTTP proxy. After
- * Curl_proxyCONNECT we have to set back the member to the original struct
- * FTP pointer
- */
- ftp_save = data->state.proto.ftp;
- memset(&http_proxy, 0, sizeof(http_proxy));
- data->state.proto.http = &http_proxy;
-
- result = Curl_proxyCONNECT(conn, FIRSTSOCKET,
- conn->host.name, conn->remote_port);
-
- data->state.proto.ftp = ftp_save;
-
- if(CURLE_OK != result)
- return result;
- }
-
if(conn->handler->flags & PROTOPT_SSL) {
/* BLOCKING */
result = Curl_ssl_connect(conn, FIRSTSOCKET);