webapp: Avoid crashing when ssh-keygen -F chokes on an invalid known_hosts file.

This commit is contained in:
Joey Hess 2012-09-27 11:27:16 -04:00
parent 6d7c8338f9
commit 7f78bc92b6
2 changed files with 7 additions and 1 deletions

View file

@ -223,6 +223,10 @@ knownHost :: Text -> IO Bool
knownHost hostname = do knownHost hostname = do
sshdir <- sshDir sshdir <- sshDir
ifM (doesFileExist $ sshdir </> "known_hosts") ifM (doesFileExist $ sshdir </> "known_hosts")
( not . null <$> readProcess "ssh-keygen" ["-F", T.unpack hostname] ( not . null <$> checkhost
, return False , return False
) )
where
{- ssh-keygen -F can crash on some old known_hosts file -}
checkhost = catchDefaultIO "" $
readProcess "ssh-keygen" ["-F", T.unpack hostname]

2
debian/changelog vendored
View file

@ -16,6 +16,8 @@ git-annex (3.20120925) UNRELEASED; urgency=low
in the git repository, as that would allow anyone with access to in the git repository, as that would allow anyone with access to
the repository access to the S3 account. Instead, they're stored the repository access to the S3 account. Instead, they're stored
in a 600 mode file in the local git repo. in a 600 mode file in the local git repo.
* webapp: Avoid crashing when ssh-keygen -F chokes on an invalid known_hosts
file.
-- Joey Hess <joeyh@debian.org> Mon, 24 Sep 2012 19:58:07 -0400 -- Joey Hess <joeyh@debian.org> Mon, 24 Sep 2012 19:58:07 -0400