On Fri, Aug 28, 2015 at 04:07:36PM +1000, Stephen Kazakoff wrote:
Hi,
When I'm behind a proxy (with BASIC authentication), I'm unable to
perform a git clone.
I managed to fix this by editing http.c and recompiling. The change
I'd like to propose is to line 452.
From:
curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
To:
curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_BASIC | CURLAUTH_NTLM);
Assuming it's supported upstream, I suspect this would break people who
are using GSSAPI (or Digest) authentication for their proxy. This would
be a logical thing to do where Kerberos is used.
It might be worth checking exactly which bits cause problems for you;
perhaps your proxy might be misconfigured to suggest a type that it
doesn't support.
I did however find the CURL documentation
(https://secure.php.net/manual/en/function.curl-setopt.php) slightly
conflicting. On one hand, "CURLAUTH_ANY" is effectively the same as
passing "CURLAUTH_BASIC | CURLAUTH_NTLM". But the documentation for
"CURLOPT_PROXYAUTH" says that only "CURLAUTH_BASIC" and
"CURLAUTH_NTLM" are currently supported. By that, I'm assuming
"CURLAUTH_ANY" is not supported.
This looks like the documentation for PHP. The libcurl documentation[0]
doesn't mention a limitation.
[0] http://curl.haxx.se/libcurl/c/CURLOPT_PROXYAUTH.html
--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187