This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Https proxy auth issue with git in cygwin 2.2.1
- From: Johan Laenen <johan dot laenen+cygwin at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 16 Oct 2015 12:26:14 +0000 (UTC)
- Subject: Re: Https proxy auth issue with git in cygwin 2.2.1
- Authentication-results: sourceware.org; auth=none
- References: <CAFkLm6xW=5uUP+CRrmUontqPzqAZ+r4WdwjVAhP+XTvs53JmFQ at mail dot gmail dot com> <20150921103100 dot GF14466 at dinwoodie dot org> <loom dot 20150925T090939-654 at post dot gmane dot org> <20151005202249 dot GM14466 at dinwoodie dot org>
Adam Dinwoodie <adam <at> dinwoodie.org> writes:
> I think I've found the problem, and you're right -- Git has changed the
> way it makes the curl call. The culprit is commit 5841520b in the
> upstream Git repository, which has the following commit message:
>
> | http: always use any proxy auth method available
> |
> | We set CURLOPT_PROXYAUTH to use the most secure authentication
> | method available only when the user has set configuration variables
> | to specify a proxy. However, libcurl also supports specifying a
> | proxy through environment variables. In that case libcurl defaults
> | to only using the Basic proxy authentication method, because we do
> | not use CURLOPT_PROXYAUTH.
> |
> | Set CURLOPT_PROXYAUTH to always use the most secure authentication
> | method available, even when there is no git configuration telling us
> | to use a proxy. This allows the user to use environment variables to
> | configure a proxy that requires an authentication method different
> | from Basic.
>
> I can't confirm this is the problem, though, as I don't have a test
> environment that uses NTLM.
>
> Do you have the ability to either run a test version of Git I can
> produce that patches out this change, or (better) to build Git yourself
> without this patch to see if that is indeed the change that's causing
> the problem?
>
Hi There,
I can into the exact same problem after upgrading to the latest cygwin version.
So, following your advice, I took git-2.6.1.tar.gz from github, untarred,
and modified http.c:
$ diff git-2.6.1/http.c t/git-2.6.1/http.c
466,467c466,468
< if (curl_http_proxy) {
< curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);
---
> if (curl_http_proxy) {
> curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);
> }
469c470
< curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
---
> curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
471d471
< }
One make configure, ./configure, make and make install I can confirm that
unpatching the change undoes the problem :)
> Adam
>
>
Johan
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple