From 1c13c9814dc11374e361f2af2e07e7e419418e76 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 5 Jun 2014 12:50:15 -0400 Subject: 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. --- Assistant/Ssh.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Assistant/Ssh.hs') 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 -- cgit v1.2.3