[PATCH v3 2/4] http: try http_proxy env var when http.proxy config option is not set
- From
- Nelson Benitez Leon <nelsonjesus.benitez@seap.minhap.es>
- Date
- Mar 5, 2012, 15:17 UTC
- Message-ID
- <4F54D91C.6080905@seap.minhap.es>
cURL already reads it, but if $http_proxy has username but no password cURL will not ask you for the password and so failed to authenticate returning a 407 error code. So we read it ourselves to detect that and ask for the password. Also we read it prior to connection to be able to make a proactive authentication in case the flag http_proactive_auth is set.
Signed-off-by: Nelson Benitez Leon <nbenitezl@gmail.com> --- http.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/http.c b/http.c index 8ac8eb6..8932da5 100644 --- a/http.c +++ b/http.c @@ -295,6 +295,13 @@ static CURL *get_curl_handle(void) if (curl_ftp_no_epsv) curl_easy_setopt(result, CURLOPT_FTP_USE_EPSV, 0); + if (!curl_http_proxy) { + const char *env_proxy; + env_proxy = getenv("http_proxy"); + if (env_proxy) { + curl_http_proxy = xstrdup(env_proxy); + } + } if (curl_http_proxy) { curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy); curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
-- 1.7.7.6