From 71b2a0a9551eed64cc45981a4d8b7a46e1a44232 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 5 Jun 2014 12:50:15 -0400 Subject: [PATCH] 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 ++- debian/changelog | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Assistant/Ssh.hs b/Assistant/Ssh.hs index 4dd32f7d92..e1a78cd00e 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 diff --git a/debian/changelog b/debian/changelog index 0de7c25f83..dd2583e3b6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ git-annex (5.20140530) UNRELEASED; urgency=medium an already existing remote. * assistant: Make sanity checker tmp dir cleanup code more robust. * unused: Avoid checking view branches for unused files. + * webapp: Include ssh port in mangled hostname. -- Joey Hess Thu, 29 May 2014 20:10:59 -0400