diff options
-rw-r--r-- | Assistant/Ssh.hs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Assistant/Ssh.hs b/Assistant/Ssh.hs index 82da9e33a..fdb56f08b 100644 --- a/Assistant/Ssh.hs +++ b/Assistant/Ssh.hs @@ -315,10 +315,14 @@ setSshConfig sshdata config = do - to allow unMangleSshHostName to work. Any unusual characters in the - username or directory are url encoded, except using "." rather than "%" - (the latter has special meaning to ssh). + - + - The mangled hostname is lower-cased because openssh 6.5p1 does not work + - if ssh config Host lines contain any upper-case. -} mangleSshHostName :: SshData -> String -mangleSshHostName sshdata = "git-annex-" ++ T.unpack (sshHostName sshdata) - ++ "-" ++ escape extra +mangleSshHostName sshdata = map toLower $ + "git-annex-" ++ T.unpack (sshHostName sshdata) + ++ "-" ++ escape extra where extra = intercalate "_" $ map T.unpack $ catMaybes [ sshUserName sshdata |