Diffusion GnuPG f4da1455c7ab

kbx: Initial support for an SQLite backend

Authored by werner on Jan 2 2020, 2:21 PM.

Description

kbx: Initial support for an SQLite backend

* kbx/backend-sqlite.c: New.
* kbx/Makefile.am (keyboxd_SOURCES): Add it.
(keyboxd_CFLAGS, keyboxd_LDADD): Add SQLite flags.
* kbx/backend.h (enum database_types): Add DB_TYPE_SQLITE.
(be_sqlite_local_t): New typedef.
(struct db_request_part_s): Add field besqlite.
* kbx/backend-support.c (strdbtype): Add string for DB_TYPE_SQLITE.
(be_generic_release_backend): Support SQLite.
(be_release_request): Ditto.
(be_find_request_part): Ditto.
(is_x509_blob): Rename to ...
(be_is_x509_blob): this and make global.
* kbx/frontend.c (kbxd_set_database): Detect ".db" suffix and use that
for SQLite.
(kbxd_search): Support SQLite
(kbxd_store): Ditto.
(kbxd_delete): Ditto.
* kbx/frontend.h (kbxd_store_modes): Move to ...
* kbx/keyboxd.h (enum kbxd_store_modes): here.
* kbx/keyboxd.c (main): USe pubring.db for now.  This is a temporary
hack.
* kbx/backend-kbx.c (be_kbx_delete): Remove unused var cert.

Take care: This is not finished and in particular filling the database
takes quite long.

  • Signed-off-by: Werner Koch <wk@gnupg.org>

Details

Committed
wernerJan 2 2020, 2:21 PM
Parents
rGa230bac33966: Update wk's signing key
Branches
Unknown
Tags
Unknown