threads / discuss / 37587

Broken handling of URL with literal IPv6 address

Subject: Broken handling of URL with literal IPv6 address

## tl;dr

2 messages between Sep 18, 2014 and Sep 18, 2014.

replies: 1people: 2as markdown or json

Christian Taube· Sep 18, 2014, 11:29 UTC · lore
Hello,
I was sent here from the IRC channel.
Using git 2.1.0, the command
  git clone ssh://[2001:db8::1]/repo.git
succeeds, but adding a username to the URL like this
  git clone ssh://user@[2001:db8::1]/repo.git
fails with an invalid hostname message:

Cloning into 'repo.git'... ssh: Could not resolve hostname [2001: Name or service not known fatal: Could not read from remote repository.

I found this workaround:
  git clone ssh://[user@2001:db8::1]/repo.git
but this seems to be contrary to the definition of URLs in RFC 3986.
http://tools.ietf.org/html/rfc3986
Please have a look at this. Thank you!

-- Christian Taube

Torsten Bögershausen· Sep 18, 2014, 13:03 UTC · re: Christian Taube · lore

Re: Broken handling of URL with literal IPv6 address

On 2014-09-18 13.29, Christian Taube wrote:
Show 35 quoted lines
> 
> Hello,
> 
> I was sent here from the IRC channel.
> 
> 
> Using git 2.1.0, the command
> 
>   git clone ssh://[2001:db8::1]/repo.git
> 
> succeeds, but adding a username to the URL like this
> 
>   git clone ssh://user@[2001:db8::1]/repo.git
> 
> fails with an invalid hostname message:
> 
> Cloning into 'repo.git'...
> ssh: Could not resolve hostname [2001: Name or service not known
> fatal: Could not read from remote repository.
> 
> 
> I found this workaround:
> 
>   git clone ssh://[user@2001:db8::1]/repo.git
> 
> but this seems to be contrary to the definition of URLs in RFC 3986.
> 
> http://tools.ietf.org/html/rfc3986
> 
> 
> Please have a look at this. Thank you!
> 
> 
> --
> Christian Taube

This is indeed a bug. We handle literal IPv6 adresses OK, we handle ssh://user@host OK. But it seems as if you are the first one using the combination of both, thanks for the bug report.

If somebody want to have a look in the Git source tree:
connect.c, t/t5500-fetch-pack.sh and t/t5601-clone.sh may deserve an update.
 

← back to recent threads