X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_dynamic.c;h=5c2d3d58f5484e0941026aad01769037789532bc;hb=7ca3c239d76ae7112c166f29c35e11620ba93d9f;hp=fa4b13b9fb6f9c01039e3246ad27360c7aad8c9f;hpb=3cdd1ba5400b97412d8e69fdcf59284b7cde6e28;p=onak.git diff --git a/keydb_dynamic.c b/keydb_dynamic.c index fa4b13b..5c2d3d5 100644 --- a/keydb_dynamic.c +++ b/keydb_dynamic.c @@ -198,6 +198,23 @@ static int dynamic_fetch_key_text(const char *search, return -1; } +static int dynamic_fetch_key_skshash(const struct skshash *hash, + struct openpgp_publickey **publickey) +{ + if (loaded_backend == NULL) { + load_backend(); + } + + if (loaded_backend != NULL) { + if (loaded_backend->fetch_key_skshash != NULL) { + return loaded_backend->fetch_key_skshash(hash, + publickey); + } + } + + return -1; +} + static int dynamic_iterate_keys(void (*iterfunc)(void *ctx, struct openpgp_publickey *key), void *ctx) { @@ -487,6 +504,7 @@ struct dbfuncs keydb_dynamic_funcs = { .endtrans = dynamic_endtrans, .fetch_key = dynamic_fetch_key, .fetch_key_text = dynamic_fetch_key_text, + .fetch_key_skshash = dynamic_fetch_key_skshash, .store_key = dynamic_store_key, .update_keys = dynamic_update_keys, .delete_key = dynamic_delete_key,