summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-09-16 13:40:44 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-09-16 13:40:44 -0400
commit89776ff6d7849f786db35de610b88aa9556f1623 (patch)
tree88f8a2bf19d8e76df8e5d3ad76774cc704ee4ae2
parentf90839eada85dbccc29ee171d1b36020af342792 (diff)
Windows: Avoid crashing trying to list gpg secret keys, for gcrypt which is not yet supported on Windows.
-rw-r--r--Utility/Gpg.hs3
-rw-r--r--debian/changelog2
-rw-r--r--doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn10
3 files changed, 14 insertions, 1 deletions
diff --git a/Utility/Gpg.hs b/Utility/Gpg.hs
index 69a47c78f..f9b60f276 100644
--- a/Utility/Gpg.hs
+++ b/Utility/Gpg.hs
@@ -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) =
diff --git a/debian/changelog b/debian/changelog
index cd6cfd228..825d8d46d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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
diff --git a/doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn b/doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn
index cb58b912c..c076dfc54 100644
--- a/doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn
+++ b/doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn
@@ -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]]