proxy: don't specify the protocol in the type

We leave this up to the scheme in the url field. The type should only
tell us about whether we want a proxy and whether we want to auto-detect
it.
This commit is contained in:
Carlos Martín Nieto 2016-03-14 17:36:04 +01:00
parent db01724fd9
commit 0d72f67f28
4 changed files with 9 additions and 14 deletions

View File

@ -18,6 +18,9 @@ GIT_BEGIN_DECL
typedef enum { typedef enum {
/** /**
* Do not attempt to connect through a proxy * Do not attempt to connect through a proxy
*
* If built against lbicurl, it itself may attempt to connect
* to a proxy if the environment variables specify it.
*/ */
GIT_PROXY_NONE, GIT_PROXY_NONE,
/** /**
@ -25,17 +28,9 @@ typedef enum {
*/ */
GIT_PROXY_AUTO, GIT_PROXY_AUTO,
/** /**
* Connect through a HTTP proxy * Connect via the URL given in the options
*/ */
GIT_PROXY_HTTP, GIT_PROXY_SPECIFIED,
/**
* Connect through a SOCKS v4 proxy
*/
GIT_PROXY_SOCKS4,
/**
* Connect through a SOCKS v5 proxy
*/
GIT_PROXY_SOCKS5,
} git_proxy_t; } git_proxy_t;
/** /**

View File

@ -575,7 +575,7 @@ static int apply_proxy_config(http_subtransport *t)
if ((error = git_remote__get_http_proxy(t->owner->owner, !!t->connection_data.use_ssl, &url)) < 0) if ((error = git_remote__get_http_proxy(t->owner->owner, !!t->connection_data.use_ssl, &url)) < 0)
return error; return error;
opts.type = GIT_PROXY_HTTP; opts.type = GIT_PROXY_SPECIFIED;
opts.url = url; opts.url = url;
error = git_stream_set_proxy(t->io, &opts); error = git_stream_set_proxy(t->io, &opts);
git__free(url); git__free(url);

View File

@ -381,7 +381,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
if (git_remote__get_http_proxy(t->owner->owner, !!t->connection_data.use_ssl, &proxy_url) < 0) if (git_remote__get_http_proxy(t->owner->owner, !!t->connection_data.use_ssl, &proxy_url) < 0)
goto on_error; goto on_error;
} }
else if (proxy_opts->type == GIT_PROXY_HTTP) { else if (proxy_opts->type == GIT_PROXY_SPECIFIED) {
proxy_url = git__strdup(proxy_opts->url); proxy_url = git__strdup(proxy_opts->url);
GITERR_CHECK_ALLOC(proxy_url); GITERR_CHECK_ALLOC(proxy_url);
} }

View File

@ -678,7 +678,7 @@ void test_online_clone__proxy_credentials_request(void)
if (!_remote_proxy_url || !_remote_proxy_user || !_remote_proxy_pass) if (!_remote_proxy_url || !_remote_proxy_user || !_remote_proxy_pass)
cl_skip(); cl_skip();
g_options.fetch_opts.proxy_opts.type = GIT_PROXY_HTTP; g_options.fetch_opts.proxy_opts.type = GIT_PROXY_SPECIFIED;
g_options.fetch_opts.proxy_opts.url = _remote_proxy_url; g_options.fetch_opts.proxy_opts.url = _remote_proxy_url;
g_options.fetch_opts.proxy_opts.credentials = proxy_creds; g_options.fetch_opts.proxy_opts.credentials = proxy_creds;
called_proxy_creds = 0; called_proxy_creds = 0;
@ -691,7 +691,7 @@ void test_online_clone__proxy_credentials_in_url(void)
if (!_remote_proxy_url) if (!_remote_proxy_url)
cl_skip(); cl_skip();
g_options.fetch_opts.proxy_opts.type = GIT_PROXY_HTTP; g_options.fetch_opts.proxy_opts.type = GIT_PROXY_SPECIFIED;
g_options.fetch_opts.proxy_opts.url = _remote_proxy_url; g_options.fetch_opts.proxy_opts.url = _remote_proxy_url;
called_proxy_creds = 0; called_proxy_creds = 0;
cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options)); cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options));