diff options
Diffstat (limited to '')
-rw-r--r-- | g10/ChangeLog | 5 | ||||
-rw-r--r-- | g10/keyserver.c | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 44d5f447a..5cf4ab6a8 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2005-12-08 David Shaw <[email protected]> + + * keyserver.c (keyserver_fetch): Switch on fast-import before we + --fetch-keys so we don't rebuild the trustdb after each fetch. + 2005-12-08 Werner Koch <[email protected]> * keyserver.c (keyserver_fetch): Made strings translatable. diff --git a/g10/keyserver.c b/g10/keyserver.c index 44e963cbd..d7b5c8eb5 100644 --- a/g10/keyserver.c +++ b/g10/keyserver.c @@ -1822,6 +1822,12 @@ keyserver_fetch(STRLIST urilist) { KEYDB_SEARCH_DESC desc; STRLIST sl; + unsigned int options=opt.keyserver_options.import_options; + + /* Switch on fast-import, since fetch can handle more than one + import and we don't want each set to rebuild the trustdb. + Instead we do it once at the end. */ + opt.keyserver_options.import_options|=IMPORT_FAST; /* A dummy desc since we're not actually fetching a particular key ID */ @@ -1857,5 +1863,12 @@ keyserver_fetch(STRLIST urilist) log_info (_("WARNING: unable to parse URI %s\n"),sl->d); } + opt.keyserver_options.import_options=options; + + /* If the original options didn't have fast import, and the trustdb + is dirty, rebuild. */ + if(!(opt.keyserver_options.import_options&IMPORT_FAST)) + trustdb_check_or_update(); + return 0; } |