Skip to content

Commit

Permalink
Allow HTTP proxy to be overridden in config
Browse files Browse the repository at this point in the history
The http_proxy / HTTPS_PROXY variables used by curl to control
proxying may not be suitable for git.  Allow the user to override them
in the configuration file.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Sam Vilain authored and Junio C Hamano committed Dec 4, 2007
1 parent b319ce4 commit 9c5665a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -550,6 +550,10 @@ specified as 'gitcvs.<access_method>.<varname>' (where 'access_method'
is one of "ext" and "pserver") to make them apply only for the given
access method.

http.proxy::
Override the HTTP proxy, normally configured using the 'http_proxy'
environment variable (see gitlink:curl[1]).

http.sslVerify::
Whether to verify the SSL certificate when fetching or pushing
over HTTPS. Can be overridden by the 'GIT_SSL_NO_VERIFY' environment
Expand Down
11 changes: 11 additions & 0 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ char *ssl_cainfo = NULL;
long curl_low_speed_limit = -1;
long curl_low_speed_time = -1;
int curl_ftp_no_epsv = 0;
char *curl_http_proxy = NULL;

struct curl_slist *pragma_header;

Expand Down Expand Up @@ -160,6 +161,13 @@ static int http_options(const char *var, const char *value)
curl_ftp_no_epsv = git_config_bool(var, value);
return 0;
}
if (!strcmp("http.proxy", var)) {
if (curl_http_proxy == NULL) {
curl_http_proxy = xmalloc(strlen(value)+1);
strcpy(curl_http_proxy, value);
}
return 0;
}

/* Fall back on the default ones */
return git_default_config(var, value);
Expand Down Expand Up @@ -205,6 +213,9 @@ static CURL* get_curl_handle(void)
if (curl_ftp_no_epsv)
curl_easy_setopt(result, CURLOPT_FTP_USE_EPSV, 0);

if (curl_http_proxy)
curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);

return result;
}

Expand Down

0 comments on commit 9c5665a

Please sign in to comment.