From: Junio C Hamano <gitster@pobox.com>
To: Enrique Tobis <Enrique.Tobis@twosigma.com>
Cc: "'git\@vger.kernel.org'" <git@vger.kernel.org>,
'Nelson Benitez Leon' <nbenitezl@gmail.com>
Subject: Re: [PATCH] http: always use any proxy auth method available
Date: Fri, 26 Jun 2015 12:24:42 -0700 [thread overview]
Message-ID: <xmqqfv5etgqt.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <FCAB894186380D42A07AFFFA5A1282B8F1EC65FD@EXMBNJE2.ad.twosigma.com> (Enrique Tobis's message of "Fri, 26 Jun 2015 18:19:04 +0000")
Enrique Tobis <Enrique.Tobis@twosigma.com> writes:
Thanks. I wonder why this was addressed me directly (i.e. I am not
an area expert, and I haven't seen this patch discussed here and
reviewed by other people), but anyway...
> By default, libcurl honors some environment variables that specify a
> proxy (e.g. http_proxy, https_proxy). Also by default, libcurl will
> only try to authenticate with a proxy using the Basic method.
OK, that is a statement of two facts.
What's missing here is what they relate to this change. Are these
two good things that we want to keep? Are these bad things we need
to tweak out by changing our software? Or some combination? Some
third key information that is left untold?
> This
> change makes libcurl always try the most secure proxy authentication
> method available. As a consequence, you can use environment variables
> to instruct git to use a proxy that uses an authentication method
> different from Basic (e.g. Negotiate).
That is a worthy goal, but the description of the current problem
seems lacking. Perhaps you meant something like this:
We use CURLOPT_PROXYAUTH to ask for the most secure
authentication method with proxy only when we have
curl_http_proxy set, by http.proxy or remote.*.proxy
configuration variables. However, libcurl also allows users
to use http proxies by setting some environment variables,
and by default the authentication with the proxy uses Basic
auth (unless specified with CURLOPT_PROXYAUTH, that is).
By always using CURLOPT_PROXYAUTH to ask for the most secure
authentication method, even when we are not aware that we
are using proxy (because there is no configuration that
tells us so), we can allow users to tell libcurl to use
a proxy with more secure method without setting http.proxy
or remote.*.proxy configuration variables.
But I am just guessing; as I said, I am not an expert in this area
of the code.
> Signed-off-by: Enrique A. Tobis <etobis@twosigma.com>
> ---
> http.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/http.c b/http.c
> index f0c5bbc..e9c6fdd 100644
> --- a/http.c
> +++ b/http.c
> @@ -416,10 +416,10 @@ static CURL *get_curl_handle(void)
>
> if (curl_http_proxy) {
> curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);
> + }
> #if LIBCURL_VERSION_NUM >= 0x070a07
The authoritative source of truth:
https://github.com/bagder/curl/blob/master/docs/libcurl/symbols-in-versions
matches this version number, so there is nothing wrong per-se on
this line, but it makes me wonder why we didn't do
#ifdef CURLOPT_PROXYAUTH
instead. That's not something that should be changed with this
change, though.
> - curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
> + curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
> #endif
> - }
>
> set_curl_keepalive(result);
Assuming that I guessed your justification for this change corretly
in the earlier part of this message, I think the change makes sense.
Thanks.
next prev parent reply other threads:[~2015-06-26 19:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-26 18:19 [PATCH] http: always use any proxy auth method available Enrique Tobis
2015-06-26 19:24 ` Junio C Hamano [this message]
2015-06-26 21:53 ` Enrique Tobis
2015-06-29 17:00 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqfv5etgqt.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=Enrique.Tobis@twosigma.com \
--cc=git@vger.kernel.org \
--cc=nbenitezl@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.