diff options
author | Daniel Stenberg <daniel@haxx.se> | 2016-08-16 08:36:04 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2016-08-16 08:36:04 +0200 |
commit | 93b0d907d57453b481cd9aa15bd258942e4dd34e (patch) | |
tree | 56b402c03f954d5a909391aef982f7cfabb7d76d /lib/http_proxy.c | |
parent | 84e45f4b3ae49978cca282bf652d30c376518827 (diff) | |
download | curl-93b0d907d57453b481cd9aa15bd258942e4dd34e.tar.gz |
Revert "Proxy-Connection: stop sending this header by default"
This reverts commit 113f04e664b16b944e64498a73a4dab990fe9a68.
Diffstat (limited to 'lib/http_proxy.c')
-rw-r--r-- | lib/http_proxy.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/http_proxy.c b/lib/http_proxy.c index c6b05e30d..87f86b0c4 100644 --- a/lib/http_proxy.c +++ b/lib/http_proxy.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2015, 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 @@ -160,6 +160,7 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn, if(!result) { char *host=(char *)""; + const char *proxyconn=""; const char *useragent=""; const char *http = (conn->proxytype == CURLPROXY_HTTP_1_0) ? "1.0" : "1.1"; @@ -185,6 +186,9 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn, return CURLE_OUT_OF_MEMORY; } } + if(!Curl_checkProxyheaders(conn, "Proxy-Connection:")) + proxyconn = "Proxy-Connection: Keep-Alive\r\n"; + if(!Curl_checkProxyheaders(conn, "User-Agent:") && data->set.str[STRING_USERAGENT]) useragent = conn->allocptr.uagent; @@ -194,13 +198,15 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn, "CONNECT %s HTTP/%s\r\n" "%s" /* Host: */ "%s" /* Proxy-Authorization */ - "%s", /* User-Agent */ + "%s" /* User-Agent */ + "%s", /* Proxy-Connection */ hostheader, http, host, conn->allocptr.proxyuserpwd? conn->allocptr.proxyuserpwd:"", - useragent); + useragent, + proxyconn); if(host && *host) free(host); |