aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyring.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2003-03-04 15:24:12 +0000
committerDavid Shaw <[email protected]>2003-03-04 15:24:12 +0000
commit909f6a0637b7111c294e5f6f37e4c3a0561bcd99 (patch)
treee1a4f448faaaee207c03d8813a15035c0e1c7f8b /g10/keyring.c
parent* keyserver.c (keyserver_spawn): Include various pieces of information (diff)
downloadgnupg-909f6a0637b7111c294e5f6f37e4c3a0561bcd99.tar.gz
gnupg-909f6a0637b7111c294e5f6f37e4c3a0561bcd99.zip
* trustdb.c (validate_keys): Mask the ownertrust when building the list of
fully valid keys so that disabled keys are still counted in the web of trust. (get_ownertrust_with_min): Do the same for the minimum ownertrust calculation. * parse-packet.c (dump_sig_subpkt): Show the notation names for not-human-readable notations. Fix cosmetic off-by-one length counter. * options.skel: Add explantion and commented-out "no-mangle-dos-filenames". * mainproc.c (proc_encrypted): Make string translatable. * keyserver.c (keyserver_spawn): Quote ':', '%', and any 8-bit characters in the uid strings sent to the keyserver helper. * keyring.c (keyring_rebuild_cache): Lock the keyring while rebuilding the signature caches to prevent another gpg from tampering with the temporary copy. * keygen.c (keygen_set_std_prefs): Include AES192 and AES256 in default prefs. * keyedit.c (show_prefs): Make strings translatable. * keydb.c: Double the maximum number of keyrings to 40. * gpgv.c (main): Fix bug #113 - gpgv should accept the --ignore-time-conflict option. * g10.c (main): --openpgp disables --pgpX. Double the amount of secure memory to 32k (keys are getting bigger these days). * Makefile.am: Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using capabilities.
Diffstat (limited to 'g10/keyring.c')
-rw-r--r--g10/keyring.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/g10/keyring.c b/g10/keyring.c
index 898136b05..f8b6e1520 100644
--- a/g10/keyring.c
+++ b/g10/keyring.c
@@ -1326,6 +1326,10 @@ keyring_rebuild_cache (void *token)
memset (&desc, 0, sizeof desc);
desc.mode = KEYDB_SEARCH_MODE_FIRST;
+ rc=keyring_lock (hd, 1);
+ if(rc)
+ goto leave;
+
while ( !(rc = keyring_search (hd, &desc, 1, NULL)) )
{
desc.mode = KEYDB_SEARCH_MODE_NEXT;
@@ -1420,6 +1424,7 @@ keyring_rebuild_cache (void *token)
m_free (tmpfilename);
m_free (bakfilename);
release_kbnode (keyblock);
+ keyring_lock (hd, 0);
keyring_release (hd);
return rc;
}