Jeff Lawson fixed a few problems with connection re-use that remained when
authorDaniel Stenberg <daniel@haxx.se>
Thu, 10 Oct 2002 08:00:49 +0000 (08:00 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 10 Oct 2002 08:00:49 +0000 (08:00 +0000)
you set CURLOPT_PROXY to "".

lib/http.c
lib/url.c

index 6bba43dda4684d2c86ac543e2fe5f085e9997b30..35cae48e81a68ccd7b78c9035b1f4dd9358ff521 100644 (file)
@@ -420,7 +420,7 @@ CURLcode Curl_http_connect(struct connectdata *conn)
    * has occured, can we start talking SSL
    */
 
-  if(data->change.proxy && (data->set.proxytype == CURLPROXY_HTTP) &&
+  if(conn->bits.httpproxy &&
      ((conn->protocol & PROT_HTTPS) || data->set.tunnel_thru_httpproxy)) {
 
     /* either HTTPS over proxy, OR explicitly asked for a tunnel */
@@ -551,7 +551,7 @@ CURLcode Curl_http(struct connectdata *conn)
                              host, ppath,
                              (conn->protocol&PROT_HTTPS?TRUE:FALSE));
   }
-  if (data->change.proxy &&
+  if (data->change.proxy && *data->change.proxy &&
       !data->set.tunnel_thru_httpproxy &&
       !(conn->protocol&PROT_HTTPS))  {
     /* The path sent to the proxy is in fact the entire URL */
index 744a0c4fba0fbd81a9015004802eaedf3454a812..c55ebdb197f5e836bd9c2a3030835cd6247c636d 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -1729,9 +1729,11 @@ static CURLcode CreateConnection(struct SessionHandle *data,
   conn->firstsocket = -1;     /* no file descriptor */
   conn->secondarysocket = -1; /* no file descriptor */
   conn->connectindex = -1;    /* no index */
-  conn->bits.httpproxy = data->change.proxy?TRUE:FALSE; /* proxy-or-not */
+  conn->bits.httpproxy = (data->change.proxy && *data->change.proxy &&
+                          (data->set.proxytype == CURLPROXY_HTTP))?
+    TRUE:FALSE; /* http proxy or not */
   conn->bits.use_range = data->set.set_range?TRUE:FALSE; /* range status */
-  conn->range = data->set.set_range;               /* clone the range setting */
+  conn->range = data->set.set_range;              /* clone the range setting */
   conn->resume_from = data->set.set_resume_from;   /* inherite resume_from */
 
   /* Default protocol-independent behavior doesn't support persistant