summaryrefslogtreecommitdiffstats
path: root/kbx/keybox.h
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2004-02-02 18:09:35 +0100
committerWerner Koch <wk@gnupg.org>2004-02-02 18:09:35 +0100
commit5bda9a8e74753da5d7ee912c32a0137ebce2abd8 (patch)
tree17d077c8da8a9cba7a1d9919f8021424fcbd9ece /kbx/keybox.h
parentFix copyright line. (diff)
downloadgnupg2-5bda9a8e74753da5d7ee912c32a0137ebce2abd8.tar.xz
gnupg2-5bda9a8e74753da5d7ee912c32a0137ebce2abd8.zip
* keybox.h (keybox_flag_t): New.
* keybox-search.c (get_flag_from_image, keybox_get_flags): New. (_keybox_get_flag_location): New. * certchain.c (gpgsm_validate_chain): Mark revoked certs in the keybox. * keylist.c (list_cert_colon): New arg VALIDITY; use it to print a revoked flag. (list_internal_keys): Retrieve validity flag. (list_external_cb): Pass 0 as validity flag. * keydb.c (keydb_get_flags, keydb_set_flags): New. (keydb_set_cert_flags): New. (lock_all): Return a proper error code. (keydb_lock): New. (keydb_delete): Don't lock but check that it has been locked. (keydb_update_keyblock): Ditto. * delete.c (delete_one): Take a lock.
Diffstat (limited to 'kbx/keybox.h')
-rw-r--r--kbx/keybox.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/kbx/keybox.h b/kbx/keybox.h
index 5a5ad2933..e4dc9d642 100644
--- a/kbx/keybox.h
+++ b/kbx/keybox.h
@@ -42,9 +42,19 @@ extern "C" {
# include <ksba.h>
#endif
+typedef struct keybox_handle *KEYBOX_HANDLE;
-typedef struct keybox_handle *KEYBOX_HANDLE;
+typedef enum
+ {
+ KEYBOX_FLAG_BLOB, /* The blob flags. */
+ KEYBOX_FLAG_VALIDITY, /* The validity of the entire key. */
+ KEYBOX_FLAG_OWNERTRUST, /* The assigned ownertrust. */
+ KEYBOX_FLAG_KEY, /* The key flags; requires a key index. */
+ KEYBOX_FLAG_UID, /* The user ID flags; requires an uid index. */
+ KEYBOX_FLAG_UID_VALIDITY/* The validity of a specific uid, requires
+ an uid index. */
+ } keyxox_flag_t;
/*-- keybox-init.c --*/
@@ -61,6 +71,7 @@ int keybox_set_ephemeral (KEYBOX_HANDLE hd, int yes);
#ifdef KEYBOX_WITH_X509
int keybox_get_cert (KEYBOX_HANDLE hd, ksba_cert_t *ret_cert);
#endif /*KEYBOX_WITH_X509*/
+int keybox_get_flags (KEYBOX_HANDLE hd, int what, int idx, unsigned int *value);
int keybox_search_reset (KEYBOX_HANDLE hd);
int keybox_search (KEYBOX_HANDLE hd, KEYBOX_SEARCH_DESC *desc, size_t ndesc);
@@ -73,6 +84,7 @@ int keybox_insert_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,
int keybox_update_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,
unsigned char *sha1_digest);
#endif /*KEYBOX_WITH_X509*/
+int keybox_set_flags (KEYBOX_HANDLE hd, int what, int idx, unsigned int value);
int keybox_delete (KEYBOX_HANDLE hd);