mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-11 21:48:50 +01:00
* g10.c (main), keydb.h, keydb.c (keydb_rebuild_caches), keyring.h,
keyring.c (keyring_rebuild_cache): Add "noisy" flag so cache rebuilds can remain noisy when called for itself, and quiet when called as part of the trustdb rebuild. * trustdb.c (validate_keys): Rebuild the sig caches before building the trustdb. Note that this is going to require some architectual re-thinking, as it is agonizingly slow.
This commit is contained in:
parent
9915f6ed78
commit
0fb284ac24
@ -1,3 +1,14 @@
|
||||
2004-01-20 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* g10.c (main), keydb.h, keydb.c (keydb_rebuild_caches),
|
||||
keyring.h, keyring.c (keyring_rebuild_cache): Add "noisy" flag so
|
||||
cache rebuilds can remain noisy when called for itself, and quiet
|
||||
when called as part of the trustdb rebuild.
|
||||
|
||||
* trustdb.c (validate_keys): Rebuild the sig caches before
|
||||
building the trustdb. Note that this is going to require some
|
||||
architectual re-thinking, as it is agonizingly slow.
|
||||
|
||||
2004-01-19 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* sig-check.c (check_key_signature2): Comments.
|
||||
|
@ -3023,7 +3023,7 @@ main( int argc, char **argv )
|
||||
case aRebuildKeydbCaches:
|
||||
if (argc)
|
||||
wrong_args ("--rebuild-keydb-caches");
|
||||
keydb_rebuild_caches ();
|
||||
keydb_rebuild_caches (1);
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_CARD_SUPPORT
|
||||
|
@ -597,7 +597,7 @@ keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved)
|
||||
* Rebuild the caches of all key resources.
|
||||
*/
|
||||
void
|
||||
keydb_rebuild_caches (void)
|
||||
keydb_rebuild_caches (int noisy)
|
||||
{
|
||||
int i, rc;
|
||||
|
||||
@ -610,7 +610,7 @@ keydb_rebuild_caches (void)
|
||||
case KEYDB_RESOURCE_TYPE_NONE: /* ignore */
|
||||
break;
|
||||
case KEYDB_RESOURCE_TYPE_KEYRING:
|
||||
rc = keyring_rebuild_cache (all_resources[i].token);
|
||||
rc = keyring_rebuild_cache (all_resources[i].token,noisy);
|
||||
if (rc)
|
||||
log_error (_("failed to rebuild keyring cache: %s\n"),
|
||||
g10_errstr (rc));
|
||||
|
@ -156,7 +156,7 @@ int keydb_update_keyblock (KEYDB_HANDLE hd, KBNODE kb);
|
||||
int keydb_insert_keyblock (KEYDB_HANDLE hd, KBNODE kb);
|
||||
int keydb_delete_keyblock (KEYDB_HANDLE hd);
|
||||
int keydb_locate_writable (KEYDB_HANDLE hd, const char *reserved);
|
||||
void keydb_rebuild_caches (void);
|
||||
void keydb_rebuild_caches (int noisy);
|
||||
int keydb_search_reset (KEYDB_HANDLE hd);
|
||||
#define keydb_search(a,b,c) keydb_search2((a),(b),(c),NULL)
|
||||
int keydb_search2 (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,
|
||||
|
@ -1310,7 +1310,7 @@ write_keyblock (IOBUF fp, KBNODE keyblock)
|
||||
* This is only done for the public keyrings.
|
||||
*/
|
||||
int
|
||||
keyring_rebuild_cache (void *token)
|
||||
keyring_rebuild_cache (void *token,int noisy)
|
||||
{
|
||||
KEYRING_HANDLE hd;
|
||||
KEYDB_SEARCH_DESC desc;
|
||||
@ -1356,8 +1356,8 @@ keyring_rebuild_cache (void *token)
|
||||
if (rc)
|
||||
goto leave;
|
||||
lastresname = resname;
|
||||
if (!opt.quiet)
|
||||
log_info (_("checking keyring `%s'\n"), resname);
|
||||
if (noisy && !opt.quiet)
|
||||
log_info (_("caching keyring `%s'\n"), resname);
|
||||
rc = create_tmp_file (resname, &bakfilename, &tmpfilename, &tmpfp);
|
||||
if (rc)
|
||||
goto leave;
|
||||
@ -1402,8 +1402,8 @@ keyring_rebuild_cache (void *token)
|
||||
if (rc)
|
||||
goto leave;
|
||||
|
||||
if ( !(++count % 50) && !opt.quiet)
|
||||
log_info(_("%lu keys checked so far (%lu signatures)\n"),
|
||||
if ( !(++count % 50) && noisy && !opt.quiet)
|
||||
log_info(_("%lu keys cached so far (%lu signatures)\n"),
|
||||
count, sigcount );
|
||||
|
||||
} /* end main loop */
|
||||
@ -1414,7 +1414,8 @@ keyring_rebuild_cache (void *token)
|
||||
log_error ("keyring_search failed: %s\n", g10_errstr(rc));
|
||||
goto leave;
|
||||
}
|
||||
log_info(_("%lu keys checked (%lu signatures)\n"), count, sigcount );
|
||||
if(noisy || opt.verbose)
|
||||
log_info(_("%lu keys cached (%lu signatures)\n"), count, sigcount );
|
||||
if (tmpfp)
|
||||
{
|
||||
if (iobuf_close (tmpfp))
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
|
||||
typedef struct keyring_handle *KEYRING_HANDLE;
|
||||
|
||||
int keyring_register_filename (const char *fname, int secret, void **ptr);
|
||||
@ -41,6 +40,6 @@ int keyring_delete_keyblock (KEYRING_HANDLE hd);
|
||||
int keyring_search_reset (KEYRING_HANDLE hd);
|
||||
int keyring_search (KEYRING_HANDLE hd, KEYDB_SEARCH_DESC *desc,
|
||||
size_t ndesc, size_t *descindex);
|
||||
int keyring_rebuild_cache (void *);
|
||||
int keyring_rebuild_cache (void *token,int noisy);
|
||||
|
||||
#endif /*GPG_KEYRING_H*/
|
||||
|
@ -1944,6 +1944,13 @@ validate_keys (int interactive)
|
||||
KeyHashTable stored,used,full_trust;
|
||||
u32 start_time, next_expire;
|
||||
|
||||
/* Make sure we have all sigs cached. TODO: This is going to
|
||||
require some architectual re-thinking, as it is agonizingly slow.
|
||||
Perhaps combine this with reset_trust_records(), or only check
|
||||
the caches on keys that are actually involved in the web of
|
||||
trust. */
|
||||
keydb_rebuild_caches(0);
|
||||
|
||||
start_time = make_timestamp ();
|
||||
next_expire = 0xffffffff; /* set next expire to the year 2106 */
|
||||
stored = new_key_hash_table ();
|
||||
|
Loading…
Reference in New Issue
Block a user