gpg: First patches to support a keybox storage backend.
authorWerner Koch <wk@gnupg.org>
Thu, 27 Dec 2012 14:04:29 +0000 (15:04 +0100)
committerWerner Koch <wk@gnupg.org>
Thu, 27 Dec 2012 14:04:42 +0000 (15:04 +0100)
commit91e61d52539b1808e209c43e51465c76cebb06f9
tree3ec3f91ece84ef574234df03eed9baf9b6b3b93f
parentf0b33b6fb8e0586e9584a7a409dcc31263776a67
gpg: First patches to support a keybox storage backend.

* kbx/keybox-defs.h (_keybox_write_header_blob): Move prototype to ..
* kbx/keybox.h: here.
* kbx/keybox-init.c (keybox_lock): Add dummy function
* g10/keydb.c: Include keybox.h.
(KeydbResourceType): Add KEYDB_RESOURCE_TYPE_KEYBOX.
(struct resource_item): Add field kb.
(maybe_create_keyring_or_box): Add error descriptions to diagnostics.
Add arg IS_BOX.  Write a header for a new keybox file.
(keydb_add_resource): No more need for the force flag.  Rename the
local variable "force" to "create".  Add URL scheme "gnupg-kbx".  Add
magic test to detect a keybox file.  Add basic support for keybox.
(keydb_new, keydb_get_resource_name, keydb_delete_keyblock)
(keydb_locate_writable, keydb_search_reset, keydb_search2): Add
support for keybox.
(lock_all, unlock_all): Ditto.
* g10/Makefile.am (needed_libs): Add libkeybox.a.
(gpg2_LDADD, gpgv2_LDADD): Add KSBA_LIBS as a workaround.

* g10/keydb.h (KEYDB_RESOURCE_FLAG_PRIMARY)
KEYDB_RESOURCE_FLAG_DEFAULT, KEYDB_RESOURCE_FLAG_READONLY): New.
* g10/gpg.c, g10/gpgv.c (main): Use new constants.
--

I did most of these changes back in 2011 and only cleaned them up
now.  More to follow soon.
g10/Makefile.am
g10/gpg.c
g10/gpgv.c
g10/keydb.c
g10/keydb.h
kbx/keybox-defs.h
kbx/keybox-init.c
kbx/keybox.h