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.
This commit is contained in:
Joey Hess 2014-06-05 12:50:15 -04:00
parent 022fb1f45d
commit 71b2a0a955
2 changed files with 3 additions and 1 deletions

View file

@ -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

1
debian/changelog vendored
View file

@ -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 <joeyh@debian.org> Thu, 29 May 2014 20:10:59 -0400