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
Assistant
debian

View file

@ -223,6 +223,10 @@ knownHost :: Text -> IO Bool
knownHost hostname = do
sshdir <- sshDir
ifM (doesFileExist $ sshdir </> "known_hosts")
( not . null <$> readProcess "ssh-keygen" ["-F", T.unpack hostname]
( not . null <$> checkhost
, 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
the repository access to the S3 account. Instead, they're stored
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