cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: http proxy tunnel ... through a proxy

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Sat, 24 Jun 2006 20:26:25 +0200 (CEST)

On Thu, 22 Jun 2006, Prashant Ramanathan wrote:

Thanks for the patch. I do have a few questions and remarks on it though, see
below.

> Yes, we go through two proxies and do two CONNECTs. The first proxy is a
> normal proxy connection; the second is a proxy tunnel connection.
>
> There are two new options that can be set by curl_easy_setopt():

> 1. CURLOPT_CONNECTTUNNEL (used to specify a proxy tunnel connection, but can
> also be used in conjunction with CURLOPT_PROXY, in case we need to go
> through another proxy server)

Can you please provide a description for curl_easy_setopt.3 as well? It would
be neat to have that include details on how this option differs from setting a
PROXY and use PROXYTUNNEL and when you need to use either one of them. Also,
is the CONNECTTUNNEL then used first and then the PROXY one or vice versa?

Remember that once added, this code will linger for a very long time and
people will want to know these things...

And you'd get 10 bonus points if you also provide a source code example
showing these options in actual use!

> 2. CURLOPT_FORCE_REUSE (used so that the connection made to the proxy tunnel
> stays open)

Why is this option necessary (we don't need it for the existing CONNECT code
and use)? And further, if you are using a CONNECT tunnel is there ever a case
where you'd _not_ enable it?

> There is one new option that is set by curl_easy_getinfo(): 1.
> CURLINFO_CONNECTINDEX (used to reference the new connection, so that we can
> directly access the socket connection)

Why do you need the connectindex for anything outside of libcurl? To access
the raw socket after you'd used libcurl, you should use CURLINFO_LASTSOCKET
option.

-- 
  Commercial curl and libcurl Technical Support: http://haxx.se/curl.html
Received on 2006-06-24