Windows: Avoid crashing trying to list gpg secret keys, for gcrypt which is not yet supported on Windows.

This commit is contained in:
Joey Hess 2014-09-16 13:40:44 -04:00
parent ebd781984e
commit 2abeae7582
3 changed files with 14 additions and 1 deletions

View file

@ -163,8 +163,9 @@ type UserId = String
{- All of the user's secret keys, with their UserIds.
- Note that the UserId may be empty. -}
secretKeys :: IO (M.Map KeyId UserId)
secretKeys = M.fromList . parse . lines <$> readStrict params
secretKeys = catchDefaultIO M.empty makemap
where
makemap = M.fromList . parse . lines <$> readStrict params
params = [Params "--with-colons --list-secret-keys --fixed-list-mode"]
parse = extract [] Nothing . map (split ":")
extract c (Just keyid) (("uid":_:_:_:_:_:_:_:_:userid:_):rest) =

2
debian/changelog vendored
View file

@ -2,6 +2,8 @@ git-annex (5.20140916) UNRELEASED; urgency=medium
* assistant: Detect when repository has been deleted or moved, and
automatically shut down the assistant. Closes: #761261
* Windows: Avoid crashing trying to list gpg secret keys, for gcrypt
which is not yet supported on Windows.
-- Joey Hess <joeyh@debian.org> Mon, 15 Sep 2014 14:39:17 -0400

View file

@ -64,3 +64,13 @@ secmem usage: 0/0 bytes in 0/0 blocks of pool 0/65536
# End of transcript or log.
"""]]
> Thanks for reporting this problem. I've fixed it to not crash when gpg
> fails to list secret keys.
>
> That doesn't fix the problem that the cygnus build of gpg does not find
> the user's home directory properly. But that's only needed for the
> encrypted repository (gcrypt) support, which is listed in
> [[windows_support]] as not yet available for Windows.
>
> So, not leaving this bug report open. [[done]] --[[Joey]]