gpg: Add signature cache support to the keybox.
authorWerner Koch <wk@gnupg.org>
Fri, 28 Dec 2012 16:17:56 +0000 (17:17 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 28 Dec 2012 16:17:56 +0000 (17:17 +0100)
commit79f08fb0699f4a065e3a29bc7676a90534d7ba60
treefe8c45dea8b808e0add2118b2d672439534d337a
parent564d10ea5cd29685a00a4096d69ae2476b60506f
gpg: Add signature cache support to the keybox.

* g10/keydb.c (parse_keyblock_image): Add arg SIGSTATUS.
(keydb_get_keyblock): Handle it.
(build_keyblock_image): Add arg SIGSTATUS.
(keydb_insert_keyblock): Handle it.
* kbx/keybox-blob.c (pgp_create_sig_part): Add arg SIGSTATUS.
(_keybox_create_openpgp_blob): Ditto.
* kbx/kbxutil.c (import_openpgp): Adjust for above change.
* kbx/keybox.h (KEYBOX_FLAG_SIG_INFO): New.
* kbx/keybox-search.c (_keybox_get_flag_location): Handle new flag.
(keybox_get_keyblock): Add arg R_SIGSTATUS.
* kbx/keybox-update.c (keybox_insert_keyblock): Add arg SIGSTATUS.
--

With this change a key listing using the keybox format is now double
as fast as using a keyring.  The memory use dropped as well.  Measured
with about 1500 keys.
g10/keydb.c
kbx/kbxutil.c
kbx/keybox-blob.c
kbx/keybox-defs.h
kbx/keybox-search.c
kbx/keybox-update.c
kbx/keybox.h