Https proxy auth issue with git in cygwin 2.2.1
Adam Dinwoodie
adam@dinwoodie.org
Mon Nov 23 22:40:00 GMT 2015
On Fri, Oct 16, 2015 at 12:26:14PM +0000, Johan Laenen wrote:
> 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 :)
Hi Johan,
I've just spotted this email while trawling through other Cygwin/Git
related things; somehow I missed it when it was first sent.
I see you've raised this on the upstream Git mailing list already, and
there's been some useful discussion there, so I'm not proposing any
further discussion on this list. I just wanted to reply with my Git
maintainer hat on and acknowledge the discussion has moved upstream.
Cheers,
Adam
--
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
More information about the Cygwin
mailing list