From 0d72f67f28d52b3d7fb2760484fb51c014273bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Mon, 14 Mar 2016 17:36:04 +0100 Subject: 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. --- include/git2/proxy.h | 15 +++++---------- src/transports/http.c | 2 +- src/transports/winhttp.c | 2 +- tests/online/clone.c | 4 ++-- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/include/git2/proxy.h b/include/git2/proxy.h index b45b55b3b..dcd615633 100644 --- a/include/git2/proxy.h +++ b/include/git2/proxy.h @@ -18,6 +18,9 @@ GIT_BEGIN_DECL typedef enum { /** * 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, /** @@ -25,17 +28,9 @@ typedef enum { */ GIT_PROXY_AUTO, /** - * Connect through a HTTP proxy - */ - GIT_PROXY_HTTP, - /** - * Connect through a SOCKS v4 proxy - */ - GIT_PROXY_SOCKS4, - /** - * Connect through a SOCKS v5 proxy + * Connect via the URL given in the options */ - GIT_PROXY_SOCKS5, + GIT_PROXY_SPECIFIED, } git_proxy_t; /** diff --git a/src/transports/http.c b/src/transports/http.c index 03a16da98..7bb3374a0 100644 --- a/src/transports/http.c +++ b/src/transports/http.c @@ -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) return error; - opts.type = GIT_PROXY_HTTP; + opts.type = GIT_PROXY_SPECIFIED; opts.url = url; error = git_stream_set_proxy(t->io, &opts); git__free(url); diff --git a/src/transports/winhttp.c b/src/transports/winhttp.c index d9f38c826..580c3b91b 100644 --- a/src/transports/winhttp.c +++ b/src/transports/winhttp.c @@ -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) 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); GITERR_CHECK_ALLOC(proxy_url); } diff --git a/tests/online/clone.c b/tests/online/clone.c index d2a5928da..0fc8d4271 100644 --- a/tests/online/clone.c +++ b/tests/online/clone.c @@ -678,7 +678,7 @@ void test_online_clone__proxy_credentials_request(void) if (!_remote_proxy_url || !_remote_proxy_user || !_remote_proxy_pass) 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.credentials = proxy_creds; called_proxy_creds = 0; @@ -691,7 +691,7 @@ void test_online_clone__proxy_credentials_in_url(void) if (!_remote_proxy_url) 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; called_proxy_creds = 0; cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options)); -- cgit v1.2.1