Using git with http behind proxy with authentification?

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Using git with http behind proxy with authentification?

From: Dirk Behme <hidden>
Date: 2016-06-15 22:42:02

Hi,

because I'm sitting behind a firewall I have to use cogito/git using 
http. But http proxy needs special authentification with user & 
password. It seems to me that this isn't supported with recent cogito/git?

In the past, for bk I used

$ export http_proxy=http://user:password@someproxy.some.where:8080/

which worked. But no luck with cogito/git.

Looking into recent cogito/git, the reason for this seems to be that 
cogito/git uses a combination of wget in scripts and curl in compiled 
executables. Having a look to cg-pull script, this script uses wget. 
Then, it calls git-http-pull if it thinks that http should be used. 
Looking at http-pull.c shows that there curl is used for http access. If 
I understand it correctly from man pages, wget understands user:password 
syntax of http_proxy environment, but curl doesn't. As I understand it 
curl understands only 'someproxy.some.where:8080' and wants the user and 
password given as parameter of curl_easy_setopt. The curl_easy_setopt 
man page tells something about CURLOPT_PROXYUSERPWD parameter.

Any ideas?

Many thanks

Dirk

Re: Using git with http behind proxy with authentification?

From: Darrin Thompson <hidden>
Date: 2016-06-15 22:42:02

On Sat, 2005-07-23 at 12:21 +0200, Dirk Behme wrote:
In the past, for bk I used

$ export http_proxy=http://user:password@someproxy.some.where:8080/

which worked. But no luck with cogito/git.

Looking into recent cogito/git, the reason for this seems to be that 
cogito/git uses a combination of wget in scripts and curl in compiled 
executables. Having a look to cg-pull script, this script uses wget. 
Then, it calls git-http-pull if it thinks that http should be used. 
Looking at http-pull.c shows that there curl is used for http access. If 
I understand it correctly from man pages, wget understands user:password 
syntax of http_proxy environment, but curl doesn't. As I understand it 
curl understands only 'someproxy.some.where:8080' and wants the user and 
password given as parameter of curl_easy_setopt. The curl_easy_setopt 
man page tells something about CURLOPT_PROXYUSERPWD parameter.
For git itself everything is curl only now as far as I know. That's new
as of hours after you sent this.

Git turns on .netrc for doing 401 http auth. I wonder if curl will
consult .netrc for 407 proxy credentials as well?

Somebody would have to read code and/or try it.

--
Darrin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help