1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-01 22:28:02 +02:00
gnupg/kbx
Werner Koch 280e9c9cfa
kbx: First take on a cache for the keyboxd.
* kbx/backend.h (enum database_types): Add DB_TYPE_CACHE.
(struct db_request_part_s): Add seqno fields.
(struct db_request_s): Add infos for the cache backend.
* kbx/backend-support.c (struct backend_handle_s): Add 'backend_id'.
(strdbtype): Support DB_TYPE_CACHE.
(be_generic_release_backend): Ditto.
(be_find_request_part): New.
(be_return_pubkey): New arg UBID and chnage status name.
* kbx/backend-cache.c: New.
* kbx/backend-kbx.c (be_kbx_init_request_part): New.
(be_kbx_search): Factor some code out to a support function.
(be_kbx_seek): New.
* kbx/frontend.c (kbxd_add_resource): Support DB_TYPE_CACHE.
(kbxd_search): Support the NEXR operation with the cache.
* kbx/keybox-search-desc.h (KEYDB_SEARCH_MODE_UBID): New.
(struct keydb_search_desc): Add field u.ubid.
* kbx/keybox-search.c (has_ubid): New.
(keybox_search): Support the UBID search.
--

This adds a caching backend to the keyboxd.  This tries to accommodate
for duplicate use of fingerprints and thus be correct in case a
fingerprint is used in several keys.  It also turned out that we need
to have a unique identifier (UBID) to identify a keyblock or X.509
certificate.  In particular with an OpenPGP keyblob we can't easily
use the primary fingerprint as an identifier because that fingerprint
may also be used as subkey in another key.  Thus using a hash of the
entire keyblock is a better identifier to be used to address a
keyblock for restarting a search or for identifying the keyblock to be
updated.  Note that this new UBID is not a permanent identifier
because it changes with all keyblock update; it should be viewed as a
handle to the keyblock or X509 cert.
2019-09-27 09:24:58 +02:00
..
backend-cache.c kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
backend-kbx.c kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
backend-support.c kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
backend.h kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
frontend.c kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
frontend.h kbx: Add framework for the SEARCH command 2019-08-06 16:07:33 +02:00
kbxserver.c kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
kbxutil.c gpg: Implement searching keys via keygrip. 2019-01-29 20:10:11 +01:00
keybox-blob.c spelling: Fix "synchronize" 2019-06-23 20:21:02 -04:00
keybox-defs.h kbx: Add support for 32 byte fingerprints. 2019-03-14 11:26:54 +01:00
keybox-dump.c kbx: Add support for 32 byte fingerprints. 2019-03-14 11:26:54 +01:00
keybox-errors.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
keybox-file.c kbx: Allow writing using a estream. 2019-08-06 15:01:21 +02:00
keybox-init.c kbx: Fix deadlock in gpgsm on Windows due to a sharing violation. 2019-05-14 19:05:58 +02:00
keybox-openpgp.c kbx: Add support for 32 byte fingerprints. 2019-03-14 11:26:54 +01:00
keybox-search-desc.h kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
keybox-search.c kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
keybox-update.c kbx: Allow writing using a estream. 2019-08-06 15:01:21 +02:00
keybox-util.c kbx: Simplify by removing custom memory functions. 2017-12-22 12:55:46 +01:00
keybox.h kbx: Add framework for the SEARCH command 2019-08-06 16:07:33 +02:00
keyboxd-w32info.rc kbx: Add framework for a public key daemon. 2018-09-05 17:00:17 +02:00
keyboxd.c kbx: Allow fd-passing for the keyboxd. 2019-09-10 15:52:12 +02:00
keyboxd.h kbx: Add framework for the SEARCH command 2019-08-06 16:07:33 +02:00
Makefile.am kbx: First take on a cache for the keyboxd. 2019-09-27 09:24:58 +02:00
Manifest The keybox gets now compressed after 3 hours and ephemeral 2004-04-26 08:09:25 +00:00
mkerrors all: fix more spelling errors 2018-10-25 16:53:05 -04:00