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/imap.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/imap.c')
-rw-r--r-- | lib/imap.c | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/lib/imap.c b/lib/imap.c index c6701417d..6551190ee 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -721,33 +721,6 @@ static CURLcode imap_connect(struct connectdata *conn, pp->endofresp = imap_endofresp; pp->conn = conn; - if(conn->bits.tunnel_proxy && conn->bits.httpproxy) { - /* for IMAP over HTTP proxy */ - struct HTTP http_proxy; - struct FTP *imap_save; - - /* BLOCKING */ - /* We want "seamless" IMAP operations through HTTP proxy tunnel */ - - /* Curl_proxyCONNECT is based on a pointer to a struct HTTP at the member - * conn->proto.http; we want IMAP 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 - * IMAP pointer - */ - imap_save = data->state.proto.imap; - 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.imap = imap_save; - - if(CURLE_OK != result) - return result; - } - if((conn->handler->flags & PROTOPT_SSL) && data->state.used_interface != Curl_if_multi) { /* BLOCKING */ |