diff options
author | Joey Hess <joey@kitenet.net> | 2014-06-05 12:50:15 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-06-05 12:50:15 -0400 |
commit | 1c13c9814dc11374e361f2af2e07e7e419418e76 (patch) | |
tree | 4d140ad70f92294f1512a2e551655d2de8b17846 /Assistant/Ssh.hs | |
parent | 43c3dce6504595edf9b496062e9733c90f4c9f2d (diff) |
webapp: Include ssh port in mangled hostname.
This avoids a collision if different ssh ports are used on the same host
for some reason.
Note that it's ok to change the format of the mangled hostname; unmangling
only extracts the hostname from it, and once ssh is configured for a
mangled hostname, that config is not changed.
Diffstat (limited to 'Assistant/Ssh.hs')
-rw-r--r-- | Assistant/Ssh.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Assistant/Ssh.hs b/Assistant/Ssh.hs index 4dd32f7d9..e1a78cd00 100644 --- a/Assistant/Ssh.hs +++ b/Assistant/Ssh.hs @@ -312,7 +312,7 @@ setSshConfig sshdata config = do {- This hostname is specific to a given repository on the ssh host, - so it is based on the real hostname, the username, and the directory. - - - The mangled hostname has the form "git-annex-realhostname-username_dir". + - The mangled hostname has the form "git-annex-realhostname-username-port_dir". - The only use of "-" is to separate the parts shown; this is necessary - to allow unMangleSshHostName to work. Any unusual characters in the - username or directory are url encoded, except using "." rather than "%" @@ -324,6 +324,7 @@ mangleSshHostName sshdata = "git-annex-" ++ T.unpack (sshHostName sshdata) where extra = intercalate "_" $ map T.unpack $ catMaybes [ sshUserName sshdata + , Just $ T.pack $ show $ sshPort sshdata , Just $ sshDirectory sshdata ] safe c |