[git] GnuPG - branch, master, updated. gnupg-2.1.21-19-gd3d640b
by Andre Heinecke
cvs at cvs.gnupg.org
Tue May 30 10:26:02 CEST 2017
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".
The branch, master has been updated
via d3d640b9cc98dd0d06b49a2e4d46eb67af96fe29 (commit)
from 996544626ea416c173a940db47f47f9e5cbd844c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d3d640b9cc98dd0d06b49a2e4d46eb67af96fe29
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Tue May 30 10:22:35 2017 +0200
gpg: Disable keydb handle caching
* g10/getkey.c (getkey_end): Disable caching of the open keydb
handle.
--
This created a big regression for Windows because the keyring
is only released after the global ctrl is released. So if an operation
does a getkey and then tries to modify the keyring it will fail on
Windows with a sharing violation. We need to modify all
keyring write operations to also take the ctrl and close the
cached_getkey_kdb handle to make writing work. See:
https://dev.gnupg.org/T3097
GnuPG-Bug-Id: T3097
Signed-off-by: Andre Heinecke <aheinecke at intevation.de>
diff --git a/g10/getkey.c b/g10/getkey.c
index 04ecf4f..ac6b9a3 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -2219,10 +2219,20 @@ getkey_end (ctrl_t ctrl, getkey_ctx_t ctx)
{
if (ctx)
{
+/*
+XXX: This creates a big regression for Windows because the keyring
+* is only released after the global ctrl is released. So if an operation
+* does a getkey and then tries to modify the keyring it will fail on
+* Windows with a sharing violation. We need to modify all
+* keyring write operations to also take the ctrl and close the
+* cached_getkey_kdb handle to make writing work. See:
+* https://dev.gnupg.org/T3097
+
if (ctrl && !ctrl->cached_getkey_kdb)
ctrl->cached_getkey_kdb = ctx->kr_handle;
else
- keydb_release (ctx->kr_handle);
+*/
+ keydb_release (ctx->kr_handle);
free_strlist (ctx->extra_list);
if (!ctx->not_allocated)
xfree (ctx);
-----------------------------------------------------------------------
Summary of changes:
g10/getkey.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
hooks/post-receive
--
The GNU Privacy Guard
http://git.gnupg.org
More information about the Gnupg-commits
mailing list