--- Distribution/Client/HttpUtils.hs.orig	2008-12-11 17:16:40.698457695 +0200
+++ Distribution/Client/HttpUtils.hs	2008-12-11 16:31:21.226548556 +0200
@@ -101,9 +101,17 @@
   where
     parseHttpURI str' = case parseAbsoluteURI str' of
       Just uri@URI { uriAuthority = Just _ }
-         -> Just uri
+         -> Just (fixUserInfo uri)
       _  -> Nothing
 
+fixUserInfo :: URI -> URI
+fixUserInfo uri = uri{ uriAuthority = f `fmap` uriAuthority uri }
+    where
+      f a@URIAuth{ uriUserInfo = s } =
+          a{ uriUserInfo = case reverse s of
+                             '@':s' -> reverse s'
+                             _      -> s
+           }
 uri2proxy :: URI -> Maybe Proxy
 uri2proxy uri@URI{ uriScheme = "http:"
                  , uriAuthority = Just (URIAuth auth' host port)
