summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-05-06 15:21:30 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-05-06 15:21:30 -0400
commit078a6fbd76190c48cfa5c588bb9d2174baef5852 (patch)
tree7e8906de4d701051ce1c6c41879ed35d4631505e /doc
parentf1fbe33cfeba70123a702b3cdd1139361b75b875 (diff)
Work around a bug in Network.URI's handling of bracketed ipv6 addresses.
Diffstat (limited to 'doc')
-rw-r--r--doc/bugs/git-annex_incorrectly_parses_bare_IPv6_addresses.mdwn16
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/bugs/git-annex_incorrectly_parses_bare_IPv6_addresses.mdwn b/doc/bugs/git-annex_incorrectly_parses_bare_IPv6_addresses.mdwn
index fdaf5d5d1..c94952b49 100644
--- a/doc/bugs/git-annex_incorrectly_parses_bare_IPv6_addresses.mdwn
+++ b/doc/bugs/git-annex_incorrectly_parses_bare_IPv6_addresses.mdwn
@@ -41,3 +41,19 @@ git-annex: bad url ssh://[2001/~/0:53aa:64c:24ef:5ce4:2ef9:cdda]:/home/paulprote
(Note that both these .git/config entries work fine with "git fetch".)
-- Asheesh.
+
+> Technically, this seems to be a bug in the haskell URI library; it honors
+> the `[]` in parsing, but does not remove them when the URI is queried for
+> the host part.
+
+<pre>
+Prelude Network.URI> let (Just u) = parseURI "http://foo@[2001:0:53aa:64c:24ef:5ce4:2ef9:cdda]/bar"
+Prelude Network.URI> let (Just a) = uriAuthority u
+Prelude Network.URI> uriRegName a
+"[2001:0:53aa:64c:24ef:5ce4:2ef9:cdda]"
+Prelude Network.URI> isIPv6address $ uriRegName a
+False
+</pre>
+
+> I have filed a [bug upstream](http://trac.haskell.org/network/ticket/40), and put a workaround in git-annex. [[done]]
+> --[[Joey]]