diff options
author | Daniel Stenberg <daniel@haxx.se> | 2012-03-08 23:31:38 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-03-08 23:31:38 +0100 |
commit | 41b02378342322aa8e264260057502f4d7493239 (patch) | |
tree | 2c36f9555820464145d4153d00f24834c6df62e4 /lib/ftp.c | |
parent | cabd010dd46ae4d37d91e20e1127cb00e67ec0a7 (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.c | 27 |
1 files changed, 0 insertions, 27 deletions
@@ -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); |