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