| gabriel rosenkoetter on Wed, 24 Apr 2002 00:31:36 -0400 |
|
On Wed, Apr 24, 2002 at 12:02:07AM -0400, Bill Jonas wrote:
> $ man gpg
> --no-expensive-trust-checks
> Experimental use only.
Yeah. I experimented. It don't do. :^>
> $ gpg --version
> gpg (GnuPG) 1.0.6
Same.
Let's see what the source says, shall we?
grappa:gnupg-1.0.6/g10% grep opt.no_expensive_trust_checks *
g10.c: case oNoExpensiveTrustChecks: opt.no_expensive_trust_checks=1; break;
keylist.c: else if ( opt.fast_list_mode || opt.no_expensive_trust_checks )
keylist.c: && !opt.no_expensive_trust_checks )
keylist.c: else if ( opt.no_expensive_trust_checks ) {
keylist.c: else if ( opt.fast_list_mode || opt.no_expensive_trust_checks )
So the getopt foo in the main file sets things to 1 if it's passed
in, but the only thing that checks it is list_keyblock_colon(),
which only gets used if you supply the --with-colons flag:
list_keyblock( KBNODE keyblock, int secret )
{
reorder_keyblock (keyblock);
if (opt.with_colons)
list_keyblock_colon (keyblock, secret );
else
list_keyblock_print (keyblock, secret );
}
The conspiracy's thicker than that, though, since there's not really
any talk of trust in list_keyblock_print(). Probably outside
function calls for trust checks... _list() doesn't even call
get_ownertrust_info(), which is pretty definitely where the slowness
lives, just at a glance... it's malloc()ing memory all over the
place, starting with a call to init_trustdb() every damn time. Maybe
sticking the trustdb crap in the (also experimental) gpg-agent will
make this crap more liveable by at least keeping the structures
around in memory.
It's past my bedtime, or else I'd play with this a little bit more.
--
gabriel rosenkoetter
gr@eclipsed.net
Attachment:
pgpcgOK9OhNhV.pgp
|
|